3

codeigniterを使い始めたばかりですが、1つの関数を使って入力フォーマットを実行したいと思います。

入力に実装したいコード:

function sanitize ($string)
{
    $string = filter_var($string, FILTER_SANITIZE_STRING);
    $string = trim($string);
    $string = stripslashes($string);
    $string = strip_tags($string);

    return $string;
}

私の質問は:

inputクラスを使用すると、codeigniterはデフォルトでこれらのアクションを実行しますか?または、入力をフィルタリングするためのカスタム関数を作成する必要がありますか?

私の目標は:

フォームへのユーザー入力をクリーンで保護し、フォーム内のスペースをトリミングします。

4

2 に答える 2

1

マニュアルのセキュリティに関する章を読むことをお勧めします。目的の機能を (多かれ少なかれ) 実行する機能 (主に XSS フィルター) が表示されます。あなたの機能に近い機能はないと思います。 、 けれど。その周りに (またはその代わりに) 独自の実装をいつでも記述し、関数をヘルパーに配置して、必要なときにいつでも利用できるようにすることができます。

リソースをかなり消費するため、通常はデフォルトでは適用されません。ただし、構成ファイルで常に使用するように設定することも、2 番目の引数として TRUE を渡すことで投稿ごとに使用するように設定することもできます。$this->input-post()

実装の詳細に進みたい場合は、 にある Security.php ファイルを開いて、提供された入力に対して関数が実行するsystem/core/すべての操作を確認してください(264 行目あたり)。xss_clean()

トリミングに関しては、完了したかどうかはわかりませんが (十分に確認していません)、手で書くのはかなり短く、さらに、フォーム検証ライブラリで利用できるフィルターの 1 つです。フォーム送信後に使用します。

于 2012-12-06T19:32:09.913 に答える