Codeigniter中是否有内置功能,以便在控制器中了解HTTP方法又称请求方法(get / post / put ...)? 我想像是这样的事情:
if ( ! $this->input->is_post() ) show_error('Access forbidden', 403 );
我想禁止在需要后置输入的函数中访问GET方法。我在文档中找不到关于这个简单事情的东西。
答案 0 :(得分:2)
试试这个:
if($_SERVER['REQUEST_METHOD'] == 'GET'){
exit();
}
//continue with your code. it's a POST.
答案 1 :(得分:1)
在正常情况下,您可以像以下一样使用
if($_SERVER['REQUEST_METHOD'] == 'GET')
//abort
或者你可以为此创建一个CI助手。
如果你想阻止帖子,那么在if条件下使用字符串'POST'。就是这样 前进。
在可疑情况下,如果您想要阻止发帖(如果您认为可以操纵请求方法)
注意:我没有使用以下内容,这只是我的想法。 检查http原始输入数据。
$rawdata = file_get_contents('php://input');
可能是你可以检查大于零的strlen ... 或者在这里添加你的逻辑。
假设您不打算仅使用codeigniter解决此问题。
答案 2 :(得分:1)
您可以尝试这样:
if($this->input->server('REQUEST_METHOD') == 'POST'){
show_error('Access forbidden', 403 );
}