2012-01-19 4 views
0

私はフレームワークとしてcodeigniterを使用しています。私のコントローラの上部では、uri_string(ユーザが最後に要求したページ)をライブラリに送り、ユーザセッションに送信します。最終的にデータベースに格納されます。CI uri_string()検証が必要ですか?

私の質問は、このuri_string()をまったく検証する必要があるかどうか、またはそれがそのまま安全かどうかです。

+0

はい、すべてを検証する必要があります。 Codeigniterは、とにかくURLの濁った文字を禁止し、あなたがActiveRecordを使用していることを確認すれば、それはとにかに物事をエスケープします。これまでに訪問したページをセッションに入れることについては、私は[今日あなたに役立つかもしれない回答を投稿しました](http://stackoverflow.com/questions/8937472/creating-back-page-links-in-codeignitor/8941073#8941073) 。 –

答えて

0

'permitted_uri_chars'の項目がconfig.phpであると、許可されていない文字を含むURLは自動的に禁止されます。したがって、悪意のある可能性のある文字を含むように変更していない限り、あなたは大丈夫です。デフォルトでは

これらのみが許可されています:config.phpでのコメントからAZ 0-9〜%:_-

しかし、as Rooneyl mentions、それはおそらくとにかくそれをサニタイズするためには何も損はありません。

+0

私はデフォルトの許可されたURIを編集していないので、私は編集しないと思います...私はこれを一番上に置いたMY_Controllerを持っています。そして、別の検証のインスタンスを実行する理由はないと思いますすべてのページの読み込み時にクラスが必要です。 – ngl5000

2

単純な回答ですが、疑わしい場合はそれを検証してください。 短期間では、安心してコードすることができます。

また、すべてのコントローラでこれが起こる場合は、各コントローラの構成に関数呼び出しを追加するか、コアコントローラを拡張して構造体に呼び出しを含めることをお勧めします。