Перейти до

Перенеправление на страницу статистики при минусовом балансе.


Рекомендованные сообщения

Есть сервер статистики на apache2.

 

при минусовом балансе с помощью

/sbin/iptables -t nat -A PREROUTING -s {client_ip} -p tcp -m tcp --dport 80 -j DNAT --to-destination {ip_server_statistiki}

Вместо веб-страниц открывается страница статистики. Для этого в корне сервера лежит

 

.htaccess 

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule (.*) index.php [L,QSA,NC]

Все было бы хорошо, но если открыта страница типа  "http://local.com.ua/forum/index.php"

т.е. содержащая слэши, то js и css, который есть на странице статистики не подгружается..

 

 

Как исправить?  :mellow:

 

 

Ссылка на сообщение
Поделиться на других сайтах

 

Очивидно же)



/sbin/iptables -t nat -A PREROUTING -s {client_ip} ! -d {ip_server_statistiki} -p tcp -m tcp --dport 80 -j DNAT --to-destination {ip_server_statistiki}

 

Что это дает?

Ссылка на сообщение
Поделиться на других сайтах

Вам нужно на веб-сервере статистики запретить клиентам кеширование. Я честно не помню как это делается на апаче, но можете погуглить. 

Ссылка на сообщение
Поделиться на других сайтах

поставить nginx  вместо апача)

server {
        listen   80; 
        server_name  noaccess;
        access_log  off;
        log_not_found  off;
        location / {
                root   /var/www/nginx-default/noaccess;
                index  index.html;
        }
        error_page  404  /index.html;
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
                root   /var/www/nginx-default;
        }
}

 

 

Очивидно же)



/sbin/iptables -t nat -A PREROUTING -s {client_ip} ! -d {ip_server_statistiki} -p tcp -m tcp --dport 80 -j DNAT --to-destination {ip_server_statistiki}

 

Что это дает?

 

А внимательно посмотреть на правило? Вам то надо весь трафик на 80-й порт заворачивать на сервер, естественно кроме самого сервера.

Ссылка на сообщение
Поделиться на других сайтах

Блин, проблема в том, что юзер открывая страничку с "плохими" символами в url открывают страницу статистики index.php но js и css не грузятся....

 

точнее они загружают тот-же index.php

 

т.е. .htaccess должен реагировать по разному на то что требуется сss или index.php

Ссылка на сообщение
Поделиться на других сайтах

1) Перенаправлять -j REDIRECT --to 8000 (да-да, на локальный тазик)

2) На этом же локальном тазике запустить nginx с таким конфигом:

worker_processes  1;

events {
    worker_connections  1024;
}

http {

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

    server {
        listen       8000;
        server_name  localhost;

        access_log /var/log/nginx/redirect.access.log;

        location / {
if ( $http_user_agent ~ ^uTorrent ) {
                            return 404;
            }
            if ( $http_user_agent ~ Windows-Update-Agent ) {
                            return 404;
            }
            if ( $http_user_agent ~ "Microsoft NCSI" ) {
                            return 404;
            }
            if ( $http_user_agent ~ "ESS Update" ) {
                            return 404;
            }
            if ( $http_user_agent ~ "Google Update" ) {
                            return 404;
            }
            if ( $http_user_agent ~ "Microsoft-CryptoAPI" ) {
                            return 404;
            }
            if ( $http_user_agent ~ "Microsoft BITS" ) {
                            return 404;
            }
            if ( $http_user_agent ~ MSDW ) {
                            return 404;
            }
            if ( $http_user_agent ~ ^SeaPort ) {
                            return 404;
            }
            if ( $http_user_agent ~ ^Windows-Media-Player ) {
                            return 404;
            }
            if ( $http_user_agent ~ "Google Update" ) {
                            return 404;
            }
            if ( $http_user_agent ~ ^GoogleEarth ) {
                            return 404;
            }
            if ( $http_user_agent ~ ^Skype ) {
                            return 404;
            }
            if ( $http_user_agent = "MailRuSputnik" ) {
                            return 404;
            }
            if ( $http_user_agent ~ ^Ya\.Online ) {
                            return 404;
            }
            if ( $http_user_agent ~ ^MRA ) {
                            return 404;
            }
            if ( $http_user_agent ~* ^MediaGet ) {
                            return 404;
            }
            if ( $http_user_agent ~ ^BTWebClient ) {
                            return 404;
            }
            if ( $http_user_agent ~ ^Syncer ) {
                            return 404;
            }
            if ( $http_user_agent = "TMUFE" ) {
                            return 404;
            }
            if ( $http_user_agent ~ ^Akamai\ NetSession\ Interface ) {
                            return 404;
            }
            if ( $http_user_agent ~ ^VKSaver ) {
                            return 404;
            }
            if ( $http_user_agent ~ DrWebUpdate ) {
                            return 404;
            }
            if ( $http_user_agent = "" ) {
                            return 404;
            }
            if ( $host ~ geo\.kaspersky\.com ) {
                            return 404;
            }
            if ( $host ~ (su|download|webrep).*\.avast\.com ) {
                            return 404;
            }

            if ( $host = wi2geo.mobile.yandex.net ) {
                            return 404;
            }
            if ( $host ~ bar.*\.yandex\.ru ) {
                            return 404;
            }
            if ( $host ~ (ping|master)\d*\.(dyngate|teamviewer)\.com ) {
                            return 404;
            }
            if ( $host ~ sitecheck\d*\.opera\.com ) {
                            return 404;
            }
            if ( $host ~ (xml\.my|mailsputnik|maps)\.mail\.ru ) {
                            return 404;
            }
            if ( $host = onlineconfigservice.ubi.com ) {
                            return 404;
            }
            if ( $host = com-services.pandonetworks.com ) {
                            return 404;
            }
            if ( $host ~ ticno\.com ) {
                            return 404;
            }
            if ( $host ~ conduit ) {
                            return 404;
            }
            if ( $host ~ cbox\.ws ) {
                            return 404;
            }
            if ( $host ~ (pricelist|metrics)\.skype\.com ) {
                            return 404;
            }
            if ( $host = weather.service.msn.com ) {
                            return 404;
            }
            if ( $host = advstat.letitbit.net ) {
                            return 404;
            }
            if ( $host = skymonk.net ) {
                            return 404;
            }
            if ( $host ~ counter ) {
                            return 404;
            }
            if ( $host ~ pluraserver ) {
                            return 404;
            }
            if ( $host ~ apps.bittorrent.com ) {
                            return 404;
            }
            if ( $host ~ offers.bittorrent.com ) {
                            return 404;
            }
            if ( $host ~ tracker ) {
                            return 404;
            }
            if ( $request_uri ~* (update|feed|announce|rss|xml|json|oauth) ) {
                            return 404;
            }
            if ( $request_uri ~* (toolbar|suggest) ) {
                            return 404;
            }
            if ( $request_filename ~ \.(ico|gif|jpg|png) ) {
                            return 404;
            }
            if ( $request_filename ~ \.(css|xml|js|swf|flv) ) {
                            return 404;
            }
            if ( $request_filename ~ \.(crl|txt|cab|msi|jar) ) {
                            return 404;
            }
            if ( $host ~ norton ) {
                            return 404;
            }

	    rewrite ^ http://address_of_stat_server/ redirect;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }

}
Это правильней, чем тупая подмена страницы.

А! Кстати! Отдельным правилом в iptables (перед редиректом) разрешить прохождение трафика к серверу статистики. Иначе получается цикличный редирект.

Ссылка на сообщение
Поделиться на других сайтах

Нашел.....

всего лишь надо было указать полный путь к файлам css и js 

 

слеш перед путем все исправил!!

 

<script src="/js/jquery.js"></script>

Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

×
×
  • Створити нове...