npokypop Опубликовано 24 июня, 2015 · Жалоба Мы просто режем скорость до 100кбит, а вверх всех страничек(которые по http) вставляем информацию о том, что баланс отрицательный и неплохо бы положить денег. И как информацию вставляете ? через прокси http заворачиваете ? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
swelf Опубликовано 24 июня, 2015 (изменено) · Жалоба Да, заворачиваем пользователей на squid, а там пользуемся ecap модулем, который делает инжект в html. Тоже как я понял можно было бы и nginx'ом сделать. acl blocknet myportname blockport http_port 3128 intercept name=blockport ecap_enable on loadable_modules /usr/local/lib/ecap_adapter_modifying.so ecap_service eRespmod respmod_precache 0 ecap://e-cap.org/ecap/services/sample/modifying victim=</body> replacement-src=/usr/local/squid/var/block.html adaptation_access eRespmod allow blocknet в blocknet попадают все, кто конектится к squid'у на порт 3128 Изменено 24 июня, 2015 пользователем swelf Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
npokypop Опубликовано 24 июня, 2015 (изменено) · Жалоба Вы всех абонентов гоните через сквид или только когда задолженность ? Сайты работающие по https спокойно работают без вашей вставки ? Изменено 24 июня, 2015 пользователем npokypop Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
swelf Опубликовано 25 июня, 2015 · Жалоба Только должников, да, мы только 80 порт перенаправляем. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
adsh Опубликовано 4 июля, 2015 · Жалоба Давно отработана такая схема. На шлюзе на локалхосте висит любой веб сервер на нестандартном порту. Который на любой запрос выдаёт 302 и ссылку на нужную страницу. Заворачиваю на веб сервер как на транспарент прокси. Используя прослушивание веб сервером нескольких портов легко реализовать редирект на разные страницы. Ещё один момент - локальный веб сервер должен вырезать параметры, передаваемые на запрашиваемую страницу. Перепробовал многое - это оптимальный вариант. Разумеется - заворачивать только 80 порт. Пример для Апаче: Listen 127.0.0.1:8000 <VirtualHost 127.0.0.1:8000> ServerName localhost RewriteEngine on RewriteRule .* http://server.net/bad_users/infected/? [R,L] </VirtualHost> Listen 127.0.0.1:8001 <VirtualHost 127.0.0.1:8001> ServerName localhost RewriteEngine on RewriteRule .* http://server.net/bad_users/closed/? [R,L] </VirtualHost> ... Вопросительный знак в линках для редиректа нужен для вырезания передаваемых оригинальным сайтам параметров скрипта. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pppoetest Опубликовано 27 октября, 2015 · Жалоба оставив доступ к ЛК. Абоны сами баланс посмотрят Спасибо, очень хорошая шутка перед сном. ))))) Заряд бодрости получен. ПЫСЫ. Если что, тут спамер пробегал, а не я слоупочу. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Cramac Опубликовано 28 октября, 2015 · Жалоба Всем привет. Подскажите, перекидываю абонентов из ИПсет правилом iptables -A PREROUTING -p tcp -m set --match-set l4redirect src -j REDIRECT --to-ports 8001 на nginx server { listen 8001; server_name local_negative; 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; } # Avast updater if ( $http_user_agent ~ ^Syncer ) { return 404; } # Trend Micro updater 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; } proxy_set_header X-Real-IP $remote_addr; rewrite ^ http://home.site.ru/stat/i.php?ipuser=$remote_addr redirect; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } который в свою очередь через rewrite отправляет на основной сайт. Так вот вопрос, как избавится от кэша? т.е. после удаления пользователя из ИПсет, при поптке открыть тот же сайт, срабатывает опять редирект. Другой сайт открыв, все норм. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
martini Опубликовано 28 октября, 2015 · Жалоба рефреш сьраницы в шапке ? ) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
No_name Опубликовано 28 октября, 2015 (изменено) · Жалоба Имхо, из всех способов, что перепробовал, у меня работает так: server { listen 127.0.0.1:80; server_name localhost; access_log off; error_log off; # rewrite ^ http://zaplati.mne/$uri ; #301 redirect charset koi8-r; #access_log logs/host.access.log main; location / { root /usr/local/www/nginx; index index.html; } error_page 404 /index.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/local/www/nginx-dist; } } Далее, на сервере делаю обычную страничку куда идет перенаправление и на ней описываю куда пойти клиенту... по ссылкам, например на ЛК или еще куда. Это хорошо тем, что после оплаты клиент просто обновляет страницу и у него открывается тот сайт с которого произошел редирект на информационную страничку. Изменено 28 октября, 2015 пользователем Brainiac Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...