【问题标题】:May I ignore this hotspot security alert?我可以忽略这个热点安全警报吗?
【发布时间】:2021-07-24 09:22:07
【问题描述】:

我正在尝试声纳云。

我在这里分析了这个项目:https://sonarcloud.io/dashboard?id=dominique-bureau_classified_ads

这是一个 PHP 项目(使用 Laravel 框架)。如您所见,有一个“安全热点”。关于“config/cors.php”文件。

'paths' => ['api/*', 'sanctum/csrf-cookie'],
'allowed_methods' => ['*'],
'allowed_origins' => ['*'],
'allowed_origins_patterns' => [],
'allowed_headers' => ['*'],
'exposed_headers' => [],
'max_age' => 0,
'supports_credentials' => false,

由于我根本不是专家,我想知道我是否可以忽略此警报。或者相反,尤其是没有!

【问题讨论】:

    标签: laravel sonarcloud


    【解决方案1】:

    老实说,我对 SonarCloud 并不熟悉,但正如我从 here 看到的那样,下面有一个通配符

    'allowed_origins' => ['*'],
    

    这意味着系统会提醒您稍后(在生产部署之前)修复/更改它。 实际上这不是一个安全问题(在代码 sn-p 下有关于此的解释,带有 3 个选项卡:“有什么风险?”,“你有风险吗?”,“你怎么能解决它?”) .

    如果您的代码是公开的,并且您不想在代码中发布您的实际域/主机,那么您可以保留它现在,或者为您的本地主机设置它。 这些方法可能会隐藏安全警报

    'allowed_origins' => [ 'http://localhost:8080' ],
    # or your specific virtual host for your case, like "http://example.site"
    

    但对于生产,您也可以通过某种方式进行限制,例如

    'allowed_origins' => [ 'https://example.com' ],
    

    或者你可以在那个数组中同时拥有这两个:

    'allowed_origins' => ['http://localhost:8080', 'https://example.com'],
    

    “allowed_origins”表示允许访问资源的“origins”(这里的origin是指URL的scheme、domain和port的组合)。它还允许通配符匹配(例如 *example.com 将允许 example.com 及其任何子域访问资源)。默认情况下,它设置为允许所有来源。换句话说,此选项指定应允许来自哪些源请求。 不使用通配符时,必须完整指定来源(例如,http://example.com 有效,example.com 无效)。

    更多信息请阅读:Restricting Allowed HostsStackoverflow answer

    【讨论】:

    • 你的解释很清楚。谢谢 boolfalse。
    猜你喜欢
    • 2017-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-12
    • 1970-01-01
    • 2014-01-08
    • 1970-01-01
    相关资源
    最近更新 更多