CodeIgniter がコア PHP コーディングよりも安全である方法。セキュリティのための特別なコードを書かないとコア PHP から取得できない、CodeIgniter によって処理されるセキュリティの問題は何ですか。SQL インジェクションを防ぐために、mysql_real_scape_string()
.
4 に答える
Codeigniter および Zend、cake、Yii などの他の一般的なフレームワークはすべて、クロスサイト スクリプティング XSS、SQL インジェクション、その他のハッキングなどの一般的なエクスプロイトに耐性のあるコードを開発者にある程度強制するメソッドと構造を提供します。しかし、すべては開発者次第です。フレームワークは、アプリケーションを構築するための十分にテストされた構造のみを提供します。場合によっては、コア php を作成すると、より安全なコードを作成できます。しかし、それには非常に熟練した開発者が必要です。したがって、ほとんどの場合、フレームワークを使用すると確実に利点が得られます。
http://ellislab.com/codeigniter%20/user-guide/libraries/security.html
$data = $this->security->xss_clean($data);
POST または COOKIE データに遭遇するたびにフィルターを自動的に実行したい場合は、application/config/config.php ファイルを開いて次のように設定することで有効にできます。
$config['global_xss_filtering'] = TRUE;
codeigniter は開発を中止したと聞きました。また、バックエンドのセキュリティを向上させるために、codeigniter が mysqli 関数の代わりに mysql を使用していることも認識しています。
通常、codeigniter での mysql インジェクションを防ぐために、モデルでバインディングを使用します。これは次のようなものです。
$sql = "SELECT * FROM some_table WHERE username = ? AND password= ?";
$this->db->query($sql, array($username, $Encrypted_password));
バインドを使用する利点は、値が自動的にエスケープされ、より安全なクエリが生成されることです。
このアプリケーション フレームワークは、今でも私にとっては良いものです。
例:-
$data = array('NAME' => $NAME,'EMAIL' => $EMAIL, 'PASSWORD' => $PASSWORD);
$clean = $this->security->xss_clean($data);