0

私のmod-rewriteは次のとおりです:

RewriteRule ^(.*)\.png viewimg.php?n=$1 [NC]

したがって、ユーザーがアクセスするmysite.com/2012-10-16_1941.pngと、 page が表示されますmysite.com/viewimg.php?n=2012-10-16_1941

ここに私のPHPコードがあります:

<?php
    echo $_GET['n'].".png";
    echo "<img src='".$_GET['n'].".png' alt='Image' />";
    echo "<br /><br />";
    echo "advert.";
?>

しかし、埋め込もうとしている画像が見つかりません。書き換えられているためです。画像が PHP ページにのみ表示されるようにするにはどうすればよいですか?

Gyazo が使用するような PHP スクリプトを作成しようとしています。私のデスクトップ アプリケーションは画面キャプチャを FTP にアップロードし、次にこの PHP スクリプトを使用して画像を広告と共に表示します。視覚的に魅力的な URL をそれに合わせたいだけです。

4

2 に答える 2

0

クエリ文字列パラメーターを追加するか、リファラーと照合してみてください。

クエリ文字列:

php:

<?php
    echo $_GET['n'].".png";
    echo "<img src='".$_GET['n'].".png?embed' alt='Image' />";
    echo "<br /><br />";
    echo "advert.";
?>

mod_rewrite:

RewriteCond %{QUERY_STRING} embed
RewriteRule ^(.*)\.png viewimg.php?n=$1 [NC]

リファラーチェック

mod_rewrite:

RewriteCond %{HTTP_REFERER} ^http://mysite.com/$ [NC]
RewriteRule ^(.*)\.png viewimg.php?n=$1 [NC]

php: 変更は必要ありません

どちらも偽装して広告付きの php ページをバイパスできますが、クエリ文字列 1 の方がさまざまなブラウザーでうまく機能する可能性があります。

于 2012-10-17T04:41:29.877 に答える
0

html img タグの src 値は html を受け取ることができず、画像ファイル パスを受け取るだけです。そのため、コードは広告としてマークされた画像ファイルを返すことができます(これが必要な場合)

于 2012-10-17T04:36:29.647 に答える