Вы хотите отреагировать на этот пост ? Создайте аккаунт всего в несколько кликов или войдите на форум.


 
ФорумФорум  Последние изображенияПоследние изображения  ПоискПоиск  РегистрацияРегистрация  Вход  
Поиск
 
 

Результаты :
 
Rechercher Расширенный поиск
Последние темы
» Подтверждение о прочтении
PHP. Фильтрация данных Emptyавтор worker8281 Сб Дек 27, 2014 1:05 pm

» Проблема с сессией
PHP. Фильтрация данных Emptyавтор Murphy Ср Дек 03, 2014 5:20 pm

» Нужнга настройка SugarCRM
PHP. Фильтрация данных Emptyавтор iliandr777 Пн Ноя 10, 2014 2:28 pm

» Отображение записей (адресатов) в списках адресатов
PHP. Фильтрация данных Emptyавтор FatherMother Пн Авг 25, 2014 12:21 pm

» Нужен совет. Модуль с множеством одинаковых субпанелей.
PHP. Фильтрация данных Emptyавтор Павел Пн Июл 28, 2014 12:55 pm

» Нужна помощь с опенкартом
PHP. Фильтрация данных Emptyавтор manux86 Вс Фев 02, 2014 10:45 am

» вопрос работы насчет СУГАР на сервере
PHP. Фильтрация данных Emptyавтор Meiir2 Пт Янв 31, 2014 8:46 am

» Интеграция с Google календарем от компании "Куб Три"
PHP. Фильтрация данных Emptyавтор Dmitry.bereza Ср Авг 14, 2013 10:29 am

» настройка воронки продаж
PHP. Фильтрация данных Emptyавтор EkaterinaGolovina Чт Июн 13, 2013 12:14 pm

Апрель 2024
ПнВтСрЧтПтСбВс
1234567
891011121314
15161718192021
22232425262728
2930     
КалендарьКалендарь
Баннеры
Яндекс цитирования статистика
Поддержка проекта
41001634550309

 

 PHP. Фильтрация данных

Перейти вниз 
АвторСообщение
Admin
Admin



Сообщения : 74
Очки : 71
Дата регистрации : 2010-08-23

PHP. Фильтрация данных Empty
СообщениеТема: PHP. Фильтрация данных   PHP. Фильтрация данных EmptyПт Сен 10, 2010 3:22 am

Самом важным пунктом безопасности веб-сайта является проверка всех поступающих в запросы к базе данных, поэтому стоит всегда проверять данные, вводимые пользователем в формы поиска, заполнения полей регистрации и так далее на наличие «опасных» данных. Это может быть вредоносный JavaScript код, PHP или PERL команды, а так же что самое опасное – это команды серверу. Говорить о возможностях опытного хакера, которому попалась не проверяемое поле на сайте просто глупо – он сможет всё! Начиная от устанвки редиректа и заканчивая полным гоном или выводом из строя сервета.

Всегда помните, что абсолютно любой пользователь – это опасность для незащищенного сайта, поэтому всегда стоит проверять запросы и переменные от пользователя.

Основные этапы:

1) Анализ переменных, точнее массивов POST и GET;

2) Разделение переменных;

3) Фильтрация строковых переменных


1 этап. Анализ переменных
Проверяйте входящие переменные в самом начале скрипта, не допускайте до работы с функциями и запросами к базе данных ещё не проверенные, потенциально опасные данные от пользователей. Таким образом, все необходимые для защиты функции будуд находиться в одном определённом месте или даже файле.

Пример:
Код:
$a1=@$_GET["nomer"]; Символ @ применяется для «игнорирование» интерпритатором ошибок в случае отсутствия переменной nomer в массиве GET.

2 этап. Разделение переменных
Абсолютно каждая переменная в скрипте должна на стадии проектирования уже иметь свой тип, будь это число или строка. Лучше всего проверять переменные на необходимый ей тип, например:

Тип нашей переменной целое число, тогда для фильтрации данных достачно сделать приведение переменную $a1 к целому типу:
Код:

$a1=@$_GET["nomer"];

 $a1=intval($a1);


Например злоумышленник ввел в строке запроса ?nomer=43X34 в результате обработки переменная $a1 примет значение 43.

Нельзя забывать о диапазонах значений. Для этого следует проверить переменную на диапазон. Пусть $a1 находится в пределе от 1 до 100, тогда проверка будет следующей:
Код:

if (($a1<1)||($a1>100)) $a1=1;


Из примера видно, что происходит принудительная установка переменной $a1 в значение 1 в случае нарушения.

3 этап. Фильтрация строковых переменных
Особо опасны текстовые переменные, например поле для ввода поисковой фразы по сайту. Их просто необходимо проверять на наличие вредоносного кода. Для устранения опасности производится удаление некоторых элементов из текста или замена на другие символы.

Обычно удаляются html теги, php вставки и конструкции для изменения запросов к базе MySQL.
Код:

$a1=htmlspecialchars($a1,ENT_QUOTES,"cp1251");

 $a1=str_replace("update","",$a1);
Вернуться к началу Перейти вниз
https://easy-sugarcrm.forum2x2.ru
 
PHP. Фильтрация данных
Вернуться к началу 
Страница 1 из 1
 Похожие темы
-
» Не работает экспорт данных в SugarCrm?
» Можно ли настроить Sugar CRM на автоматическое создание backup Sugar и backup самой базы данных?

Права доступа к этому форуму:Вы не можете отвечать на сообщения
 :: PHP - статьи, советы-
Перейти: