阻止GET访问某些URI


Prevent GET access to some URI

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帮助程序。

如果要阻止post,请在if条件中使用字符串"post"。就这么直向前地

在可疑情况下,如果你想阻止张贴(如果你觉得请求方法可以被操纵)

注意:我没有使用以下内容,这只是我的即时想法。检查http原始输入数据。

$rawdata = file_get_contents('php://input');

也许你可以检查strlen是否大于零。。。或者在这里添加您的逻辑。

假设您不希望仅使用codeigniter来解决此问题