Защита PHP скриптов

теги: php  Разработка  Тестирование   Раздел: PHP

Защита скриптов всегда стояла на одном из первых мест в программировании для сайтов.
Многие из нас старались проверить только некоторые данные, допустим авторизация, проверяли только пары логин\пароль и только. А ведь на самом деле - страшная ошибка! Смотрите сами при проверке только этой пары на банальное соответствие "слов", сначала кажется, что все хорошо, что проверка есть и авторизуются только нужные пользователи. А ведь есть SQL-инъекции, с помощью которых взломщик может подломать вам жизнь. Как спросите вы, достаточно просто. Вы проверяете в скрипте только пары на соответствие, а сами данные от пользователя не проверяете, а зря. Именно этим и может воспользоваться злоумышленник. Если он обнаружит то что у вас нет такой проверки, а обнаружить можно простой подстановкой в поле логина символа '  вроде и просто, а скрипт выведет ошибку при запросе к БД к примеру такую "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near". 

Ну и все, злоумышленник теперь знает хоть и небольшую но лазейку чтобы подломать ваш сайт.

Хотите защитить ваши скрипты и сайт от злоумышленников? Если да, то никогда не доверяйте введенной информации от пользователей, да что от пользователей даже от себя, от своих ошибок. Человеческий фактор всегда есть и никуда нам от него не деться. Каждое поле для заполнения должно быть проверено. Как? Ну тут уж на ваше усмотрение. Если проверяете e-mail, так проверяйте на наличие нужных вам символов и знаков, лучше проверять регулярными выражениями почему именно ими, во-первых запись такой проверки занимает минимум символов в коде, нежели запись условиями, которые могут запутать логику скрипта да и вас в том числе. Если ввод числа так на наличие в строке именно чисел. Думаю тут все понятно. Проверяйте HTML теги и наличие скриптов в записи, если это форма для комментариев.

Проверять следует не только вводимые данные от пользователей, а так же и данные которые передаются в адресной строке, так же методами GET и POST. 

Помните, что лучше потратить время на проверку, чем потом сидеть у "разбитого корыта", когда ваш сайт сломают. Пытайтесь не делать больших проверок там где нужны минимальные, пользуйтесь регулярными выражениями, они помогут вам быстрее проверить данные, а так же оптимизировать ваши скрипты и снизить размеры ваших скриптов.

Помните! Защита ваших скриптов лежит на ваших плечах. Не забывайте проверять данные от пользователей ибо они не всегда корректно вводят данные в поля.

Удачи в написании скриптов, защите данных, и проверок на вводимые данные.

Написана: 10.01.2011 00:00 | Просмотров: 226
Никто не удосужился оставить свой след. Ты можешь стать первым!
Автор
Email
Комментарий
Введите код c картинки: