[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Безопасность форума
Rigel
Объясните пожалуйста что такое XSS, SSH и HSS

и как от этого защититься на форуме? unsure.gif



Спустя 1 час, 1 минута, 49 секунд (3.05.2009 - 02:32) jetistyum написал(а):
В таких случаях лучше искать информацию в гугле... в вики, а не спрашивать на форуме...
коротко
XSS - Cross Site Scripting
SSH - Secure SHell
HSS - акроним от Have a Safe Sex!
Ну а подробнее - постарайся сам smile.gif благо информации предостаточно...
как защититься - от XSS - почитаешь, от SSH - не стоит защищаться... а на счет секьюрного секса... Кондомы, батенька, кондомы smile.gif

Спустя 19 минут, 36 секунд (3.05.2009 - 02:52) kirik написал(а):
Цитата (jetistyum @ 2.05.2009 - 18:32)
HSS - акроним от Have a Safe Sex!

Хаа! biggrin.gif biggrin.gif

Спустя 5 часов, 26 минут, 55 секунд (3.05.2009 - 08:19) twin написал(а):
PHP
Кондомыбатенька

Томатный сок надежнее biggrin.gif

Спустя 3 часа, 26 минут, 51 секунда (3.05.2009 - 11:46) Rigel написал(а):
jetistyum, значит защищаться мне необходимо только от XSS? huh.gif

а это подойдет?

Спустя 9 часов, 26 минут, 27 секунд (3.05.2009 - 21:12) kirik написал(а):
Цитата (Rigel @ 3.05.2009 - 03:46)
значит защищаться мне необходимо только от XSS?

Еще от SQL инъекций smile.gif

Спустя 1 час, 13 минут, 37 секунд (3.05.2009 - 22:26) Rigel написал(а):
kirik

а от них как? huh.gif

Спустя 40 минут, 5 секунд (3.05.2009 - 23:06) kirik написал(а):
Нужно знать неприятеля в лицо, почитай что про это пишут взломщики smile.gif

Спустя 1 час, 2 минуты, 6 секунд (4.05.2009 - 00:08) jetistyum написал(а):
еще нужно от клещей энцифалитных smile.gif
ну разве можно собрать в два-три определения то, от чего нужно и не нужно защищаться..???

Спустя 34 минуты, 56 секунд (4.05.2009 - 00:43) FatCat написал(а):
Я предпочел не изобретать велосипеды, а взять готовый движок, уже проверенный годами безупречной работы на миллионах сайтов.
Я могу что угодно переписывать под себя, но алгоритм безопасности парсинга входящего текста я не трогаю. По этой причине, в частности, остаются несколько глюков с подсветкой синтаксиса кодов пхп, есть глюки с табулатурами, есть проблемы с использованием кавычек внутри ББ-кодов.

Спустя 9 часов, 13 минут, 31 секунда (4.05.2009 - 09:56) stepan написал(а):
Да готовый это более эффективнее, но велосипед причем новый который сам придумал у которого колеса треугольные это же более приятнее т.к. осознаешь что это все твое родное rolleyes.gif

Спустя 9 часов, 44 минуты, 38 секунд (4.05.2009 - 19:41) agentor написал(а):
существует хороший метод по защите к примеру самого запроса от SQL инъекций к примеру если мы выбераем что либо из базы методом GET

к примеру использовать таким образом
неверно
PHP
$id = $_GET['id'];
mysql_query("SELECT id FROM users WHERE id=$id") or die("error 1");

в данном случае мы уже имеем возможность приникновения

верно
а также используем доп функцию с mysql_real_escape_string

PHP
function sqlesc($x) {
   if (get_magic_quotes_gpc()) {
       $x = stripslashes($x);
   }
   if (!is_numeric($x)) {
       $x = "'" . mysql_real_escape_string($x) . "'";
   }
   return $x;
}

PHP
$id = (int)$_GET['id'];  или $id = 0 + $_GET['id'];
mysql_query("SELECT id FROM users WHERE id=".sqlesc($id)."")or die("error 1");


а также исользуем die(); или exit();при проверке данных

а ткаже можно использовать для текстовых значений функцию

PHP
function unesc($x) {
    if (
get_magic_quotes_gpc())
        return 
stripslashes($x);
    return 
$x;
}


пример

PHP
$text unesc($_POST["text"]);
if (!
text){
print(
"");
exit();
}

Спустя 3 часа, 12 минут, 45 секунд (4.05.2009 - 22:54) Rigel написал(а):
agentor
спасибо, полезно!

Спустя 2 часа, 55 минут, 20 секунд (5.05.2009 - 01:49) FatCat написал(а):
В движке этого форума используется функция:
Парсинг входящих
PHP
function parse_incoming()
    {
        global 
$HTTP_GET_VARS$HTTP_POST_VARS$HTTP_CLIENT_IP$REQUEST_METHOD$REMOTE_ADDR$HTTP_PROXY_USER$HTTP_X_FORWARDED_FOR;
        
$return = array();
        
        if( 
is_array($HTTP_GET_VARS) )
        {
            while( list(
$k$v) = each($HTTP_GET_VARS) )
            {
                if ( 
$k == 'INFO' )
                {
                continue;
                }
                if( 
is_array($HTTP_GET_VARS[$k]) )
                {
                    while( list(
$k2$v2) = each($HTTP_GET_VARS[$k]) )
                    {
                        
$return[$k][ $this->clean_key($k2) ] = $this->clean_value($v2);
                    }
                }
                else
                {
                    
$return[$k] = $this->clean_value($v);
                }
            }
        }
        
        
// Overwrite GET data with post data
        
        
if( is_array($HTTP_POST_VARS) )
        {
            while( list(
$k$v) = each($HTTP_POST_VARS) )
            {
                if ( 
is_array($HTTP_POST_VARS[$k]) )
                {
                    while( list(
$k2$v2) = each($HTTP_POST_VARS[$k]) )
                    {
                        
$return[$k][ $this->clean_key($k2) ] = $this->clean_value($v2);
                    }
                }
                else
                {
                    
$return[$k] = $this->clean_value($v);
                }
            }
        }
        
        
//----------------------------------------
        // Sort out the accessing IP
        // (Thanks to Cosmos and schickb)
        //----------------------------------------
        
        
$addrs = array();
        
        foreach( 
array_reverseexplode','$HTTP_X_FORWARDED_FOR ) ) as $x_f )
        {
            
$x_f trim($x_f);
            
            if ( 
preg_match'/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/'$x_f ) )
            {
                
$addrs[] = $x_f;
            }
        }
        
        
$addrs[] = $_SERVER['REMOTE_ADDR'];
        
$addrs[] = $HTTP_PROXY_USER;
        
$addrs[] = $REMOTE_ADDR;
        
        
//header("Content-type: text/plain"); print_r($addrs); print $_SERVER['HTTP_X_FORWARDED_FOR']; exit();
        
        
$return['IP_ADDRESS'] = $this->select_var$addrs );
                                                 
        
// Make sure we take a valid IP address
        
        
$return['IP_ADDRESS'] = preg_replace"/^([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})/""\\1.\\2.\\3.\\4"$return['IP_ADDRESS'] );
        
        
$return['request_method'] = ( $_SERVER['REQUEST_METHOD'] != "" ) ? strtolower($_SERVER['REQUEST_METHOD']) : strtolower($REQUEST_METHOD);
        
        return 
$return;
    }

Все входящие дальше получаем через конструкцию $ibforums->input['имя_переменной']
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.