Привет форумчане!
Когда решил написать с нуля интернет магазин, а не мучаться с престашопами, опенкартами, джумлами и их модулями, пренебрег защитой сайта в следствии чего было два раза взломан.
Читал, что если голые инпуты, то можно просто и легко взломать просто написав код прямо в строку. Везде пишут, что нужно использовать различные функции типо trim()
Скажите, а работает защита если использовать только атрибут html pattern="регулярное выражение", который задает формат ввода и не пускает различные скобки, вопросы, доллары и так далее?
С уважением, Павел
1. zapatronen - 22 Июня, 2017 - 11:47:10 - перейти к сообщению
2. Строитель - 22 Июня, 2017 - 11:55:02 - перейти к сообщению
zapatronen, нет. Нужно обязательно фильтровать входящие данные на стороне сервера.
3. Мелкий - 22 Июня, 2017 - 11:56:54 - перейти к сообщению
zapatronen пишет:
работает защита если использовать только атрибут html pattern="регулярное выражение"
Нет, разумеется.
Есть всего одна ошибка: не думать при написании кода.
Всего-то ничего и нужно для большинства приложений:
- никогда не конкатенировать данные с текстом запроса
- никогда не выводить в html данные как есть, без htmlspecialchars. Если только вам - действительно не надо выводить кусок HTML.
- не использовать GET-запросы для изменения состояния системы
- использовать CSRF токен для всех запросов, изменяющих состояние системы
4. zapatronen - 22 Июня, 2017 - 12:08:59 - перейти к сообщению
Понял ребята, спасибо приступаю к работе!