我正在编写后端以响应ajax查询。我正在使用Codeigniter,我的控制器由许多这些函数组成。
public function name_change()
{
if($this->input->is_ajax_request())
{
//Grab the Inputs
//Do something
//Respond
}
else
{
}
}
我唯一的问题是我应该如何处理不是Ajax请求的情况?没有理由通过非ajax请求访问这些控制器功能。我能想到的选择是。
答案 0 :(得分:5)
黄金法则永远不会信任用户输入
因此,无论数据来自ajax请求 - 还是仅发送到函数 - 您的控制器都应该认为它已被污染并进行完全验证,用户身份验证等。
因此,如果有人在没有ajax请求(无论是有意还是无意)的情况下到达那个控制器,那真的很重要 - 所以如果他们提交的数据有效,那就让它通过。
如果没有 - 只是向客户抛出有用的错误消息(特别是如果他们偶然到达那里)。