Скрипт HasoidMS

Характеристика
Лицензия
Документация
История версий
Скачать

Скрипт SpyCounter

SpyCounter - Описание
SpyCounter - Документация
SpyCounter - Скачать

Программы

YAsoid - Проверка индексации
MapGen - генератор карты сайта

Услуги

PHP, MySQL программы

Плагины Zcasher

Новинка! Флешевый игровой зал
Анти Хакер
Хостинг для почтовиков
Брутальный билет
Колесо удачи
РобоКасса

Плагины от Пашойда

Автоматический Обмен Валют
Авторизация по WMID
Бонус за активного реферала
Мини-Казино
Оплата переходов по реф-ссылке
Плагин Анекдоты
Подтверждение реги по WMID
Полуавтоматические выплаты
Пополнение PIN-кодом
WebMoney Бонус

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

Заработок в интернет

Заработок Интернет. Введение
Шаг 1. Платежные системы
Шаг 2. Первый заработок
Шаг 3. Безопасная среда Linux

Все о 1С

1C. Параметры командной строки
1C. Выбор в группе

Безопасность

Антивирус Comodo
XSS продвижение

Язык PHP

PHP. Выборка из таблицы
PHP. Информация о посетителе
PHP. Информация о сайте
PHP. Скрываем HTTP_REFERER
PHP. Текcт на картинку
PHP. Фильтрация данных
PHP. ЧПУ для сайта
PHP. Кеширование

Мелкие хитрости

Безопасная работа с почтовиками
Загрузочная флешка
Обуздать IE7
Рекомендованные ресурсы
Virtualbox создание клонов дисков

Изучение CISCO

Начальное конфигурирование Cisco

Безопасность сайта во многом зависит от фильтрации данных поступающих со стороны пользователя. Любой пользователь является заведомо опасным объектом, который может причинить вред намеренно или случайно.
Для повышения безопасности сайта следует проверять все входные переменные на достоверность.
Основные этапы:
1) Чтение переменных из массивов POST, GET и других;
2) Разделение переменных по типам и приведение их к нужным типам;
3) Фильтрация строковых переменных
-1 Этап
Чтение переменных лучше всего производить в начале скрипта. Тем самым все операции будут находится в одном месте и позволят более просто найти какую-либо недоработку или ошибку.
Пример: $a1=@$_GET["nomer"]; Символ @ применяется для принудительной заглушки ошибок в случае отсутствия переменной nomer в массиве GET.
-2 Этап
Каждая переменная изначально должна иметь свой тип: число, строка, символ, дата или другой. Все типы оговариваются на стадии проектирования программы и входные переменные должны быть строго соответствовать необходимым типам.
Пусть в 1 примере тип переменной целое число, тогда для фильтрации данных достачно сделать приведение переменную $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);

В 1 строке применяется функция преобразования html тегов в сущности(коды).
Далее вырезается оператор MySQL update. Подобным образом можно вырезать любые подозрительные элементы.Сайт управляется HasoidCMS


       

© 2007- 2012 Hasoid.ru. Использование материалов сайта разрешается только при указании ссылки на статью!
Hosts:62
Hits:192