隐藏Url中的参数
Posted zhumengke
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了隐藏Url中的参数相关的知识,希望对你有一定的参考价值。
动态网页中怎么隐藏url参数传递
转自:https://www.cnblogs.com/limeiky/p/6202358.html
我们在做动态网站的时候往往会在各个页面之间传递参数,而这些参数的名称和值都会在url地址栏中被暴露出来,这样一方面不安全,另一方面也不便于搜索引擎的收录,有的时候还有可能由于参数中含有中文而导致某些浏览器会出错(我发现在Firefox浏览器中用get方式传递中文参数时会出错)。所以我们有必要隐藏url参数传递,具体方法请看下面具体介绍。
隐藏url参数传递,思路是用表单来传递参数,把参数的值放在表单中,并把表单设为隐藏,然后用超链接来触发表单事件,从而把参数以post方式传递给另一个页面。
(1) 例: html文件为传递参数的页面,具体代码如下:
<form name="form1" method="post" action="a.action"> <input type="hidden" name="data1" value="http://www.htmer.com" /> <input type="hidden" name="data2" value="11" /> </form> <a href="javascript:void(0)" onclick="form1.submit()">HTMer隐藏url参数传递</a>
说明:上面的代码中建立了一个名为htmer的表单,表单提交的页面为htmer.asp,这个表单中有两个隐藏域,分别名为data1和data2,我们的目的是将这两个隐藏域的值传递到htmer.asp页面中,上面代码中最关键的代码是最后一行,原理是用超链接来触发表单的submit提交事件。
(2) 例:最终的代码如下,希望对别人有点帮助。
<form name="form1" method="post" action="a.action"> <input type="hidden" name="submit" value="1"> <input type="submit" name="test" value = "go" style="display:none"> //隐藏一个按钮 <a href="javascript:void(0)" onclick="javascript:document.form1.test.click();">测试主页 </a> </form>
事实上,点击超链接之后,触发了点击按钮的动作,按钮提交了表单!
转自:https://www.cnblogs.com/limeiky/p/6202358.html
我们在做动态网站的时候往往会在各个页面之间传递参数,而这些参数的名称和值都会在url地址栏中被暴露出来,这样一方面不安全,另一方面也不便于搜索引擎的收录,有的时候还有可能由于参数中含有中文而导致某些浏览器会出错(我发现在Firefox浏览器中用get方式传递中文参数时会出错)。所以我们有必要隐藏url参数传递,具体方法请看下面具体介绍。
隐藏url参数传递,思路是用表单来传递参数,把参数的值放在表单中,并把表单设为隐藏,然后用超链接来触发表单事件,从而把参数以post方式传递给另一个页面。
(1) 例: html文件为传递参数的页面,具体代码如下:
<form name="form1" method="post" action="a.action"> <input type="hidden" name="data1" value="http://www.htmer.com" /> <input type="hidden" name="data2" value="11" /> </form> <a href="javascript:void(0)" onclick="form1.submit()">HTMer隐藏url参数传递</a>
说明:上面的代码中建立了一个名为htmer的表单,表单提交的页面为htmer.asp,这个表单中有两个隐藏域,分别名为data1和data2,我们的目的是将这两个隐藏域的值传递到htmer.asp页面中,上面代码中最关键的代码是最后一行,原理是用超链接来触发表单的submit提交事件。
(2) 例:最终的代码如下,希望对别人有点帮助。
<form name="form1" method="post" action="a.action"> <input type="hidden" name="submit" value="1"> <input type="submit" name="test" value = "go" style="display:none"> //隐藏一个按钮 <a href="javascript:void(0)" onclick="javascript:document.form1.test.click();">测试主页 </a> </form>
事实上,点击超链接之后,触发了点击按钮的动作,按钮提交了表单!
JavaScript:隐藏Url中的参数
转自:https://www.cnblogs.com/Cchblogs/p/6024012.html
<script type="text/javascript"> function submitForm(url, data) { var eleForm = document.body.appendChild(document.createElement(‘form‘)); eleForm.action = url; for (var property in data) { var hiddenInput = document.createElement(‘input‘); hiddenInput.type = ‘hidden‘; hiddenInput.name = property; hiddenInput.value = data[property]; eleForm.appendChild(hiddenInput); } this.eleForm = eleForm; if (!submitForm._initialized) { submitForm.prototype.post = function () { this.eleForm.method = ‘post‘; this.eleForm.submit(); }; submitForm._initialized = true; } } function Onclick() { //location.href = "/Activity/ActivityInformation?a_id=" + "1"; // Url中会带有参数 new submitForm(‘/Activity/ActivityInformation‘, { a_id: "1" }).post(); // Url中的参数被隐藏 } </script>
以上是关于隐藏Url中的参数的主要内容,如果未能解决你的问题,请参考以下文章