如何验证post请求是否来自我的网站而不是攻击者?我目前有一个php脚本(在xampp中),它接受包含电子邮件的post请求。php脚本从phpmyadmin数据库获取与该电子邮件相关的所有用户信息,并将其回送给我的脚本使用。我的问题是,(一旦我发布了网站)我如何验证谁是发送电子邮件(通过post)到服务器,使任何人谁知道用户的电子邮件不能只是窃取他们的信息?
t8e9dugd1#
你需要某种身份验证机制。如果您不想实现身份验证(电子邮件+密码),您可以向该地址发送一封电子邮件,其中包含一个链接,该链接对该电子邮件进行身份验证,并且在有限的时间内有效。单击此链接将引导用户找到其用户信息。
u91tlkcl2#
使用这样的csrf令牌
if (isset($_POST['submit'])) { if (!hash_equals($_SESSION['csrf'], $_POST['csrf'])) die();
和内部形式
<input name="csrf" type="hidden" value="<?php echo escape($_SESSION['csrf']); ?>">
2条答案
按热度按时间t8e9dugd1#
你需要某种身份验证机制。
如果您不想实现身份验证(电子邮件+密码),您可以向该地址发送一封电子邮件,其中包含一个链接,该链接对该电子邮件进行身份验证,并且在有限的时间内有效。单击此链接将引导用户找到其用户信息。
u91tlkcl2#
使用这样的csrf令牌
和内部形式