2009年8月30日

[PHP-users 34747] Re:ロードするCSSファイルを変える


島筒です。

すいません、山本さんが終了と言われた後からのレスになってしま
うのですが・・・

「ソースを見せない」の対応について、簡単にやるなら以下でしょうか

http://yourhost/index.html

<link rel="stylesheet" href="./css/stylesheet.php" />

http://yourhost/css/stylesheet.php
<?php
if ( !isset($_SERVER["HTTP_REFERER"]) || !preg_match('{ http://localhost/}' ,$_SERVER["HTTP_REFERER"]) ) {
header("HTTP/1.1 403 Forbidden");
echo "403 Forbidden";
exit;
}

$cssfilepath = "/home/xxx/css/stylesheet.css";
// 必要があればここで読み込むファイルを変更する
header("Content-Type: text/css");
echo file_get_contents($cssfilepath);

?>
※一部、西村さんのソースを拝借させていただいております。

上記の対応には、問題があります。
ブラウザがリファラーを送ってくれないと、スタイルシートが適用
されないページが表示されてしまう。
そのため、サイトへアクセスするユーザへは、リファラーを送るこ
とを強要しないといけない。

これで対応できていると思います。


プログラム以外に私が思ったこととして、山本さんはindex.htmlの
linkタグからのリクエストと、/css/stylesheet.phpへURLを直接リ
クエストすることの2つに違いがあるように認識されているように
思います。
(リファラーなどの違いはありますが。)
linkタグによるリクエストも、URLを直接リクエストすることも、
どちらもHTTP(80ポート)を使用してのリクエストに変わりはありま
せん。
違うとしたら、ブラウザが送るヘッダーが違っていることです。
ブラウザが送るものを信じるかなどの問題(今回だと送られてくる
リファラー)は、サイトの方針によるものになります。


以上


┌−
 島筒 耕平
 k.shimadutsu@xxxxx
                    −┘

_______________________________________________
PHP-users mailing list PHP-users@xxxxx
http://ml.php.gr.jp/mailman/listinfo/php-users
PHP初心者のためのページ - 質問する前にはこちらをお読みください
http://oldwww.php.gr.jp/php/novice.php3


投稿者 xml-rpc : 2009年8月30日 16:19
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/88108
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。