如何在 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]+'
);
我有一个项目,我们应该使用 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]+'
);