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

Форум PHP

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

 

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

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

тема: Не правельно определяется ip Пользователя.
 
 автор: Dinya_1   (18.08.2013 в 09:58)   письмо автору
 
 

Здравствуйте.

Определяю ip (Нужет для блокировки не желательных клиентов)

$ip = $_SERVER['SERVER_ADDR'];


Вместо индивидуального ip - выдает один и тот же 81.177.139.22,У всех польз. оставляющих сообщения.

Подскажите пож. как правельно реализовать ЗАПРЕТ ПО IP?
Движок самописный, спамеры заколебали.

  Ответить  
 
 автор: confirm   (18.08.2013 в 12:56)   письмо автору
 
   для: Dinya_1   (18.08.2013 в 09:58)
 

А если поинтересоваться http://www.php.net/manual/ru/reserved.variables.server.php, прежде чем использовать?

  Ответить  
 
 автор: Dinya_1   (18.08.2013 в 13:31)   письмо автору
 
   для: confirm   (18.08.2013 в 12:56)
 

Спасибо, я почитаю.

  Ответить  
 
 автор: Rolex   (20.08.2013 в 00:12)   письмо автору
 
   для: Dinya_1   (18.08.2013 в 09:58)
 

В простом варианте вот так:
$ip = $_SERVER['REMOTE_ADDR'];

  Ответить  
 
 автор: mihdan   (02.09.2013 в 22:43)   письмо автору
 
   для: Dinya_1   (18.08.2013 в 09:58)
 

В совсем упрощенном виде:


<?php
/**
 * Получить данные из массива SERVER
 * @param null $key
 * @param null $default
 * @return null
 */
function getServer($key null$default null) {
    if (
null === $key) {
        return 
$_SERVER;
    }
    return (isset(
$_SERVER[$key])) ? $_SERVER[$key] : $default;
}
 
/**
 * Получить IP адрес клиента
 * @param boolean $proxy
 * @return string
 */
function getClientIp($proxy true) {
    if (
$proxy && getServer('HTTP_CLIENT_IP') != null) {
        
$ip getServer('HTTP_CLIENT_IP');
    } else if (
$proxy && getServer('HTTP_X_FORWARDED_FOR') != null) {
        
$ip getServer('HTTP_X_FORWARDED_FOR');
    } else {
        
$ip getServer('REMOTE_ADDR');
    }
    return 
$ip;
}
?>


Но есть одно НО

  Ответить  
Rambler's Top100
вверх

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