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

时间:2012-04-23 23:54:43

标签: php deobfuscation url-obsfucation

我正试图找出一种方法来编写一个能够对纯文本网址进行去混淆的函数。

这样的事情:

<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');

2 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:3)

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

PHP AES encrypt / decrypt

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