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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Фильтр $_GET

Сообщения:  [1-10]   [11-17] 

 
 автор: neadekvat   (30.07.2010 в 14:00)   письмо автору
 
   для: Drago   (30.07.2010 в 13:46)
 

Да ладно, есть такая вещь хорошая - широкоформатные мониторы
Но это не отменяет необходимости укорачивать строки

  Ответить  
 
 автор: Drago   (30.07.2010 в 13:46)   письмо автору
 
   для: neadekvat   (30.07.2010 в 13:22)
 

В Опере есть хорошая штука "Подогнать по ширине" называется. Нажал кнопочку и весь контент виден в пределах экрана.

Но это так, мысли в слух. :)

  Ответить  
 
 автор: psychomc   (30.07.2010 в 13:31)   письмо автору
 
   для: Ванек2010   (30.07.2010 в 12:08)
 

а разве синтаксис запросов отличается?

  Ответить  
 
 автор: neadekvat   (30.07.2010 в 13:22)   письмо автору
 
   для: Ванек2010   (30.07.2010 в 13:09)
 

Да хер его знает, как она работает! Потому что невозможно даже увидеть ее. Сколько раз просили - используйте переносы строк для длинных кусков. Что теперь с этим скроллингом делать?

  Ответить  
 
 автор: Ванек2010   (30.07.2010 в 13:09)   письмо автору
 
   для: bishake   (30.07.2010 в 12:10)
 

Хорошая статья спасибо, но почти все мне это было известно уже, у меня и так поля все прег матчем заделаны. Я бы хотел помощи, помогите разобраться с этой функцией, как она работает?
<?PHP
function check_inject() 
  { 
    
$badchars = array(";","'","*","/"," \ ","DROP""SELECT""UPDATE""DELETE""WHERE""drop""select""update""delete""where""-1""-2""-3","-4""-5""-6""-7""-8""-9""distinct""having""truncate""replace""handler""like""procedure""limit""order by""group by"); 
   
    foreach(
$_POST as $value
    { 
    
$value clean_variable($value);

    if(
in_array($value$badchars)) 
      { 
        die(
"<b><font color=red>SQL Injection Detected - Make sure only to use letters and numbers!</font>\n<br>\nIP: ".$_SERVER['REMOTE_ADDR']."</b>"); 
      } 
      else 
      { 
        
$check preg_split("//"$value, -1PREG_SPLIT_OFFSET_CAPTURE); 
        foreach(
$check as $char
        { 
          if(
in_array($char$badchars)) 
          { 
            die(
"<b><font color=red>SQL Injection Detected - Make sure only to use letters and numbers!</font>\n<br>\nIP: ".$_SERVER['REMOTE_ADDR']."</b>"); 
          } 
        } 
      } 
    } 
  }
function 
clean_variable($var) { 
    
$newvar preg_replace('/[^a-zA-Z0-9\_\-]/'''$var); 
    return 
$newvar
}
check_inject();






// Clean Var Edited 

function clean_var($var) {
$var stripslashes($var);
$rules '/[^a-zA-Z0-9-\_\=\@\.\,\:\/\^\+\!\~\[\]\*\{\}\(\)\|\\\ ]/';
if(@
preg_match($rules,$var) || $var==NULL) { } //If isset ErroR
$newvar = @preg_replace($rules,'',$var);
$newvar str_replace(" ","",$newvar);
$newvar str_replace("\n","",$newvar);
$newvar str_replace("\0","",$newvar);
$newvar str_replace("'","&apos;",$newvar);
return 
$newvar;
}






// Onter Anti-SQL Injection 

function xw_sanitycheck($str){ 
    if(
strpos(str_replace("''","","$str"),"'")!=false)
        return 
str_replace("'""''",$str); 
    else 
        return 
$str


function 
secure($str){ 
    
// Case of an array 
    
if (is_array($str)) { 
        foreach(
$str AS $id => $value) { 
            
$str[$id] = secure($value); 
        } 
    } 
    else 
        
$str xw_sanitycheck($str); 

    return 
$str


// Get Filter 
$xweb_AI    array_keys($_GET); 
$i=0
while(
$i<count($xweb_AI)) { 
    
$_GET[$xweb_AI[$i]]=secure($_GET[$xweb_AI[$i]]); 
    
$i++; 

unset(
$xweb_AI); 

// Request Filter 
$xweb_AI    array_keys($_REQUEST); 
$i=0
while(
$i<count($xweb_AI)) { 
    
$_REQUEST[$xweb_AI[$i]]=secure($_REQUEST[$xweb_AI[$i]]); 
    
$i++; 

unset(
$xweb_AI); 

// Post Filter 
$xweb_AI    array_keys($_POST); 
$i=0
while(
$i<count($xweb_AI)) { 
    
$_POST[$xweb_AI[$i]]=secure($_POST[$xweb_AI[$i]]); 
    
$i++; 


// Cookie Filter (do we have a login system?) 
$xweb_AI    array_keys($_COOKIE); 
$i=0
while(
$i<count($xweb_AI)) { 
    
$_COOKIE[$xweb_AI[$i]]=secure($_COOKIE[$xweb_AI[$i]]); 
    
$i++; 

// End 
?>

  Ответить  
 
 автор: neadekvat   (30.07.2010 в 12:35)   письмо автору
 
   для: Ванек2010   (30.07.2010 в 12:08)
 

Почему не помогут?

  Ответить  
 
 автор: bishake   (30.07.2010 в 12:10)   письмо автору
 
   для: Ванек2010   (30.07.2010 в 10:18)
 

Вы занимаетесь фигнёй.
Почитайте

  Ответить  
 
 автор: Ванек2010   (30.07.2010 в 12:08)   письмо автору
 
   для: psychomc   (30.07.2010 в 11:54)
 

Да дело в том, что база не MySql, а MSSQL, эти функции не помогут
Хотя (int) должен помочь) хм

  Ответить  
 
 автор: psychomc   (30.07.2010 в 11:54)   письмо автору
 
   для: Ванек2010   (30.07.2010 в 11:23)
 

м-да...

может тогда проще уже прогнать весь $_GET через mysql_real_escape_string или (int) / intval
в зависимости от ожидаемого значения?

  Ответить  
 
 автор: neadekvat   (30.07.2010 в 11:34)   письмо автору
 
   для: Ванек2010   (30.07.2010 в 11:23)
 

Ну делайте, делайте..

  Ответить  

Сообщения:  [1-10]   [11-17] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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