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

  #31  
Старый 02.01.2008, 03:15
.Slip
Leaders of Antichat - Level 4
Регистрация: 16.01.2006
Сообщений: 1,966
С нами: 10692266

Репутация: 3486


По умолчанию

intval(), mysql_escape_string()
=\
__________________
..
 

  #32  
Старый 02.01.2008, 04:00
Piflit
Banned
Регистрация: 11.08.2006
Сообщений: 1,522
С нами: 10393869

Репутация: 2032


По умолчанию

как я понял, прочитав http://forum.antichat.ru/thread30641.html
при вводе (+заключаем в кавычки).
1. если число, intval();
2. если строка, mysql_escape_string();
+заключаем в кавычки.
3. при выводе htmlspecialchars();
все?

PHP код:
INSERT INTO table (loginpassVALUES ('".$_POST."','".$_POST."'); 
PHP код:
SELECT pass FROM table WHERE login '".$_POST."'
если кавычки (') стоят в самом запросе, то можно вообще ничего не экранировать?

Последний раз редактировалось Piflit; 02.01.2008 в 04:09..
 

  #33  
Старый 02.01.2008, 04:08
.Slip
Leaders of Antichat - Level 4
Регистрация: 16.01.2006
Сообщений: 1,966
С нами: 10692266

Репутация: 3486


По умолчанию

Цитата:
1. если число, intval();
2. если строка, mysql_escape_string();
Третий пункт выкидываай из своего понимания. Проверка на существование (isset()) и выборка целого числа в первом случае (если кто то пихает херню с -, то можно добавить bcmod()), во втором случае окружение кавычками и экранирование.
__________________
..
 

  #34  
Старый 02.01.2008, 04:15
Piflit
Banned
Регистрация: 11.08.2006
Сообщений: 1,522
С нами: 10393869

Репутация: 2032


По умолчанию

Цитата:
Сообщение от .Slip  
Третий пункт выкидываай из своего понимания.
почему? а <скрипт> итп при выводе?
Цитата:
Сообщение от .Slip  
Проверка на существование (isset()).
на существование чего? не понял.
Цитата:
Сообщение от .Slip  
во втором случае окружение кавычками и экранирование.
что еще нужно экранировать после mysql_escape_string();?
 

  #35  
Старый 02.01.2008, 04:43
ettee
Administrator
Регистрация: 12.10.2006
Сообщений: 466
С нами: 10304966

Репутация: 5170
По умолчанию

PHP код:
< > " ' % ; ) ( & + 
Так же смотри не происходить ли автоматическое преобразование символов.
Не забываем про фокус замены символа пробела на
PHP код:
/**/ 
Надежней пропускать только то что разрешено, чем блокировать "черные списки".
По возможности использовать HttpOnly-cookies. Параноикам поможет шифрование cookie.
При нападение с помощью TRACE метода претензии к хостеру.
PHP код:
TraceEnable off 
 

  #36  
Старый 02.01.2008, 10:17
Macro
Постоянный
Регистрация: 11.11.2006
Сообщений: 595
С нами: 10261766

Репутация: 1079


По умолчанию

Да что вы тут развели дискуссию? Все повторяют сообщения, которые тут уже написаны. Для проверки любых данных на sql инъекцию, xss или инклуд,
способов не так уж и много!

Для проверки sql строк достаточно mysql_real_escape_string()

Все числовые параметры sql стоит писать через intval()

Для защиты от xss вполне хватит функции htmlspecialchars() либо htmlentities()

Проверка на кириллицу вот - $str=preg_replace('/[^а-я]/i','',$str);

Если нужна проверка на инклуд.
Во первых, инклудить лучше файлы с префиксом, например
include('./inc/inc_'.$_GET['page']);
Во вторых, лучше приписывать расширение к файлу и желательно, чтобы это расширение не было '.php' .
include('./inc/inc_'.$_GET['page'].'.inc');
В третьих, существование файла надо проверять и фильтровать точки .
$_GET['page']=str_replace('.','',$_GET['page']);
file_exists('./inc/inc_'.$_GET['page'].'.inc')?include('./inc/inc_'.$_GET['page'].'.inc'):echo('неверный файл');
На все вопросы автора ответили уже

Последний раз редактировалось Macro; 02.01.2008 в 10:27..
 

  #37  
Старый 02.01.2008, 13:51
GreenBear
наркоман с медалью
Регистрация: 07.05.2005
Сообщений: 3,704
С нами: 11058146

Репутация: 4536


По умолчанию

Цитата:
$_GET['page']=str_replace('.','',$_GET['page']);
наверное правильнее регуляркой проверять на допустимые символы, чем вырезать все недопустимые, так ведь?
 
Закрытая тема



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В вопросе защиты персональных данных граждане надеются на государство dinar_007 Мировые новости. Обсуждения. 0 18.01.2006 22:15



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


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




ANTICHAT ™ © 2001- Antichat Kft.