PHPのheader関数で表示される画像は右クリック禁止に出来ますか?

前提

PHPでサーバにあるPNGファイルを読み込んで標準出力する場合、次のようにコーディングすると思います。

$filename = '/path/to/sample.png'; header('Content-Type: image/png'); header('Content-Length: ' . filesize($image)); header('Content-Disposition: attachment; filename=sample.png') while (ob_get_level()) { ob_end_flush(); } flush(); readfile($filename);

実現したいこと

上記コードでウェブブラウザにPNG画像が表示されますが、画像(もしくは表示されているページ全体でもいい)マウスの右クリックを禁止したいのですが、可能でしょうか?
可能だとした場合、ヒントで良いのでどうしたら実現可能かご教示いただけると幸いです。

試したこと

試しに「test.js」ファイルを作成し、次のコードを書いて保存・サーバにFTPしました。

document.oncontextmenu = function() { return false; }

そして「前提」のコードに次のコードを追加して試してみました。

header('Content-type: text/javascript', false); header('Content-Disposition: inline; filename="/test.js"', false); header('Content-Length: '.filesize('/test.js'), false); exit;

指定したJSがHTTPヘッダに追加されていないのをChromeのデベロッパーツールで確認しました。
なんで??

補足情報(FW/ツールのバージョンなど)

サーバ:エックスサーバー
PHP:7.4.28

コメントを投稿

0 コメント