1

紹介リンクをクリックさせられたのはこれが初めてだったので、非常に興味を持ちました。このスクリーンショットでは、他のサイトの紹介リンクに直接移動するマスクされた URL が表示されます。 マスクされた紹介リンク

私の注意を引いた興味深い部分と、リンクをクリックした理由は、お気づきのように、リンクにファイル拡張子が付いていることです。PHP リダイレクト、.htaccess リダイレクトは思いつきますが、ファイル名マスキングの解決策を正確に考えることができませんでした。

通常、.htaccess の URL を解析し、.zip 拡張子を php ファイルにリダイレクトして、ファイルが有効なファイル名であるか、データベース内のリダイレクトのキー値であるかを確認できます (これも解決策です)。このリンクで。

これには他に考えられる方法はありますか?

4

2 に答える 2

3

.htaccessを使用してリクエストをリダイレクトできます。例えば:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]

すべてのリクエストをにリダイレクトします。ここで、ユーザーがを調べるだけindex.phpで必要かどうかを確認できます。次に、必要なファイルを彼に提供します。file.zip$SERVER['REQUEST_URI']

$zip = '/path/to/zip/file/outside/the/web/root.zip';

// set correct headers, so the browser identifies the response as a zip file
header('Content-type: application/zip;');
header('Content-Transfer-Encoding: binary');
header('Content-Length: ' . filesize($zip) . ';');
header('Content-Disposition: attachment; filename="whatever.zip";');

// output the file contents
readfile($zip);
于 2013-02-07T20:34:44.580 に答える
1

それを使用.htaccessして、任意の要求を書き換えることができます。リンクはzipファイルのように見えますが、リクエストはいくつかのphpスクリプトに送信されます。

このphpファイルは、要求されたURIを解析し、実行する必要があることを実行し(カウンターをインクリメントし、送金します。..)、これらすべてがファイルを提供した後でのみ実行します。

于 2013-02-07T20:34:21.493 に答える