grisha2217

Рейтинг
35
Регистрация
16.02.2013
SeVlad:
Минуточку, ща мы решим этот бином ньютона...

Эврика!!! "Это" надо вставлять туда, где оно должны выводится.

я не такой глупый, как вы подумали.

$real_ip = $_SERVER['REMOTE_ADDR'];

vB_Template::preRegister('navbar',array('real_ip' => $real_ip));
return true;

{vb:raw real_ip} в нужный шаблон

zerocube:
grisha2217, потому что никакие классы функции и т.д. не нужны, есть одна простая строчка:

echo $_SERVER['REMOTE_ADDR'];

Остальной информации из X_FORWARDED_FOR, X_REAL_IP, VIA или еще что там есть, доверять вообще не стоит...

О заработало. Я вставил это в модуль, а модуль в нужный объект, но получилось так, что отображается в самом верху( в начале <body>, а не там где положено.

kxk:
grisha2217, Секундочку, где-то у меня был класс :)

---------- Добавлено 09.10.2013 в 19:51 ----------
А, вот и класс :

function getRealIP()

{

if( $_SERVER['HTTP_X_FORWARDED_FOR'] != '' )
{
$client_ip =
( !empty($_SERVER['REMOTE_ADDR']) ) ?
$_SERVER['REMOTE_ADDR']
:
( ( !empty($_ENV['REMOTE_ADDR']) ) ?
$_ENV['REMOTE_ADDR']
:
"unknown" );
$entries = split('[, ]', $_SERVER['HTTP_X_FORWARDED_FOR']);

reset($entries);
while (list(, $entry) = each($entries))
{
$entry = trim($entry);
if ( preg_match("/^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/", $entry, $ip_list) )
{
$private_ip = array(
'/^0\./',
'/^127\.0\.0\.1/',
'/^192\.168\..*/',
'/^172\.((1[6-9])|(2[0-9])|(3[0-1]))\..*/',
'/^10\..*/');

$found_ip = preg_replace($private_ip, $client_ip, $ip_list[1]);

if ($client_ip != $found_ip)
{
$client_ip = $found_ip;
break;
}
}
}
}
else
{
$client_ip =
( !empty($_SERVER['REMOTE_ADDR']) ) ?
$_SERVER['REMOTE_ADDR']
:
( ( !empty($_ENV['REMOTE_ADDR']) ) ?
$_ENV['REMOTE_ADDR']
:
"unknown" );
}

return $client_ip;

}

Спасибо, а как теперь это вставить в страницу? У меня vBulletin.

Пробовал и так и сяк. Даже через include не получается

Up

========

Поднимаю тему!

Ну что? Помогите, пожалуйста

Оптимизайка:
потому что он идёт на прокси который вы указали


что это за адрес? уберите, если php-cgi.exe работает локально

все равно. Даже если уберу location php, все равно...

В логах:

2013/09/21 22:05:46 [error] 3656#3152: *1186 CreateFile() "C:\nginx-1.5.5/html/favicon.ico" failed (2: Не удается найти указанный файл), client: 79.171.120.141, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "79.171.120.141"

Конфиг:


user nginx;
worker_processes 1;

error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;

pid logs/nginx.pid;


events {
worker_connections 1024;
}


http {
include mime.types;
default_type application/octet-stream;

log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';

#access_log logs/access.log main;

sendfile on;
#tcp_nopush on;

#keepalive_timeout 0;
keepalive_timeout 15;

gzip on;

server {
listen 80;
server_name localhost;

#charset koi8-r;

#access_log logs/host.access.log main;

location / {
root E:\VertrigoServ\www\;
index index.php;
proxy_pass http://79.171.120.141:88;
proxy_redirect http://79.171.120.141:88 /;


proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_connect_timeout 120;
proxy_send_timeout 120;
proxy_read_timeout 180;
}






# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
location ~ /\.ht {
deny all;
}
}


# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;

# location / {
# root E:\VertrigoServ\www;
# index index.html index.htm;
# }
#}


# HTTPS server
#
#server {
# listen 443 ssl;
# server_name localhost;

# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;

# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m;

# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;

# location / {
# root html;
# index index.html index.htm;
# }
#}

}
miliORATOR:
в настройке нгинкса
root c:/nginx-1.5.5/html
поменять на
root E:/www/

теперь на любой странице пишет Welcome to nginx!

adm.unix:
Логи какие то включены? Давайте начнем с простого - посмотрим что же в логах. Далее будем действовать согласно сообщениям из лог файлов...

Вот, что в логах nginx'a:

2
013/09/21 18:27:11 [error] 3656#3152: *1140 CreateFile() "C:\nginx-1.5.5/html/forum.php" failed (2: Не удается найти указанный файл), client: 79.171.120.141, server: localhost, request: "GET /forum.php HTTP/1.1", host: "79.171.120.141"

Как я понял, nginx читает файлы в папке html, а мой проект находится на: E:/www/

Переношу файлы в папку html, все равно. Что менять и где?))

Оптимизайка:
http://ru.wikipedia.org/wiki/Netstat

Или просто посмотреть, что вы задали в качестве параметра -b при запуске php-cgi.exe

не в нем дело. Есть еще варианты?

Всего: 94