HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
 
 
Опции темы Поиск в этой теме Опции просмотра

Защита от SQL-enjection
  #1  
Старый 03.01.2007, 22:01
je0n
Постоянный
Регистрация: 14.05.2006
Сообщений: 334
С нами: 10522103

Репутация: 272
По умолчанию Защита от SQL-enjection

Короче нужна такая функция, которай я передаю переменную, а она ее обрабатывает и делает безопасной от XSS и SQL-enjection. Функция должна изменять переменную в своем теле (по ссылке), и если переменная была опасна вернуть TRUE иначе FALSE.
Вот что получилось у меня:
Код:
<?php
function filter(&$value)
{
  $b=FALSE;
  if(strpos($value,"'"))
  {
    $value=str_replace("'","",$value);
    $b=TRUE;
  }
  if(strpos($value,";"))
  {
    $value=str_replace(";","",$value);
    $b=TRUE;
  }
  if(strpos($value,"/"))
  {
    $value=str_replace("/","",$value);
    $b=TRUE;
  }
  if(strpos($value,"<"))
  {
    $value=str_replace("<","",$value);
    $b=TRUE;
  }
  if(strpos($value,">"))
  {
    $value=str_replace(">","",$value);
    $b=TRUE;
  }
  return $b;
}
?>
Ну а юзать эту функцию премерно вот так:
Код:
$name=$_POST["name"];
if(filter($name))
{echo "you cant use symbols ',/ here";exit;}
Тока не говорите нафига изменять переменную, если все равно выхожу из скрипта (exit; ). Это на тот случай если выходить не прийдеться, а еще и юзать дальше эту переменную. Ведь я не знаю как дальше будет развиваться все остальное, ради чего я и пишу этот скрипт.
Я фигово разбираюсь во всех атаках, поэтому прошу добавить/исправить код, чтобы он был неуязвим )) даже в том случае, если эту переменну прийдеться использовать дальше как в БД, так и выводить в страницу.
 
Ответить с цитированием
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.