PHP通过电子邮件安全地发送GET请求

时间:2019-06-25 05:14:52

标签: php get

我正在尝试建立一个考勤系统,在该系统中我标记了员工的考勤,而我单击了该链接。因此,每当员工按下按钮时,我都会收到一封带有拒绝信息的电子邮件,并接受URL。我尝试传递的URL中将包含可变数据,例如:

http://website.com/page.php?id=123&username=abc

然后使用$_GET['id], $_GET['username'].,但是我看到的问题是,如果用户知道URL和URL,那么他们可以只传递他们的信息来执行我要在此处执行的过程。他们的ID

有更安全,更好的方法吗?

2 个答案:

答案 0 :(得分:2)

我的意见是

如果用户单击了该链接,则不需要该param。而是将其存储在会话中,然后进行检查!

对于管理员,该参数没有问题。您只需要检查当前用户会话是否具有管理员角色,或者是否仅显示权限错误

答案 1 :(得分:1)

希望您知道发帖的方式。这就像我们发的信一样。您必须先打开它才能看到其中的内容。因此,请使用POST方法。您可以执行类似的操作。在这里,我假设用户已登录系统,然后通过会话将获取并存储用户数据。然后将它们分配到隐藏的输入字段中。

 <?php
session_start();
if (isset($_SESSION['UserName'])) {
    ?>
<form action="http://website.com/page.php" method="post">
<input type="text" value="<?=($_SESSION['UserName']);?>"  name="username" hidden>
<input type="text" value="<?=($_SESSION['UserId']);?>" name="userid"  hidden>
<button type="submit" name="submit">Confirm Your attendance</button>
</form>
<?php
}else{
    header('Location: login.php');
}
相关问题