3

私は ajax クエリに応答するバックエンドを作成中です。私は Codeigniter を使用しており、コントローラーはこれらの関数の束で構成されています。

public function name_change()
{
    if($this->input->is_ajax_request())
    {
        //Grab the Inputs
        //Do something
        //Respond
    }
    else
    {

    }           
}

私の唯一の質問は、Ajax リクエストではない場合をどのように処理すればよいですか? これらのコントローラー関数に ajax 以外のリクエストでアクセスする理由はありません。私が考えることができるオプションは次のとおりです。

  • 返信なし
  • エラー ページを表示します (ステータス コード 200 または 403 を使用すると仮定します)。
4

1 に答える 1

5

ゴールデン ルールは、決してユーザー入力を信頼しないことです。

したがって、データが ajax リクエストからのものであるか、関数に送信されただけであるかに関係なく、コントローラーはデータが汚染されていると想定し、完全な検証、ユーザー認証などを行う必要があります。

したがって、誰かが (意図的または偶然に) ajax 要求なしでそのコントローラーにたどり着いたかどうかは実際には問題ではありません。

そうでない場合は、顧客に有用なエラー メッセージを表示します (特に顧客が誤ってアクセスした場合)。

于 2012-09-14T17:15:30.323 に答える