[PHP-users 11873] Re: PHPバージョンによる相違
Ryotaro Shimazu
php-users@php.gr.jp
Thu, 28 Nov 2002 15:09:04 +0900
島津です。
大垣さん、ありがとうございました。
> 大垣です。
>
> Ryotaro Shimazu wrote:
> >>hiddenで変数を渡す場合、配列にした値をserialize、圧縮、urlencode
> >>しmessage digest方式で改竄チェックをするsecure_serialize
> >>関数という関数を作ってチェックしています。ずいぶん前に、zend.com
> >>のCode Exchangeにポストしているコードと仕組みは同じです。
> > 自分なりにzend.comを探してみたのですが、
> > http://www.zend.com/codex.php
> > のどこかに、そのコードはあるのでしょうか? それとも全然別のところで
しょ
> > うか?
>
> http://www.zend.com/codex.php?id=626&single=1
>
> にあります。このコードはシステムが設定したPOST/GET/COOKIE
> の値が改竄されていないかチェックするものですが、同様の仕組みで
> 前に説明したsecure_serializeを実装できます。
>
message digestってこういうふうに使うんだと、初めて理解できました。
ところで、もし私の勘違いなら大変恐縮なのですが、
http://www.zend.com/codex.php?id=626&single=1
にあるスクリプトのファイル名ですが、一部、requireされるファイルと呼び出
しもとのファイル名が入れ違っているところがあると思います。
後半の本体プログラムでは、
require_once 'security/input_check.php';
とあります。
ということは、前半のrequireされるファイル名はinput_check.phpになると思い
ます。
しかし、この本体のプログラムの<form>タグのアクション先はinput_check.php
となっているために、おかしなことになっています。submit(set or check)し
ても真っ白の画面しか現れませんでした。
そこで、前半のスクリプト(require_onceされるファイル)のソースを見てみま
すと、冒頭部にコメントで
File: /security/check_input.php
とあります。恐らく、このファイルの名称はcheck_input.phpですという意味だ
と思いましたので、後半の本体プログラムの
require_once 'security/input_check.php';
↓
require_once 'security/check_input.php';
に変更したところ、正しく動作しました。
何も、鬼の首を取ったようにMLで報告することも無かろうとも思うのですが、私
は少なくとも20分ほど考え込んでしまったので、DMではなく、MLで流させてい
ただきました。
他の人なら一瞬で気づくことかもしれないので、いちいち言う必要が無かったか
もしれませんが、その場合はお許しを。
ありがとうございました。
-------
島津 良太郎