php - 防止从 laravel 应用程序中的任何地方调用 api
问题描述
我有一个 5.7 版的 laravel 应用程序。问题是我的 api 是从我的服务器外部调用的,人们可以轻松地调用我的 api 并发送 SMS 并导致我的一些费用。现在我想做的是防止所有位置的 api 被称为我自己的服务器。我听说 laravel 7 配置了 cors,但我想知道 laravel 5.7 是否有任何方法可以做到这一点。我的 api 有节流阀,但似乎它不起作用或攻击者更改了服务器的 ips。所以这是我的 kernel.php :
'api' => [
'throttle:1000,1',
'bindings',
],
'apiThrottle' => [
'throttle:4,10',
],
];
解决方案
你可以安装https://github.com/spatie/laravel-cors/包。这将在configcors.php
文件夹下创建一个名为的文件。遵循所有设置说明,很少。
在那里您可以指定允许哪些来源(示例)
'allow_origins' => [
'http://127.0.0.1/*',
'https://127.0.0.1/*',
'http://localhost/*',
'https://localhost/*',
],