2

我试图找出一种方法来编写一个可以对纯文本 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';

这样的事情可能吗?

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

我想我需要写一些东西来混淆字符串

所以

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

2 回答 2

6

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

于 2012-04-23T23:57:52.493 回答
3

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

PHP AES 加密/解密

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

于 2012-04-23T23:58:16.830 回答