Size: a a a

2017 November 24

h🐴

h0rsie 🐴 in phpGeeksJunior
пишешь в базу - юзай prepared statments, выводишь на страницу - шаблонизатор с htmlencode, передаешь в js - оберни в json_encode, передаешь в урле - urlencode()  и т.д.
источник

UM

Umid Musaev in phpGeeksJunior
h0rsie 🐴
пишешь в базу - юзай prepared statments, выводишь на страницу - шаблонизатор с htmlencode, передаешь в js - оберни в json_encode, передаешь в урле - urlencode()  и т.д.
Понял. Спасибо!
источник

h🐴

h0rsie 🐴 in phpGeeksJunior
при этом санитайз не надо путать с валидацией
источник

h🐴

h0rsie 🐴 in phpGeeksJunior
валидировать данные и сообщать об ошибках юзеру надо как можно раньше
источник

h🐴

h0rsie 🐴 in phpGeeksJunior
на клиенте и на сервере
источник

h🐴

h0rsie 🐴 in phpGeeksJunior
но валидация это доменная логика - т.е. она зависит только от приложения, только приложение и твоя область знаний определяет, что такое "валидный ввод"
источник

h🐴

h0rsie 🐴 in phpGeeksJunior
а кодировка это транспортный уровень - уровень передачи данных из слоя в слой, он не зависит от приложения
источник

M

Maestro in phpGeeksJunior
хм интересный подход
источник

M

Maestro in phpGeeksJunior
тоесть исходя из вашей логики входящие данные ненужно очищать проверять на xss и всякую другую штуку?
источник

M

Maestro in phpGeeksJunior
а если старый проект и не используется PDO ?
источник

h🐴

h0rsie 🐴 in phpGeeksJunior
Maestro
тоесть исходя из вашей логики входящие данные ненужно очищать проверять на xss и всякую другую штуку?
это вопрос валидации. что доменная логика говорит? если по смыслу юзер должен ввести число, то не стоит пропускать буквы. если просто текст - то зачем вставать на пути у юзера и неожиданно подменять его ввод, когда он об этом не просил
источник

M

Maestro in phpGeeksJunior
ну логично
источник

M

Maestro in phpGeeksJunior
я не спорю ) я интересуюсь)
источник

h🐴

h0rsie 🐴 in phpGeeksJunior
Maestro
а если старый проект и не используется PDO ?
правила те же самые: есть доменный уровень, а есть транспортный
источник

h🐴

h0rsie 🐴 in phpGeeksJunior
надо применять правила кодирования сообразно уровню
источник

h🐴

h0rsie 🐴 in phpGeeksJunior
если не используется pdo, юзайте другие prepared statements, mysqli их тоже поддерживает
источник

M

Maestro in phpGeeksJunior
а есть где почитать про это более подробно, больно заинтересовало меня эта тема
источник

h🐴

h0rsie 🐴 in phpGeeksJunior
если никаких нету, то приложение практически наверняка уже уязвимо к sql injection
источник

h🐴

h0rsie 🐴 in phpGeeksJunior
Maestro
а есть где почитать про это более подробно, больно заинтересовало меня эта тема
OWASP
источник

h🐴

h0rsie 🐴 in phpGeeksJunior
или про что именно?
источник