Назад | Перейти на главную страницу

Заблокировать уникальный хеш в URL через NGINX

Мне нужно заблокировать хеш, который находится внутри URL-адреса через nginx. URL-адрес, который необходимо заблокировать:

http://mp3string.com/video/Kill-My-DeMonZ---Mz-Sunday-Luv-%2B-Jeny-Cox-(-JopRec-)-@www.joprec.org%EF%BB%BF/mbqQMZXYL08`

Теперь, если вы видите URL-адрес, уникальный хеш «mbqQMZXYL08» необходимо заблокировать через nginx.

Я уже пробовал заблокировать URL-адрес, добавив его в серверный блок, но он не работает.

    RewriteRule ^video/Kill-My-DeMonZ---Mz-Sunday-Luv-%2B-Jeny-Cox-(-JopRec-)-@www.joprec.org%EF%BB%BF/mbqQMZXYL08 - [F]

На моем веб-сайте каждый раз, когда какой-либо пользователь открывает песню, у нее есть уникальный хеш, поскольку это сайт в формате mp3, а на нем нет песен, я иногда получаю DMCA для удаления URL.

Перенаправления, которые я использую в своем серверном блоке:

    rewrite ^/mp3/([0-9]+)/([^/]*)/([^/]*)(/?)+$ /?do=song&source=$1&title=$2&id=$3 last;
    rewrite ^/video/([^/]*)/([^/]*)(/?)+$ /?do=video&id=$2&title=$1 last;
    rewrite ^/search.html(/?)+$ /?do=search&$args last;
    rewrite ^/embed/([0-9]+)/([^/]*)/([^/]*)(/?)+$ /embed.php?source=$1&title=$2&id=$3&$args last;
    rewrite ^/logout(/?)+$ /?do=logout last;
    rewrite ^/settings(/?)+$ /?do=user last;
    rewrite ^/settings(/?)+$ /?do=user last;
    rewrite ^/playlist/edit/([0-9]+)(/?)+$ /?do=edit_playlist&id=$1 last;
    rewrite ^/playlist/([0-9]+)(/?)+$ /?do=playlist&id=$1 last;
    rewrite ^/playlists(/?)+$ /?do=playlists last;
    rewrite ^/playlists/([0-9]+)(/?)+$ /?do=playlists&p=$1 last;
    rewrite ^/([a-zA-Z0-9_-]+)(/?)$ /?do=profile&username=$1 last;
    rewrite ^/([a-zA-Z0-9_-]+)/favorites(/?)$ /?do=profile&username=$1&action=favorites last;
    rewrite ^/([a-zA-Z0-9_-]+)/playlists(/?)$ /?do=profile&username=$1&action=playlists last;

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

Однако, если это действительно так, то

location ~* .*mbqQMZXYL08 { return 403; break; }

должен сделать свое дело.