Php 将参数写入数据库和链接加密

Php 将参数写入数据库和链接加密,php,get,Php,Get,我正在使用从链接获取的参数写入数据库 考虑以下链接: mywebsite.com/index.php?ud=33&nt=117&g=Yes 如果我使用链接并更改它将写入数据库错误数据的值,有什么可用的方法来防止这种情况发生 请注意,链接将从电子邮件中单击 我想的是,每条消息都有一个一次性的身份验证密钥,它只能工作一次,但会在数据库上占用大量空间,有没有更好的方法?记住,敏感数据不应该在querystring中 遵循以下步骤: 1-在将链接写入数据库之前,作为业务规则的一部分,您

我正在使用从链接获取的参数写入数据库

考虑以下链接:

mywebsite.com/index.php?ud=33&nt=117&g=Yes
如果我使用链接并更改它将写入数据库错误数据的值,有什么可用的方法来防止这种情况发生

请注意,链接将从电子邮件中单击


我想的是,每条消息都有一个一次性的身份验证密钥,它只能工作一次,但会在数据库上占用大量空间,有没有更好的方法?

记住,敏感数据不应该在querystring中

遵循以下步骤:

1-在将链接写入数据库之前,作为业务规则的一部分,您应该检查参数是否一致,以及用户是否有访问权限

2-然后,您应该考虑querystring的哪些参数应该是纯文本的(即,在数据库中存储的链接中)。例如,如果将一个实体的ID保留在querystring中并发送到数据库,则必须考虑在删除所述实体的情况下是否会出现问题。由于查询字符串是纯文本的,因此不会执行级联。在这种情况下,最好的方法是将查询字符串转换为数据,并将其作为外键而不是querystring存储在数据库中。然后,您可以通过在应用程序级别构建完整链接来恢复该链接


另一个提示:

由于您是通过电子邮件发送链接,因此可以通过运行加密算法将所有内容转换为单个加密字符串,将字符串转换为纯文本(在您的场景中,
ud=33&nt=117&g=Yes
)。您可能会有类似于mywebsite.com/index.php?c=ijnwe7we876fwepowokemf的内容。它的用户友好性和游戏性较差


希望能有帮助

您可以添加简单的字符串加密。可能的