php - 如何使用 PHP 加密 URL(或者更确切地说是其中的 GET 参数部分)?

标签 php url

我正在开发一个功能,通过应用程序的内置电子邮件发送器集体发送表单链接,并且我计划只发送一个包含所发送实体的 ID 和类型的 URL to,表单的 id 和一个标识符,告诉我要在哪个数据库中查找(我们有多个包含客户数据的数据库)。我正在寻找一种简单的方法来编码这些信息。

我想过只发送一个 ID 并将所有内容保留在数据库中,但由于这些电子邮件可能会为了营销或忠诚度事件而大量发送,我认为这不是一个好主意。

我用谷歌搜索了一些加密函数,但我尝试过的函数有时会返回带有非法字符(例如“?”)的结果。和“&”破坏了我的链接。

最佳答案

如果您需要加密,请查找对称加密(例如 AES),然后对结果进行 Base64 编码。

如果您只需要编码,那么通过 Base64 进行编码,这是您最好的选择。

并非在这两种情况下,您都需要注意某些浏览器 URL 长度或 Web 服务器 GET 支持受到限制...某个长度(2000 到 80000 之间,具体取决于浏览器和 Web 服务器)

还要考虑链接需要如何传输。网址太长不方便。您可以非常轻松地安装yourls.org或类似的方法来缩短您的网址。

关于php - 如何使用 PHP 加密 URL(或者更确切地说是其中的 GET 参数部分)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10379946/

相关文章:

php-fpm 不创建 .sock 文件

php - 我需要使用表中的员工 ID 从 mysql 数据库中获取数据

c# - asp.net 中 ./, ../, ../../, ~/on file path(URL) 之间的区别

php - 所有用户的排名列表

即使没有记录插入数据库,PHP 也返回成功

PHP递归函数问题

javascript - 使用 javascript 检查 url 中的数字?

python - 如何在 django url 中将一个 url 限制为仅一个 View

java - 如何在 url 请求中发送数组

php - 谷歌应用程序接口(interface) |站点标题的 URL