Перейти к содержимому
Калькуляторы

Egenius

Новичок
  • Публикации

    9
  • Зарегистрирован

  • Посещение

О Egenius

  • Звание
    Абитуриент
    Абитуриент
  1. Брал исходный dump.xml и Ваш скрипт. Ничего не перекодировал.
  2. Notius Взято из сегодняшнего ночного дампа. "http://talk.rcbazar.biz/index.php?/topic/164-омск-5note-скоро-открытиелегальный-аналог-кока/" Вот перевод данного URL Вашим скриптом, данным выше # /usr/bin/xsltproc /gost-ssl/rzs/reg-url.xslt /gost-ssl/rzs/dump/dump.xml | sort | uniq | /gost-ssl/rzs/regexp.pl | grep talk.rcbazar.biz http://talk.rcbazar.biz/index.php?/topic/164-%D0%BE%D0%BC%D1%81%D0%BA-5note-%D1%81%D0%BA%D0%BE%D1%80%D0%BE-%D0%BE%D1%82%D0%BA%D1%80%D1%8B%D1%82%D0%B8%D0%B5%D0%BB%D0%B5%D0%B3%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9-%D0%B0%D0%BD%D0%B0%D0%BB%D0%BE%D0%B3-%D0%BA%D0%BE%D0%BA%D0%B0/ Обратное декодирование: # /usr/bin/xsltproc /gost-ssl/rzs/reg-url.xslt /gost-ssl/rzs/dump/dump.xml | sort | uniq | /gost-ssl/rzs/regexp.pl | grep talk.rcbazar.biz | perl -pe 's/%([0-9A-Fa-f]{2})/chr(hex($1))/eg' http://talk.rcbazar.biz/index.php?/topic/164-омск-5note-скоро-открытиелегальный-аналог-кока/ Но, при копировании данного URL из хрома получаю: http://talk.rcbazar.biz/index.php?/topic/164-%D0%BE%D0%BC%D1%81%D0%BA-5note-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D0%BC%D0%BD%D0%BE%D0%B2%D1%8B%D0%B9-%D0%BF%D1%80%D0%B0%D0%B9%D1%81-%D1%81%D0%BA-1%D0%B3-1600%D1%80-%D0%B0%D0%BA%D1%86%D0%B8%D1%8F/ Декодирование URL из хрома выявило в чём причина. # echo "http://talk.rcbazar.biz/index.php?/topic/164-%D0%BE%D0%BC%D1%81%D0%BA-5note-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D0%BC%D0%BD%D0%BE%D0%B2%D1%8B%D0%B9-%D0%BF%D1%80%D0%B0%D0%B9%D1%81-%D1%81%D0%BA-1%D0%B3-1600%D1%80-%D0%B0%D0%BA%D1%86%D0%B8%D1%8F/" | perl -pe 's/%([0-9A-Fa-f]{2})/chr(hex($1))/eg' http://talk.rcbazar.biz/index.php?/topic/164-омск-5note-работаемновый-прайс-ск-1г-1600р-акция/ Реврайт поставили. ( Извиняюсь. Остальные переведены верно.
  3. Notius Похоже regexp не совсем верно отрабатывает. По крайней мере на вот таком URL. talk.rcbazar.biz/index.php?/topic/164-омск-5note-работаемновый-прайс-ск-1г-1600р-акция/ переводится в talk.rcbazar.biz/index.php?/topic/164-%D0%BE%D0%BC%D1%81%D0%BA-5note-%D1%81%D0%BA%D0%BE%D1%80%D0%BE-%D0%BE%D1%82%D0%BA%D1%80%D1%8B%D1%82%D0%B8%D0%B5%D0%BB%D0%B5%D0%B3%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9-%D0%B0%D0%BD%D0%B0%D0%BB%D0%BE%D0%B3-%D0%BA%D0%BE%D0%BA%D0%B0/ но при запросе данного сайта в логах преобразование выглядит так: [11/Oct/2013:10:14:38 +0600] "talk.rcbazar.biz" "GET /public/style_images/concise/js/ipbforumskins.js HTTP/1.1" 304 0 "http://talk.rcbazar.biz/index.php?/topic/164-%D0%BE%D0%BC%D1%81%D0%BA-5note-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D0%BC%D0%BD%D0%BE%D0%B2%D1%8B%D0%B9-%D0%BF%D1%80%D0%B0%D0%B9%D1%81-%D1%81%D0%BA-1%D0%B3-1600%D1%80-%D0%B0%D0%BA%D1%86%D0%B8%D1%8F/" Тут не сложно уловить разницу. После "5note-" regexp выдаёт "%D1%81", а в адресной строке "%D1%80" Хотя большинство других URL преобразованы правильно.
  4. Спасибо за информацию. Можно тут чуть подробнее ?
  5. Данный ACL взял с данного форума как есть и, повторяю, большая часть реврайтов работает.
  6. И ещё один ньюанс. Заметил что многие ссылки вида "viewtopic.php?" или "index.php?" не блокируются nginx-ом К примеру в аццес-листе есть запись if ($url ~* "nnm-club.me/forum/viewtopic.php?p=5557839"){rewrite ^(.*)$ /403.html;} В логе access.log 1.2.3.4 - - [04/Oct/2013:10:01:16 +0600] "GET /forum/viewtopic.php?p=5557839 HTTP/1.1" 500 11715 "-" "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1588.0 Safari/537.36" "-" При чём другие URL блокируются , к примеру "forparty.biz/cms.php?id_cms=9" На всякий случай прилагаю конфиг nginx: user www-data; worker_processes 1; worker_rlimit_nofile 16384; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; events { worker_connections 2048; # multi_accept on; } http { include mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$host" "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for" '; access_log /var/log/nginx/access.log main; resolver 127.0.0.1; server { listen 1.2.3.4:80; server_name localhost; charset utf-8; location = /403.html { root /usr/share/nginx/html; } set $url $host$request_uri; include nginx_deny.conf; location / { proxy_pass http://$host; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; real_ip_header X-Forwarded-For; real_ip_recursive on; } } } Плюс кусок аццес-листа nginx_deny.conf: if ($url ~* "0chan.hk/h/"){rewrite ^(.*)$ /403.html;} if ($url ~* "0chan.hk/h/res/214.html"){rewrite ^(.*)$ /403.html;} if ($url ~* "2013star.org/"){rewrite ^(.*)$ /403.html;} if ($url ~* "2013star.org/component/k2/itemlist/tag/%D0%98%D0%B6%D0%B5%D0%B2%D1%81%D0%BA.html"){rewrite ^(.*)$ /403.html;} if ($url ~* "23krasnodar.net/"){rewrite ^(.*)$ /403.html;} if ($url ~* "27habarovsk.net/"){rewrite ^(.*)$ /403.html;} if ($url ~* "34volgograd.net/"){rewrite ^(.*)$ /403.html;} if ($url ~* "34volgograd.net/tag/kuritelnye-smesi/"){rewrite ^(.*)$ /403.html;} if ($url ~* "3mdx.net/"){rewrite ^(.*)$ /403.html;} if ($url ~* "4fa.biz/"){rewrite ^(.*)$ /403.html;} if ($url ~* "4lab.biz/"){rewrite ^(.*)$ /403.html;} if ($url ~* "54novosib.net/"){rewrite ^(.*)$ /403.html;} помогите решить проблему.
  7. Скрипт на перле, и с ним всё нормально. Удобнее наверное будет на нём же и прикрутить, хотя можно и отдельным скриптом. Я в программировании плохо шарю. Хотелось бы готовое решение, если не затруднит.
  8. Добрый день. В данной теме не раз всплывала проблема парсинга дампа с кириллицей и неверные кодировки. Вопрос с кодировкой я решил, а вот что делать с русскими символами в URL ? Я использую скрипт дампа от tawer и данный в этой теме конфиг проксирующего nginx и всё работает хорошо кроме одного. Nginx не понимает русских символов в URL, следовательно не блокирует такие URL, т.к. вместо запроса /threads/Легальные-пилсы-г-орёл.106/ Nginx видит кодированную последовательность /threads/%D0%9B%D0%B5%D0%B3%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5-%D0%BF%D0%B8%D0%BB%D1%81%D1%8B-%D0%B3-%D0%BE%D1%80%D1%91%D0%BB.106/ Помогите, пожалуйста, написать скрипт, вылавливающий русские символы в URL и кодирующий их. Спасибо!