Codeigniter 中是否有内置功能可以知道控制器中的 HTTP 方法又名请求方法(get / post / put ...)?我认为是这样的:
if ( ! $this->input->is_post() ) show_error('Access forbidden', 403 );
我想禁止在需要发布输入的函数中访问 GET 方法。我在文档中找不到关于这个简单事情的内容。
Codeigniter 中是否有内置功能可以知道控制器中的 HTTP 方法又名请求方法(get / post / put ...)?我认为是这样的:
if ( ! $this->input->is_post() ) show_error('Access forbidden', 403 );
我想禁止在需要发布输入的函数中访问 GET 方法。我在文档中找不到关于这个简单事情的内容。
尝试这个:
if($_SERVER['REQUEST_METHOD'] == 'GET'){
exit();
}
//continue with your code. it's a POST.
你可以试试这样:
if($this->input->server('REQUEST_METHOD') == 'POST'){
show_error('Access forbidden', 403 );
}
一般情况下可以像下面这样使用
if($_SERVER['REQUEST_METHOD'] == 'GET')
//abort
或者您可以为此创建一个 CI 助手。
如果您想阻止发布,请在 if 条件中使用字符串“POST”。这是直截了当的。
在可疑情况下如果你想阻止post(如果你觉得请求方法可以被操纵)
注意:我没有使用以下内容,这只是我的即时想法。检查 http 原始输入数据。
$rawdata = file_get_contents('php://input');
可能您可以检查 strlen 是否大于零...或在此处添加您的逻辑。
假设您不想仅使用 codeigniter 来解决此问题。