Всем привет. У меня есть вопрос на счет безопасности. Я сначала экранирую данные через prepare, execute. А с базы данные вывожу с слабеньким фильтром типа htmlspecialchars и тд. Правильно я делаю?. Так-же, можно ли написать фильтр в котором будет записан список разрешенных знаков, и если при проверке переменной через этот фильтр в ней присутствуют неразрешенные знаки - они вырезаются!?
изначально конвертировать спецсимволы в их асии эквивалент, и так и писать в бд, и больше не парится с постоянной фильтрацией этих данных на выводе.
писать в чистом виде используя внутреннее экранирование мускул надо разве что при записи чистого хтмл в бд (виз редакторы например)
железного правила не существует, однако логика подсказывает, что гораздо выгоднее фильтровать всего один раз при записи, чем бесконечное кол-во раз на выводе.
допустим 20 постов просмотренны 1000ей чеговек.
20000 раз будет фильтрация применена
помнится когда то был мотор 14))
если вы уверены что вам не придется менять структуру этих самых данных, то ни одного "за" хранения в чистом виде не найдется.
все доводы сводятся к одному: можно потом изменить алгоритм вывода.
Добавлено через 01:59 сек.
Ну современные фреймворки практикуют хранение в бд без обработки, удобнее редактировать обрабатывать итд
Да понятно конечно что так более накладно
Vantuz, Ну у меня простенькая самописная онлайн игра на pdo. Стоит ли переписывать весь код на фильтрацию при вводе? А при выводе с данными ничего делать не надо будет? И лучше фильтровать htmlspecialchars() или по другому?
Добавлено через 01:09 сек. ramzes, пост 8 вам тоже)
ramzes, да, но у меня чат, форум, почта. Если хорошо раскрутить игру, то нагрузка наверное сильно возрастет? Переписать для меня не составит труда. Главное нормальный фильтр сделать и точно знать что безопасность повысится.
Для выполнения действия необходимо авторизоваться!