GETメソッドは危険という都市伝説

よく盲目的にGETメソッドは危険だからPOSTメソッドをすべきだと教育されたりするだろう?
これは間違いでは無いが間違いである。

GETメソッドが危険というそもそもの意味を知っている人間自体がいないのだ。
今となってはググっても出てこなくなってしまっているので、IT業界の生き字引な私が記憶を掘り起こして書き記そう。
対象バージョンがapache0.8未満だったと記憶している。
getパラメータに確か1000バイト超だったと記憶している。
要するにgetパラメータのバッファオーバーフローがあり、コマンドを記述するとやりたい放題という致命的すぎるバグがあったのですよ。
これがそもそものGETパラメーターは危険と言われていた話であり、この時代からインターネット関係の作業や勉強をしていた人間は少数の為あまり知られていない。

現在では、ブラウザのアドレスバーに記憶されるからIDやパスワード等を入力させると危険という別の意味での危険性を問われています。
これはこれで正しい話ですのでGETメソッドのデメリットと言えます。
後は、簡単に値を変更出来てしまうと言う事もデメリットとしてありますね?

ではGETメソッドのメリットはあるでしょうか?
例えばGETメソッドの場合はアクセスログにクエリーパラメーターも一緒に記録されるので、後からバッチで解析する事が可能です。
簡単にパタメータ値を変更出来るのはデメリットでもありますが、メリットでもあります。
urlを引用して転載して貰えるなどもメリットでしょう?
用途次第では当然GETメソッドを利用するメリットはあるのです。

Leave a Reply

Time limit is exhausted. Please reload CAPTCHA.