0

現在CodeIgniterを使用しています。4 つのフォームがあります (学生のサインイン、フォームでのログイン、アカウントの作成、アカウントのリクエスト)

現在、これを使用して、フォームの1つで入力をフィルタリングしています(アカウントの作成):

function create()
    {
        $this->load->library('bcrypt'); 
        $this->load->library('form_validation');

        $this->form_validation->set_rules('fname', 'First Name', 'trim|required|alpha|max_length[14]');
        $this->form_validation->set_rules('lname', 'Last Name', 'trim|required|alpha|max_length[14]');
        $this->form_validation->set_rules('email', 'Email Address', 'trim|required|is_unique[users.email]|valid_email');
        $this->form_validation->set_rules('username', 'Username', 'trim|is_unique[users.username]|required|alpha_numeric||min_length[4]|max_length[15]');
        $this->form_validation->set_rules('password', 'Password', 'trim|required|min_length[7]|alpha_dash|max_length[20]');
        $this->form_validation->set_rules('passwordconf', 'Confirm Password', 'trim|required|min_length[7]|max_length[20]|matches[password]|alpha_dash');

        if($this->form_validation->run() == FALSE)
        {
            $this->view();
        }

私の理解では、HTML Purifier は、ユーザー データがテーブル、フォーラム、ブログなどで HTML としてエコー/出力される場合にのみ使用する必要があります。これについての私の理解は正しいですか? 学生のログインフォームを使用してデータベースにデータを入力するため、質問しています。次に、学生キュー ページを使用して SELECT ... FROM ... そのデータベースを使用します。学生キューの出力を作成すると、データがデータベースに格納されるため、これは私を混乱させます。直接投稿するだけではありません。

したがって、私の思考の流れは次のようになります。

  • データを検証して、期待どおりであることを確認します
  • 現在のように xss_clean でデータをフィルタリングします。
  • PDO で準備されたクエリを使用して、データを DB に挿入します
  • (今、このステップは私を混乱させます)データベースデータをどのようにエコーする必要がありますか? このステップで HTML Purifier を使用する必要がありますか?

この質問が何百万回も尋ねられている場合は申し訳ありませんが、探しているものが見つからないようです。私は HTML purifier の概念を完全には理解していません。

編集 1: 構成ファイルでグローバル xss_clean フィルターを使用します。

4

1 に答える 1