Size: a a a

2020 April 07

AK

Andrey Konovalov in Modern::Perl
Суть taint'а же правильная: пока ты не посмотрел, что тебе там приехало, нельзя ничего предполагать. Особенно когда внешние данные забираются каким-нибудь readline или "прочитай мне всё"
источник

AP

Anton Petrusevich in Modern::Perl
т.е. для остальных случаев use strict; use warnings; просто безусловно включать
источник

AP

Anton Petrusevich in Modern::Perl
Andrey Konovalov
Суть taint'а же правильная: пока ты не посмотрел, что тебе там приехало, нельзя ничего предполагать. Особенно когда внешние данные забираются каким-нибудь readline или "прочитай мне всё"
кто-то спорит? ну вот ты посмотрел, что ты делаешь дальше?
источник

AP

Anton Petrusevich in Modern::Perl
ты обязан пришедший скаляр для дальнейших операций антейнтнуть. как ты это делаешь?
источник

AK

Andrey Konovalov in Modern::Perl
Anton Petrusevich
ты обязан пришедший скаляр для дальнейших операций антейнтнуть. как ты это делаешь?
Матчу регуляркой, вытаскиваю какой-нить $1
источник

AP

Anton Petrusevich in Modern::Perl
Andrey Konovalov
Матчу регуляркой, вытаскиваю какой-нить $1
вот-вот. а можно ж было после проверки просто скинуть флаг тайнта
источник

b

basiliscos in Modern::Perl
Oleg Volkov
s/loosing/losing/
👍, tnx
источник

S

Sergey in Modern::Perl
Andrey Konovalov
Но идея была правильная: нельзя просто пользоваться данными извне
Нет. Просто как пример - ни один другой язык такую фигню не сделал, хотя пример у них был. Почему?
источник

AK

Andrey Konovalov in Modern::Perl
Sergey
Нет. Просто как пример - ни один другой язык такую фигню не сделал, хотя пример у них был. Почему?
Вообще-то нет
источник

AK

Andrey Konovalov in Modern::Perl
Все типизированные языки именно это и делают. На входе у тебя в лучшем случае string будет
источник

AK

Andrey Konovalov in Modern::Perl
А чтобы им пользоваться - нужно выцепить кусок и попытаться распарсить во что-то. Например, в int или в структуру из json, причём обычно поля не могут абы какими. Тот же JSON:Any в Crystal хоть и есть, но работает медленно, так что мало кто пользуется им в нагруженных приложениях.
источник

AP

Anton Petrusevich in Modern::Perl
Sergey
Нет. Просто как пример - ни один другой язык такую фигню не сделал, хотя пример у них был. Почему?
на самом деле в том или ином виде подобные вещи обрабатываются везде. джейсон-схемы не просто так придуманы были, в шаблонах подставить "сырое" значение часто тоже надо извернуться
источник

VG

Vadim Goncharov in Modern::Perl
Anton Petrusevich
strict вообще я бы только в коммандлайн режиме разрешил отключать... :)
легасня отвалится ))
источник

AP

Anton Petrusevich in Modern::Perl
ну ясно дело
источник

AP

Anton Petrusevich in Modern::Perl
я скорее подход демонстрировал, чем реально требовал :)
источник

S

Sergey in Modern::Perl
Anton Petrusevich
на самом деле в том или ином виде подобные вещи обрабатываются везде. джейсон-схемы не просто так придуманы были, в шаблонах подставить "сырое" значение часто тоже надо извернуться
Это вообще не про то, что делает taint. Это то, что думают, что он делает.
источник

AP

Anton Petrusevich in Modern::Perl
Sergey
Это вообще не про то, что делает taint. Это то, что думают, что он делает.
ты расшифруй мысль, а то непонятно что сказал то
источник

R

Roman in Modern::Perl
Sergey
Нет. Просто как пример - ни один другой язык такую фигню не сделал, хотя пример у них был. Почему?
Потому, что конкурентов у Перла на поприще веба в те времена практически не было.
А борется taint с неконтроллируемым исполнением программ и доступом к файлам.
источник

НЛ

Николай Ласточкин in Modern::Perl
Anton Petrusevich
strict вообще я бы только в коммандлайн режиме разрешил отключать... :)
Меня как-то переклинило и я начал strict пихать везде, где можно)
источник

VG

Vadim Goncharov in Modern::Perl
Николай Ласточкин
Меня как-то переклинило и я начал strict пихать везде, где можно)
в командной строке штоли? :)
источник