通过 NGINX 阻止 URL 中的唯一哈希值

通过 NGINX 阻止 URL 中的唯一哈希值

我需要通过 nginx 阻止 URL 内的哈希。需要阻止的 URL 是

http://mp3string.com/video/Kill-My-DeMonZ---Mz-Sunday-Luv-%2B-Jeny-Cox-(-JopRec-)[email protected]%EF%BB%BF/mbqQMZXYL08`

现在,如果您看到 URL,则需要通过 nginx 阻止唯一的哈希“mbqQMZXYL08”。

我已经尝试通过添加到服务器块来阻止该 URL,但是没有效果。

    RewriteRule ^video/Kill-My-DeMonZ---Mz-Sunday-Luv-%2B-Jeny-Cox-(-JopRec-)[email protected]%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; }

应该可以解决问题。

相关内容