Страница 1 из 1

Безопасность скриптов, защита от инъекций, XSS (php, sql)

Добавлено: 20 окт 2013, 13:50
Александр
Не урок, но очень полезная заметка для начинающих. Может быть когда-нибудь дополню информацией.
Тему создал для того чтобы ссылаться на неё из других тем.
Когда писал уроки, думал не перенагружать их лишними проверками, но на деле мало кто из начинающих задумывается о безопасности и просто "лепит" что попало.

Важное правило: Проверяйте все данные, которые получаете от пользователя (_GET, _POST, _COOKIE, _SERVER и т.п.).

Ожидаете получить число - приводите к числовому типу (int).
Ожидаете получить строку и использовать её в sql-запросе - проверяйте, что строка не повлияет на запрос. Экранируйте кавычки, заменяйте спецсимволы и т.п.
Если выводите данные полученные от пользователя - убедитесь, что это не повлияет на верстку, экранируйте кавычки, заменяйте спецсимволы и т.п.
Думайте головой, пользователь может передать вашему скрипту совсем не то, что вы ожидаете.

Если вы не хотите чтобы ваш код был взломан, то гуглите и изучайте темы "безопасность php", "безопасность sql", "php sql инъекция", "php sql уезвимость", "xss" и т.п. Вместо php и sql подставляйте язык, на котором вы программируете.

Тема безопасности требует отдельного изучения. Информации в интернете полно.

Если кто-то хочет дополнить тему советами, то пишите прямо здесь.

Re: Безопасность скриптов, защита от инъекций, XSS (php, sql)

Добавлено: 20 окт 2013, 17:49
cibersant
А вообще пользуйтесь фрэймворками.

Re: Безопасность скриптов, защита от инъекций, XSS (php, sql)

Добавлено: 20 окт 2013, 18:53
Serge
cibersant
залейте 30 мб на сервер и уменьшите производительность.

На работе есть своя CMS, написанная на чистом php + Smarty (шаблонизатор) без фреймворков. И всё равно стоит вопрос - а можно проще? Зачем лишний раз нагружать систему?

Re: Безопасность скриптов, защита от инъекций, XSS (php, sql)

Добавлено: 30 янв 2015, 09:52
Полный ноль
http://www.phpfaq.ru/slashes - Про безопасность тут читал, может кому пригодится.