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

Форум PHP

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Получить IP-адрес пользователя
 
 автор: chelovek   (19.09.2006 в 10:02)   письмо автору
 
 

Подскажите, пожалуйста, как мне получить IP адрес пользователя?
Например, когда пользователь регистрируется, мне нужно занести его ip в базу.
Заранее благодарю.

   
 
 автор: himic   (19.09.2006 в 10:18)   письмо автору
 
   для: chelovek   (19.09.2006 в 10:02)
 

Вроде
$_SERVER['REMOTE_ADDR']

   
 
 автор: tuder   (19.09.2006 в 13:27)   письмо автору
 
   для: chelovek   (19.09.2006 в 10:02)
 

Вот инклюд для получения всех(?) возможных данных о пользователе, для занесения в базу


<?php
if (!empty($_SERVER['HTTP_USER_AGENT'])) {
    
$HTTP_USER_AGENT $_SERVER['HTTP_USER_AGENT'];
} else if (!empty(
$HTTP_SERVER_VARS['HTTP_USER_AGENT'])) {
    
$HTTP_USER_AGENT $HTTP_SERVER_VARS['HTTP_USER_AGENT'];
} else if (!isset(
$HTTP_USER_AGENT)) {
    
$HTTP_USER_AGENT '';
}
if (!empty(
$_SERVER['HTTP_REFERER'])) {
    
$HTTP_REFERER $_SERVER['HTTP_REFERER'];
} else if (!empty(
$HTTP_SERVER_VARS['HTTP_REFERER'])) {
    
$HTTP_REFERER $HTTP_SERVER_VARS['HTTP_REFERER'];
} else if (!isset(
$HTTP_REFERER)) {
    
$HTTP_REFERER '';
}
if (!empty(
$_SERVER['REMOTE_ADDR'])) {
    
$REMOTE_ADDR $_SERVER['REMOTE_ADDR'];
} else if (!empty(
$HTTP_SERVER_VARS['REMOTE_ADDR'])) {
    
$REMOTE_ADDR $HTTP_SERVER_VARS['REMOTE_ADDR'];
} else if (!isset(
$REMOTE_ADDR)) {
    
$REMOTE_ADDR '';
}
?>

   
 
 автор: 1999   (19.09.2006 в 13:40)   письмо автору
 
   для: tuder   (19.09.2006 в 13:27)
 

да глупость это.. зачем код только загромождать этим..
просто надоиспользовать всего 2 вещи:
$_SERVER['HTTP_X_FORWARDED_FOR'] (вроде бы так пишется) и $_SERVER['REMOTE_ADDR']
если первая пуста, то юзать вторую

   
 
 автор: Unkind™   (19.09.2006 в 14:54)   письмо автору
 
   для: 1999   (19.09.2006 в 13:40)
 

Либо

<?php
$remote_addr 
getenv('REMOTE_ADDR');
$x_forwarded_for getenv('HTTP_X_FORWARDED_FOR');

$sql mysql_query("INSERT INTO `ip_users` SET `ip` = '".$remote_addr."', `xff` = '".$x_forwarded_for ."';");
if(!
$sql)
{
echo 
"Ошибка: ".mysql_error()."<br />";
}
?>

;)

   
 
 автор: kasmanaft   (19.09.2006 в 15:25)   письмо автору
 
   для: Unkind™   (19.09.2006 в 14:54)
 

Да, но только вот зачем? :)
Если пользователь пришел через прокси, то адрес прокси сервера нам не нужен .. (соотв. записываем xff) .. если он сидит без прокси, то xff тоже не нужен - пишем remote_addr ...

   
 
 автор: chelovek   (19.09.2006 в 18:30)   письмо автору
 
   для: kasmanaft   (19.09.2006 в 15:25)
 

Большое спасибо всем за советы!

   
Rambler's Top100
вверх

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