如何在URL中隐藏值

时间:2014-04-24 07:21:29

标签: java javascript jsp

192.168.178.83:18300/Zupdate_we_view.act?name=bunnavitou&position=Research111&sex=Male

隐藏网址上的值

来自这个:

192.168.178.83:18300/Zupdate_we_view.act?name=bunnavitou&position=Research111&sex=Male

==>对此:

192.168.178.83:18300/Zupdate_we_view.act?

需要帮助!! JAVA或JAVA SCRIPT

4 个答案:

答案 0 :(得分:1)

在网址上隐藏值的最佳方法是使用 POST 方法。

点击HTTP Methods: GET vs. POSTGET vs POST

了解有关 GET POST 方法的详情。

答案 1 :(得分:0)

像其他人建议的那样,使用POST方法,但是如果你想坚持使用GET和JavaScript解决方案就足够了(可以在请求中看到与POST相同的值,但是具有禁用JS的用户将看到这些值),你可以使用此处描述的方法:https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Manipulating_the_browser_history

答案 2 :(得分:0)

首先,您必须获取网址,修改它,然后使用javascript将“true”网址替换为您刚修改的网址。这就是我要做的事情:

//get the url
$old_url = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];

//then you modify it
$new_url = ...; 

//then with javascript you replace the url with the new one
<script type="text/javascript">
   if(new_url != '')
   {
      window.history.replaceState({"html":'Title',"pageTitle":'Page Title'}, '', new_url);
   }
</script>

如果您真的想使用GET,这应该可以解决问题; POST会更好,你不必隐藏GET参数。

答案 3 :(得分:0)

Another way is to encode the values on first page & pass those values and decode the value  
on second page.

Using that technique you have no need to post data. User can also read the parameter but 
it is encoded not the real value.

You can use different algorithm to encode/decode parameter on both side.