Ajax端点应该如何响应非ajax请求?

gsu*_*008 3 php ajax jquery codeigniter

我正在编写后端以响应ajax查询.我正在使用Codeigniter,我的控制器由许多这些功能组成.

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

    }           
}
Run Code Online (Sandbox Code Playgroud)

我唯一的问题是我应该如何处理不是Ajax请求的情况?没有理由通过非ajax请求访问这些控制器功能.我能想到的选择是.

  • 发送没有回复
  • 抛出一个错误页面(我假设我会使用状态代码200或403)

Lau*_*nce 5

黄金法则永远不会信任用户输入

因此,无论数据来自ajax请求 - 或者只是发送到函数 - 您的控制器应该假定它被污染并进行完全验证,用户身份验证等.

因此,如果某人在没有ajax请求(有意或无意)的情况下最终在该控制器处结束并不重要 - 所以如果他们提交的数据有效,请让它通过.

如果不是 - 只是向客户抛出有用的错误消息(特别是如果他们意外地到达那里).