Защита от SQL инекции в скрипте ff
Приветствую всех фермеров. Продолжаем серию статей по защите скрипта фруктовой фермы .
Как из названия ясно говорить мы будем о том как защитить ферму от инекции .Инекции как правило выполняются через формы ввода данных; таких как чат , тикет, отзывы.
Что представляет собой sql инекция это запрос выполняемый через поля ввода данных и нацеленный на то, что бы узнать какие либо данные.
Почему так получается?
Потому, что при разработке скриптов, разработчики зачастую забывают( а может быть и лениться) про безопасность. В нашем случае про фильтрацию вводимых значений.
К примеру поле ввода логина должно содержать латинские буквы и цифры и запрещать все прочее.
В данном случае я предлагаю вам простой код который поможет защитить вашу ферму. Конечно он не гарантирует 100% защиты, но все же это лучше, чем ничего.
Для того , что бы установить код идем в корневой каталог вашего сайта , открываем файл index.php и сразу после;
<?PHP
Вставляем данный код;
error_reporting(0); // вывод ошибок
if($_GET['menu']!='admin' && 'support'){
function limpiarez($mensaje){
$mensaje = htmlspecialchars(trim($mensaje));
$mensaje = str_replace("'","?",$mensaje);
$mensaje = str_replace(";","¦",$mensaje);
$mensaje = str_replace("$"," USD ",$mensaje);
$mensaje = str_replace("<","?",$mensaje);
$mensaje = str_replace(">","?",$mensaje);
$mensaje = str_replace('"',"”",$mensaje);
$mensaje = str_replace("%27"," ",$mensaje);
$mensaje = str_replace("0x29"," ",$mensaje);
$mensaje = str_replace("& amp ","&",$mensaje);
return $mensaje;
}
foreach($HTTP_POST_VARS as $i => $value){$HTTP_POST_VARS[$i]=limpiarez($HTTP_POST_VARS[$i]);}
foreach($HTTP_GET_VARS as $i => $value){$HTTP_GET_VARS[$i]=limpiarez($HTTP_GET_VARS[$i]);}
foreach($_POST as $i => $value){$_POST[$i]=limpiarez($_POST[$i]);}
foreach($_GET as $i => $value){$_GET[$i]=limpiarez($_GET[$i]);}
foreach($_COOKIE as $i => $value){$_COOKIE[$i]=limpiarez($_COOKIE[$i]);}
foreach($HTTP_POST_VARS as $i => $value){$HTTP_POST_VARS[$i]=stripslashes($HTTP_POST_VARS[$i]);}
foreach($HTTP_GET_VARS as $i => $value){$HTTP_GET_VARS[$i]=stripslashes($HTTP_GET_VARS[$i]);}
foreach($_POST as $i => $value){$_POST[$i]=stripslashes($_POST[$i]);}
foreach($_GET as $i => $value){$_GET[$i]=stripslashes($_GET[$i]);}
foreach($_COOKIE as $i => $value){$_COOKIE[$i]=stripslashes($_COOKIE[$i]);}
################## Фильтрация всех POST и GET #######################################
function filter_sf(&$sf_array)
{
while (list ($X,$D) = each ($sf_array)):
$sf_array[$X] = limpiarez(mysql_escape_string(strip_tags(htmlspecialchars($D))));
endwhile;
}
filter_sf($_GET);
filter_sf($_POST);
#####################################################################################
function anti_sql()
{
$check = html_entity_decode( urldecode( $_SERVER['REQUEST_URI'] ) );
$check = str_replace( "", "/", $check );
$check = mysql_real_escape_string($str);
$check = trim($str);
$check = array("AND","UNION","SELECT","WHERE","INSERT","UPDATE","DELETE","OUTFILE","FROM","OR","SHUTDOWN","CHANGE","MODIFY","RENAME","RELOAD","ALTER","GRANT","DROP","CONCAT","cmd","exec");
$check = str_replace($check,"",$str);
if( $check )
{
if((strpos($check, '<')!==false) || (strpos($check, '>')!==false) || (strpos($check, '"')!==false) || (strpos($check,"'")!==false) || (strpos($check, '*')!==false) || (strpos($check, '(')!==false) || (strpos($check, ')')!==false) || (strpos($check, ' ')!==false) || (strpos($check, ' ')!==false) || (strpos($check, ' ')!==false) )
{
$prover = true;
}
if((strpos($check, 'src')!==false) || (strpos($check, 'img')!==false) || (strpos($check, 'OR')!==false) || (strpos($check, 'Image')!==false) || (strpos($check, 'script')!==false) || (strpos($check, 'jаvascript')!==false) || (strpos($check, 'language')!==false) || (strpos($check, 'document')!==false) || (strpos($check, 'cookie')!==false) || (strpos($check, 'gif')!==false) || (strpos($check, 'png')!==false) || (strpos($check, 'jpg')!==false) || (strpos($check, 'js')!==false) )
{
$prover = true;
}
}
if (isset($prover))
{
die( "Попытка атаки на сайт или введены запрещённые символы!" );
return false;
exit;
}
}
anti_sql();
}
Вот в принципе и все. Удачных вам заработков.
!!!ВНИМАНИЕ!!! Данный материал предоставлен сайтом f-ferma.ru исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое!"
Похожие публикации
Общее что такое и зачем SSL-сертификата,как выбрать хост,как не обложаться в хайпе и нормально вложить.
Для того , чтобы установить ферму нам нужно загрузить все файлы на сервер. Самый удобный способ загрузить архив фермы, а потом его распаковать в корневой каталог сайта.
Вечер добрый всем фермерам и тем кто собирается пополнить наши ряды. Сегодня прогуляемся ещё по одной теме защиты в скрипте фруктовой фермы А точнее о защите пользователей. На мой взгляд, чтоб было меньше проблем нужно позаботится о том, чтобы пользовательские данные были защищены.
Сегодня начинаю публиковать небольшой раздел в 5-6 тем про защиту скрипта ff. Многие фермеры сталкиваются в первую очередь с проблемой безопасности в скриптах фруктовых ферм. Меня взломали, зашли в админку. А все почему потому, что нужно сразу прикрывать все дыры. Ну и сегодня мы поговорим о том, как защитить админку в скрипте фруктовой фермы.
Комментарии
Добавить комментарий
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Топ
Комментарии
Архив
Скрипт финансовых офферов под микрозаймы
warstorycccp, это больше вопрос к администрации сайта. Тут нельзя редактировать или удалять свои посты. Еще раз, ранее
Videohom.ru, А смысл держать тогда запись о бесплатном "скрипт" на сайте, если его скачать нельзя? Разве что просто для
warstorycccp,скрипт полностью переписан и более не доступен в бесплатной версии. Подробную информацию о скрипте можно
не получается скачать файл.
« Ноябрь 2024 » | ||||||
---|---|---|---|---|---|---|
Пн | Вт | Ср | Чт | Пт | Сб | Вс |
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 |