我正在使用 Codeigniter 创建一个 Web 应用程序。我遇到的问题是提交表单的功能。我想要做的是通过使用表单中的功能来防止从 URL 直接访问,所以如果有人从表单中复制操作方法并通过 URL 输入访问它,它将拒绝访问。
请指导我完成这个。
谢谢。
我正在使用 Codeigniter 创建一个 Web 应用程序。我遇到的问题是提交表单的功能。我想要做的是通过使用表单中的功能来防止从 URL 直接访问,所以如果有人从表单中复制操作方法并通过 URL 输入访问它,它将拒绝访问。
请指导我完成这个。
谢谢。
严格来说,在 90% 的情况下做类似if($_POST)
或if($this->input->post())
将起作用的事情,它们并不是 100% 正确的。为什么不?好吧,如果您有一个帖子,该人在没有实际填写任何内容的情况下触发了表单,他们仍然会POST
。
如果你真的想确保有人在POST
连接你的控制器,你需要检查REQUEST_METHOD
.
if($_SERVER['REQUEST_METHOD'] === 'POST')
{
// this is a POST
}
else
{
show_404('not-a-POST!');
}
综上所述,很少有限制POST
是最好的选择。实际上,您应该GET
优雅地处理POST
。
尝试:
if( $this->input->post(null)){
//your form submit code here
}
您只需检查 $_POST 变量即可执行此操作,
if(!is_array($_POST) || count($_POST)==0)
{
die('You have no access');
}