码迷,mamicode.com
首页 > Web开发 > 详细

隐藏Url中的参数

时间:2018-04-20 13:34:32      阅读:377      评论:0      收藏:0      [点我收藏+]

标签:目的   var   pos   val   bsp   new   引擎   出错   方式   

动态网页中怎么隐藏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中的参数

标签:目的   var   pos   val   bsp   new   引擎   出错   方式   

原文地址:https://www.cnblogs.com/zhumengke/p/8889721.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!