0

我正在使用 Codeigniter 创建一个 Web 应用程序。我遇到的问题是提交表单的功能。我想要做的是通过使用表单中的功能来防止从 URL 直接访问,所以如果有人从表单中复制操作方法并通过 URL 输入访问它,它将拒绝访问。

请指导我完成这个。

谢谢。

4

3 回答 3

3

严格来说,在 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

于 2013-09-04T15:35:21.607 回答
1

尝试:

if( $this->input->post(null)){
    //your form submit code here
}
于 2013-09-04T15:31:33.197 回答
0

您只需检查 $_POST 变量即可执行此操作,

if(!is_array($_POST) || count($_POST)==0)
{
   die('You have no access');
}
于 2013-09-04T15:31:39.553 回答