5

まず第一に、私はこの投稿と私の質問に関する他のいくつかの投稿を読んだことを思い出してください.

現在、CodeIgniter 3 を使用しています。データベースに挿入する前に、ユーザーからデータを取得するデータに最適なサニタイズ フィルターを知りたいです。

これは私のウェブサイトを登録するためのもので、登録しているユーザーの種類がわからず、信頼できません。そして、危険になる可能性があります データベースに挿入する前にすべての入力inputをサニタイズしたいのですが、サニタイズするのに十分なクラスを知りませんか?
codeigniter のサニタイズ機能を教えてください!

codeigniter ドキュメントのセキュリティ クラスを読みましたが、確認したいと思います。

4

2 に答える 2

2

アプリケーションにデータを受け入れる前に、それがフォーム送信からの POST データであろうと、URI データであろうと、次の手順に従う必要があります。

  1. データをフィルタリングします。
  2. データを検証して、正しい型、長さ、サイズなどに準拠していることを確認します (この手順で手順 1 を置き換える場合があります)。
  3. データベースに送信する前にデータをエスケープします。CodeIgniter は、このプロセスを支援するために次の関数を提供します。

XSS フィルタリング

このフィルターは、悪意のある JavaScript をデータに埋め込むために一般的に使用される手法を探します

XSS フィルターを使用してデータをフィルター処理するには、xss_clean()次のメソッドを使用します

データを検証する

CodeIgniter には、データの検証、フィルタリング、および準備を支援するフォーム検証ライブラリがあります。

$this->form_validation->set_rules('username', 'Username','trim|required|min_length[5]|max_length[12]');

フィールドをトリミングし、必要に応じて長さをチェックし、両方のパスワード フィールドが一致していることを確認します。続きを読む

データベース挿入前にすべてのデータをエスケープする

情報をエスケープせずにデータベースに挿入しないでください。

詳細については、クエリ ビルダー クラスを参照してくださいhttps://www.codeigniter.com/userguide3/database/query_builder.html

より詳しい情報

Codeigniter はあなたのアプリケーションをセキュアにしませhttps://security.stackexchange.com/questions/97845/how-secure-is-codeigniter-3-x

すべては実際には開発者に依存します。フレームワークは、アプリケーションを構築するための構造を提供するだけです。コア php を作成すると、より安全になります。

その他のリンク:

PHPでパスワードをハッシュするためにbcryptをどのように使用しますか?

SQL インジェクションを防ぐには、PDO 準備済みステートメントで十分ですか?

于 2015-10-29T16:38:05.757 に答える