如何在php中保护查询字符串?

时间:2013-04-24 21:30:39

标签: php string urlencode urldecode

urlencode和urldecode函数在那里,但是如果你有一个可以使用urldecode函数轻松解码的编码值。

是否有任何其他方法可用于使查询字符串更强大,更不容易受到攻击。 使用散列会很好,但如果可以尝试不使用太多的计算。

3 个答案:

答案 0 :(得分:1)

听起来你在谈论的是URL字符串而不是查询字符串。保护您不希望用户看到的变量的最佳方法是使用POST操作而不是GET操作。

urlencode的目的是not to provide security,它是对可能包含特殊字符等的字符串进行编码以传入GET请求。

POST不会将变量存储为URL的一部分或存储在浏览器历史记录中,因此发送敏感信息要好得多。如果您希望实际保护信息不受用户操纵的影响,则必须对其进行哈希或加密(例如,密码应在发布之前进行哈希)。

POST vs GET comparison

答案 1 :(得分:1)

请记住,即使使用POST,您也不会真正隐藏任何想要获取该数据的人。要非常小心允许在GET和POST中发送哪种数据。知道无论你选择哪一个,它仍然可以被最终用户操纵。

答案 2 :(得分:0)

Guessing this is what you're wanting to look at.这将向您展示如何“清理”用户的输入,无论是否来自查询字符串。

我不确定变量后置变量是否更安全...... Chrome Dev Tools会解决这个问题。