我想将一个电子邮件地址作为URL字符串中的参数传递但隐藏它。 URL字符串在Java例程中构造,接收请求的jsp页面将字符串传递给服务器端java例程以对其进行解码。有人必须已经编写了这段代码,但我找不到它 - 可能不会问正确的问题。谢谢。佛瑞德
答案 0 :(得分:4)
如果您在网址中包含该电子邮件,则无法隐藏该电子邮件,但您可以encrypt it。
如果加密不会影响您的世界,而您只是想隐藏电子邮件地址,则可以obfuscate it。
答案 1 :(得分:4)
提交它的另一种方式是显而易见的是使用POST将数据发送到jsp页面而不是使用Querystring。
答案 2 :(得分:2)
通常,用户会与存储在服务器上的数据进行会话。电子邮件地址将存储在服务器上的会话对象中。客户端在cookie或URL中提供其会话ID。这样,您就可以将信息传递到下一页而不将其放入URL中。
答案 3 :(得分:2)
如果您不希望通过会话处理此问题,或者您在服务器之间传递此字符串,则有两种选择。哈希电子邮件,或Base64编码。如果您担心除了(或用户)以外的任何人找到实际的电子邮件,请不要使用Base64。但是,如果这不是一个问题,那么base64是包含电子邮件地址的最简单,最快捷的方式,看起来不像电子邮件地址。
但是,如果您担心以任何方式泄露信息,请使用电子邮件的MD5或SHA哈希值。要加快数据库中的查找速度,您可能需要预先计算电子邮件的散列版本并将其存储在表格的附加列中。
我建议使用SHA而不是MD5,但是对于这种轻量级用法,我怀疑MD5中的缺陷会对你产生影响。
答案 4 :(得分:1)
使用隐藏的表单字段
<input type="hidden" ...>
当您从jsp页面转移到servlet然后转移到java bean时,隐藏的表单字段会变得很方便。