我正在使用Codeigniter来创建Web应用程序。我遇到的问题是提交表单的功能。我想要做的是通过使用表单中的函数来防止从URL直接访问,因此如果任何人从表单中复制操作方法并通过URL输入访问权限,它将拒绝访问。
请指导我。
谢谢你。
答案 0 :(得分:3)
严格地说,执行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
是最好的选择,非常几次。实际上,您应该优雅地处理GET
和POST
。
答案 1 :(得分:1)
尝试:
if( $this->input->post(null)){
//your form submit code here
}
答案 2 :(得分:0)
您只需检查$ _POST变量即可执行此操作,
if(!is_array($_POST) || count($_POST)==0)
{
die('You have no access');
}