Защита от PHP-inj и SQL-inj

Тема в разделе "FAQ", создана пользователем myweb, 10 ноя 2008.

Статус темы:
Закрыта.
  1. myweb

    myweb Среда обитания WEB

    Регистр.:
    10 сен 2007
    Сообщения:
    539
    Симпатии:
    246
    Думаю всем начинающим пригодится этот кусочек кода!

    PHP:

    <? 
    ... 
    $_GET['уязвимое_поле'] = htmlspecialchars($_GET['уязвимое_поле']); 
    ... 
    ?> 

    PHP-inj
    PHP код:
    <?   
    error_reporting(0);   

    ...   

    function inc($do,$inc,$posle)   
    {  

        $inc = htmlspecialchars($inc);  

        if(file($do.$inc.$posle))  
        {  
            $inc = str_replace('http','',$inc);  
            $inc = str_replace('ftp','',$inc);  
            $inc = str_replace(':','',$inc);  
            $inc = str_replace('/','',$inc);  
            $inc = str_replace('\\','',$inc);  
            $inc = str_replace('.','',$inc);  

            include($do.$inc.$posle);  
        }  

        else echo 'Файла не существует';  

    }  

    ...   

    if($_GET['page']) inc('',$_GET['page'],'.php');  

    ...   

    ?> 

    SQL-inj:
    PHP код:
    <? 
    ... 
     function secure_sql($value) {  
            if( get_magic_quotes_gpc() ) {  
                $value = stripslashes( $value );  
            }  
            if( function_exists( "mysql_real_escape_string" ) ) {  
                $value = mysql_real_escape_string( $value );  
            } else {  
                $value = addslashes( $value );  
            }  
            return $value;  

    ... 
    ?> 


     
    java3000, seyfer, sergey_479 и 13 другим нравится это.
Статус темы:
Закрыта.