CodeIgniterには、各要求に対して自動的にGET/POST/COOKIEの配列キーをフィルターし、危険そうなアプリケーションは作動を停止するような関数があります。
ユーザーが悪意を持ってインプットキーを利用するのを防ぐため、キーはアルファベットと数字を組み合わせたものでのみ書かれていることを確かめる必要があります。
例えば、このような書き方をします。
// 各GET/POST/COOKIEキーを$strとする
if ( ! preg_match(""/^[a-z0-9:_\/-]+$/i"", $str))
{
exit('無効な字が含まれています。');
}
こうしておくと、例えば<input name=""TE$T"">や?name|first=1のようなクエリ文字列を間違えてポストしてしまったときに、エラーとして知らせてくれます。
こうしておけば、アプリケーションを開発している間、簡単なキーの名前をつけるのを防いだり、間違いに気付くことができると思います。
しかし、どのような場合にユーザーは悪意で$_POSTのキーを利用することがあるのでしょうか。
インプット値も利用しやすいと思うのですが、 なぜこれではなくキーを利用するのでしょうか。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。