繁体   English   中英

防止在Codeigniter中直接访问表单发布功能

[英]prevent direct access to form post function in codeigniter

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

请指导我。

谢谢。

严格来说,执行if($_POST)if($this->input->post())在90%的情况下都有效,但并非100%正确。 为什么不? 好吧,如果你有,而该人已触发形式实际上不填写任何东西出来后,他们仍然会POST

如果你真的想确保有人POST荷兰国际集团到您的控制器,您需要检查REQUEST_METHOD

if($_SERVER['REQUEST_METHOD'] === 'POST')
{
    // this is a POST
}
else
{
    show_404('not-a-POST!');
} 

所有这一切都表示, 很少有时间的时候限制POST是最好的选择。 实际上,您应该优雅地处理GETPOST

尝试:

if( $this->input->post(null)){
    //your form submit code here
}

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

if(!is_array($_POST) || count($_POST)==0)
{
   die('You have no access');
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM