функция
global $HTTP_GET_VARS, $HTTP_POST_VARS, $HTTP_CLIENT_IP, $REQUEST_METHOD, $REMOTE_ADDR, $HTTP_PROXY_USER, $HTTP_X_FORWARDED_FOR;
$return['IP_ADDRESS'] = $this->select_var( array(
1 => $_SERVER['REMOTE_ADDR'],
2 => $HTTP_X_FORWARDED_FOR,
3 => $HTTP_PROXY_USER,
4 => $REMOTE_ADDR
));
$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);
В пхп 5 это не работает
Где подправить?
Спустя 5 минут, 36 секунд (19.10.2010 - 11:02) arvitaly написал(а):
Спустя 14 минут, 57 секунд (19.10.2010 - 11:17) t470004 написал(а):
Получается все переменные имеют вид $_SERVER['переменная']
А как понимать тогда это:
1 => $_SERVER['REMOTE_ADDR'],
4 => $REMOTE_ADDR
1 и 4?
А как понимать тогда это:
1 => $_SERVER['REMOTE_ADDR'],
4 => $REMOTE_ADDR
1 и 4?
Спустя 11 минут, 43 секунды (19.10.2010 - 11:29) arvitaly написал(а):
У вас какая цель?
Спустя 16 минут, 44 секунды (19.10.2010 - 11:45) t470004 написал(а):
У меня в форуме сесии не работают, все на один ip ложатся
Вот эта функция не работает:
Вот эта функция не работает:
/*-------------------------------------------------------------------------*/
// Makes incoming info "safe"
/*-------------------------------------------------------------------------*/
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( is_array($HTTP_GET_VARS) )
{
while( list($k, $v) = each($HTTP_GET_VARS) )
{
if ( $k == 'INFO' )
{
continue;
}
//$k = $this->clean_key($k);
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) )
{
//$k = $this->clean_key($k);
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
$return['IP_ADDRESS'] = $this->select_var( array(
1 => $_SERVER['REMOTE_ADDR'],
2 => $HTTP_X_FORWARDED_FOR,
3 => $HTTP_PROXY_USER,
4 => $REMOTE_ADDR
));
// 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;
}
Спустя 15 минут, 49 секунд (19.10.2010 - 12:01) vasa_c написал(а):
Эти конструкции были отмеченые, как нерекомендуемые, когда я ещё только начинал с пыхом - 8 лет назад.
Спустя 9 минут, 44 секунды (19.10.2010 - 12:11) t470004 написал(а):
Разработчики ipb это писали