在 PHP 中反向混淆纯文本字符串 url


Reverse obfuscating plain text string urls in PHP

我正在尝试找出一种方法来编程一个函数,该函数将对纯文本URL进行去混淆。

像这样:

<input type="hidden" value="kjgajkwe@#jktGAkjgWjkajskd" name="obsfucatedString" />

然后在处理该表单时,我想对其进行去混淆:

$url = deObfuscate($_POST['obsfucatedString']);
so $url would become something like:
$url = 'http://domain.com/filename.zip';

这样的事情可能吗?

我试图从普通程序员的视线中隐藏网址。

我想我还需要写一些也会混淆字符串的东西

所以

$obsfucatedStringURL = obsfucate('http://domain.com/filename.zip');

使用存储在服务器上的密码加密 URL(使用一种很好的算法是 AES),然后在需要获取值时对其进行解密。这样做的一个问题是加密字符串不会由可打印字符组成。若要解决此问题,请使用 base64_encode() 将二进制编码字符串转换为可打印字符,这些字符可以作为值添加到<input>字段中,然后使用 base64_decode() 在服务器上取回原始值。

有许多方法可以对纯文本字符串进行编码和反转。对字符串进行模糊处理的一种简单方法是使用 str_rot13 函数进行一次编码,再次进行解码(注意:这不会为您提供任何加密安全性)。我建议使用存储在服务器上的密钥使用 AES 进行加密和解密。以下线程的答案定义了您可以使用的加密/解密函数。

PHP AES 加密/解密

与混淆相比,另一种可能值得考虑的方法是将 URL 服务器端存储为用户会话的一部分或持久保存在数据库中。然后,不要向下发送经过模糊处理的字符串,而是使用执行查找的密钥来检索 URL。