2009/2/19 木曜日

mod_rewriteの%2f(スラッシュ)問題で404 エラーになる件

Filed under: mod_rewrite, apache, php — admin @ 17:48:36

Apache 2.0.46以降であれば
httpd.confで

AllowEncodedSlashes On

とすることで回避できることは有名ですが、
.htaccessで設定できないことから
レンタルサーバー等で運用していて
上記設定が不可能な場合アプリケーション側で対応する必要があります。

方法としては%2fだけ二重にエスケープすることで回避します。

で、具体的な回避方法が見当たらなかったので自分用メモとして
書き残しておきます。

phpサンプル

str_ireplace("%2f","%252f",urlencode($url))
No Tags

2009/1/23 金曜日

PHPのheaderで304を返すと勝手にContent-Typeを書き換える問題

Filed under: IE7, php — admin @ 16:54:38

PHPのheader関数で304を返すと勝手にContent-Typeをtext/plainに書き換える。
どうやらcgi版のphp 5.2.6以前だけに起こるphpのバグらしいのだが,修正されている筈の5.2.8になっても治ってない。
header関数で、再度Content-Typeを指定してあげても、強制的にtext/plainに書き換えられるのでお手上げ。
本来は304 statusの時にはContent-Type自体送って来ないのが正しいです。

で、なんでこれが問題になるのかというと
IE7ではセキュリティ強化がされていて、キャッシュの内容とcontent-typeの異なる304 statusが返って来るとローカルキャッシュへのアクセスが拒否されてしまう。尚、firefox等の他のブラウザでは問題ない。

さらにうっとおしい事に、一度キャッシュに残ってしまうと『アクセスが拒否されました』というエラーメッセージと共にスーパーリロード(ctrl+F5)でも、キャッシュの再取得が出来なくなるということ、こうなると、直接、キャッシュフォルダを開いて該当のキャッシュファイルを削除するしか方法がなくなる。

おまけ
アクセスが拒否されましたというページは、内部javascriptによって以下のようなHTMLページが生成されています。

<html><head>
<script src="res://mshtml.dll/objectembed_neutral.js"</script>
</head><body objectSource="http://対象キャッシュファイルのURL"
onload="ObjectLoad();" leftmargin=0 topmargin=0 scroll=no>
<form id="objectDestination"></form>&lt/body></html>
No Tags

2008/6/8 日曜日

PHP/脆弱性リスト/メモ - yohgaki’s wiki

Filed under: php — admin @ 18:45:22

PHP/脆弱性リスト/メモ - yohgaki’s wiki

No Tags

2008/5/22 木曜日

PHP コード最適化 Best Practices 63+ - カタコト日記

Filed under: php — admin @ 23:12:27

PHP コード最適化 Best Practices 63+ - カタコト日記

No Tags

2008/5/11 日曜日

ke-tai.org > Blog Archive > Ethnaでケータイサイトを作る際に参考になる記事「php&ethnaで携帯サイトを作る」

Filed under: 携帯, php — admin @ 1:58:43

ke-tai.org > Blog Archive > Ethnaでケータイサイトを作る際に参考になる記事「php&ethnaで携帯サイトを作る」

No Tags

2008/3/14 金曜日

PHPでFLVストリーミング,成功したよパパン!の巻き - Paradigm Shift Design

Filed under: flv, php — admin @ 21:02:29

PHPでFLVストリーミング,成功したよパパン!の巻き - Paradigm Shift Design

No Tags

2008/2/22 金曜日

PHPでの画像のリサイズ、切り抜きが自由自在「class.image.php」:phpspot開発日誌

Filed under: php — admin @ 15:02:22

PHPでの画像のリサイズ、切り抜きが自由自在「class.image.php」:phpspot開発日誌

No Tags

マッシュアップに必須!PHPで複数APIを同時に叩いて超高速化するサンプル:phpspot開発日誌

Filed under: php — admin @ 14:59:42

マッシュアップに必須!PHPで複数APIを同時に叩いて超高速化するサンプル:phpspot開発日誌

No Tags

PHP:parse_urlで想定外の文字コード変換が行われてるっぽい件

Filed under: php — admin @ 14:12:34

phpは馬鹿チョンでだれでも使えるのが売りなんだけど、
この勝手にやってくれるところが、よく迷宮入りのバグの原因になる。

PHP:parse_urlで想定外の文字コード変換が行われてるっぽい件

No Tags

2008/2/17 日曜日

PHPから各種ウェブサービスにアクセスするためのライブラリ集 2008年2月版:phpspot開発日誌

Filed under: php — admin @ 1:24:18

PHPから各種ウェブサービスにアクセスするためのライブラリ集 2008年2月版:phpspot開発日誌

No Tags
次のページ »