私有认证算法 - 网络安全

Sim*_*mon 6 php security private websecurity cybersecurity

我正在开发一个从文本(TTS)生成音频并为用户提供速度/音高控制的项目。

我的问题与请求安全有关。

用户在我的网站上注册时获得了 widget_id,他js在他的网站上放了一些,api 在他的网站上工作。当用户单击发送按钮时,api.js 文件也会向ajax POST我的站点发送包含widget_id数据的请求。然后在我这边,我得到了widget_id和引用者:

$referer = isset($_SERVER["HTTP_REFERER"]) ? $_SERVER["HTTP_REFERER"] : '';

我正在widget_id从我的数据库中获取与 相关的站点值,并将其与$referer.

... if($website_url == $referer) { $website_checked = true; } ...

所以我的问题是:攻击者可以使用一些库(也许是 Curl)来改变 $_SERVER["HTTP_REFERER"]值,并破坏我的安全性吗?

例如,如果他使用 curl 和代码:

curl_setopt($ch, CURLOPT_REFERER, 'https://anysite.io/');

谢谢。

所以我更新了问题原因,因为我认为这是不可信的。那么请教Private认证算法的基本步骤...

更新 3:所以我开始赏金,因为我需要了解我的场景中的私有身份验证算法。

Cer*_*nce 3

不,它不可靠。用户可以(并且确实)伪造它们,例如使用Referer ControlRefControl - 不过,这些事情是通过用户修改自己的浏览器来完成的。

大多数推荐人都是正确的(仅仅是因为愿意伪造它们的人数很少),但如果安全是一个问题,那么您不应该依赖它们。为了保证这一点的安全,提出请求的人应该包括私人身份验证,以便他们可以证明自己就是他们所说的人。