如何在 codeigniter 中处理 csrf 安全

How to deal with csrf security in codeigniter

我有一个项目,我们应该使用 CI 在 2 个不同的应用程序中进行交互。我使用 post 方法将请求从第一个应用程序发送到第二个应用程序。在我配置 csrf 并使用表单进行测试后,我得到了输出

An Error Was Encountered.The action you have requested is not allowed.

我想知道如何处理? 我正在使用 CI v2

好吧,我相信您已经正确设置了 CSRF。如果不是,请参考 Codeigniter CSRF 文档。为此,下面是 link。 https://www.codeigniter.com/user_guide/libraries/security.html#cross-site-request-forgery-csrf

现在,对于 API,您需要将来自 CSRF 的 URI 列入白名单。

像这样使用,

$config['csrf_exclude_uris'] = array('api/person/add', 'api/person/edit/[0-9]+');

也支持正则表达式(不区分大小写):

    $config['csrf_exclude_uris'] = array(
        'api/record/[0-9]+',
        'api/title/[a-z]+'
    );