Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Функция фильтрующая возможные атаки
 
 автор: fxsektor   (17.01.2008 в 01:21)   письмо автору
 
 

Существует ли функция, пропустив через которую переменные можно защититься от:
XSS атак
SQL иньекций
"лишних символов" - имеются ввиду символы типа "<php" и т.д.
Спасибо

   
 
 автор: Sobachka   (17.01.2008 в 01:31)   письмо автору
 
   для: fxsektor   (17.01.2008 в 01:21)
 

XSS
<?php
$var 
htmlspecialchars($var,ENT_QOUTES);
?>

MySQL:
<?php
$var 
mysql_escape_string($var);
?>

   
 
 автор: cheops   (17.01.2008 в 02:50)   письмо автору
 
   для: Sobachka   (17.01.2008 в 01:31)
 

В случае SQL-инъекции нужно также обратить внимание на тип параметра, если это число, то лучше воспользоваться преобразованием
<?php
  $number 
intval($number);
?>

Если это строка, то тогда следует обработать её следующим образом
<?php
  
if (!get_magic_quotes_gpc())
  {
    
$text mysql_escape_string($text);
  }
?>

   
 
 автор: Петр   (17.01.2008 в 08:34)   письмо автору
 
   для: cheops   (17.01.2008 в 02:50)
 

Еще следует в строке проверять наличие недопустимых символов. т.е. удалять все кроме допустимых!
регулярным выражением или другими строковыми функциями.
В запросе лучше ставить кавычки перед параметрами, например:
SELECT * FROM table WHERE field1='name' AND field2='5'

   
 
 автор: bronenos   (17.01.2008 в 10:23)   письмо автору
 
   для: Sobachka   (17.01.2008 в 01:31)
 

$var = htmlspecialchars($var,ENT_QUOTES);

   
 
 автор: Loki   (17.01.2008 в 10:17)   письмо автору
 
   для: fxsektor   (17.01.2008 в 01:21)
 

О! Ищеццо еще один универсальный рецепт? Ну-ну...

   
 
 автор: fxsektor   (17.01.2008 в 13:37)   письмо автору
 
   для: Loki   (17.01.2008 в 10:17)
 

Что ты имеешь ввиду? Хош сказать такого не бывает?

   
 
 автор: Loki   (17.01.2008 в 15:22)   письмо автору
 
   для: fxsektor   (17.01.2008 в 13:37)
 

Разумеется не бывает. Данные обрабатываются определенным образом в зависимости от того, что с ними дальше планируется делать.

   
 
 автор: Unkind   (17.01.2008 в 15:34)   письмо автору
 
   для: fxsektor   (17.01.2008 в 01:21)
 

> "лишних символов" - имеются ввиду символы типа "<php" и т.д.
И в чем это символы "<", "p" и "h" провинились, а? :angry:

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования