ソースコードに次のコードが表示されないようにする方法。
imgタグコード
echo'<img src="jal.gif" alt="Smiley face" height="42" width="42" />';
ソースコード
<img alt"Smiley face" src="http://www.myweb.com/jal.gif">
実際には、ユーザー画像のパスを表示したくありません。
ありがとう
私はあなたがそのようなものが欲しいと思います、base64エンコーディングで画像をhtmlファイルにコミットします:
<img alt="Smiley face" src="data:image/jpeg;base64,<?php echo base64_encode(file_get_contents("jal.gif")); ?>" />
パスを実際に非表示にする方法はわかりませんが、cssを使用して、少なくともユーザーが画像のファイルパスを見つけるための調査を行うことができます。画像をdiv内に配置し、そのdivに背景画像を指定します。
<div id="imgdiv"></div>
cssの場合:
#imgdiv{
background-image: url('http://www.myweb.com/jal.gif');
}
ユーザーがブラウザで画像をドラッグできないため、これも便利です。
プロキシを使用できます。つまり、必要な画像を実際にロードする PHP ページを使用します。たとえば、次のようにすることができます。
<img src="my_proxy.php?img=jal.gif" alt="Smiley face" height="42" width="42" />
その後、my_proxy.php
ページはパラメーターを使用して必要な画像を実際に読み込みimg
ます。
私からの最後の解決策:)
コードにはセキュリティ ホールがあります。問題がなければ、投稿を編集してこれらのセキュリティ ホールを修正します。コードを試しませんでした。しかし、機能するためには、ブラウザーがセッションの Cookie をサポートしている必要があり、完全な解決策ではありません。ユーザーは、スニファまたはブラウザの右クリックで画像を取得できます。完全に暗号化することは不可能です。(ajax postを使用して、javscript復号化も実装できます)
ページに含まれていると仮定session_start()
します。
showimage.php
<?php
session_start();
header("Cotent-Type: image/jpeg");
readfile($_SESSION["files"][$_REQUEST["id"]]);
?>
index.php
<?php
session_start();
$i=rand();
$_SESSION["files"][$i]="cat.jpg";
echo "<img src=\"showimage.php?id=".$id."\" />";
?>