Блокировка уникального хэша в 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;
1 ответ
Ваш URI, кажется, сломан или содержит странные символы. Я не уверен, является ли это даже HTTP-допустимым. Я бы постарался избежать такого больного форматирования URI.
Однако, если оно действительно, то
location ~* .*mbqQMZXYL08 {
return 403;
break;
}
должен сделать свое дело.