2013-04-30 54 views
0

我在加密url参数上苦苦挣扎。我有例如以下网址:用小写字母编码url参数

http://www.domain.com/show_user.php?uid=45&s=photos

http://www.domain.com/show_user.php?uid=454&s=information

现在我不希望用户看到的参数为“uid”和“S”平原值,所以我加密他们BASE64_ENCODE。

http://www.domain.com/show_user.php?uid=NDU=&s=cGhvdG9z

http://www.domain.com/show_user.php?uid=NDU0&s=aW5mb3JtYXRpb24=

但现在我有,我有在URL中一些大写字母的问题。我在我的错误日志,我觉得这是通过请求只有小写字母的URL导致的错误:

http://www.domain.com/show_user.php?uid=ndu=&s=cghvdg9z

这就导致了一个错误,因为字符串不能再被解密。

这显然不是一个非常聪明的解决方案来加密url中的参数。你会建议什么?你使用什么加密方法?哪一个只创建小写字母?

我已经想非常感谢你提前为任何帮助:)

最好的问候,

弗雷迪

+5

base64编码是**不是**加密 – 2013-04-30 14:44:56

+2

任何可能对这些URL值感兴趣的人都将识别base64 *编码*并将在心跳中对其进行解码。任何人都不会在意。你为什么要这样做? – deceze 2013-04-30 14:46:44

+0

只是好奇:'在我的错误日志中,我发现错误是由请求只有小写字母的网址造成的 - - 这些错误是什么? – raidenace 2013-04-30 14:47:28

回答

0

必须有代码中的某处strtolower(),地址不小写他们自己。检查你生成这些编码字符串的代码。

此外 - 正如在该评论中提到的,它不是加密。从功能上来说,这实际上是需要加密的,还是只是模糊了?

+0

这应该是作为评论发布的,而不是答案。 – dnLL 2013-04-30 14:51:30

+0

我同意并不同意这一点,@dnLL。不,它不提供确切的特定代码。是的,它确实解决了没有BS的OP问题。它可能是推测性的,但它很直接,Q:“我的代码由于小写编码失败”A:“停止让你的URL小写。”只是我的2美分! – 2013-04-30 14:56:25

0

如果你只有这两个参数,我会建议你自己写一个编码&编码函数。您也可以将所有参数压缩到一个,然后使用拆分字符串函数再次解码。

0

如果此信息在某种程度上是您不想共享的秘密,请创建表以将某些ID映射到此信息,然后从这些条目生成页面。但是你对编码的需求还不清楚,所以请详细说明。