首页 > Web开发 > 详细

Web安全之URL跳转科普

时间:2019-05-24 22:41:39      阅读:105      评论:0      收藏:0      [点我收藏+]

跳转无非是传递过来的参数未过滤或者过滤不严,然后直接带入到跳转函数里去执行。

 


0x01 JS

js方式的页面跳转
1.window.location.href方式

 <script language="javascript" type="text/javascript">
           window.location.href="target.aspx"; 
    </script>


2.window.navigate方式跳转

<script language="javascript">
    window.navigate("target.aspx");
</script>

3.window.loction.replace方式实现页面跳转,注意跟第一种方式的区别

<script language="javascript">
    window.location.replace("target.aspx");
</script>

有3个aspx页面(1.aspx, 2.aspx, 3.aspx),进系统默认的是1.aspx,当我进入2.aspx的时候, 2.aspx里面用window.location.replace("3.aspx");与用window.location.href ("3.aspx");

从用户界面来看是没有什么区别的,但是当3.aspx页面有一个"返回"按钮,调用window.history.go(-1); wondow.history.back();方法的时候,一点这个返回按钮就要返回2.aspx页面的话,区别就出来了,当用 window.location.replace("3.aspx");连到3.aspx页面的话,3.aspx页面中的调用window.history.go(-1);wondow.history.back();方法是不好用的,会返回到1.aspx。

4.self.location方式实现页面跳转,和下面的top.location有小小区别

 <script language="JavaScript">
          self.location=‘target.aspx‘;
   </script>

5.top.location

 <script language="javascript">
          top.location=‘target.aspx‘;
   </script>

6.不推荐这种方式跳转

<script language="javascript">
    alert("返回");
    window.history.back(-1);
   </script>

0x02 HTML

 Htm中meta标签可以实现页面跳转

 

<head>

<!-- 以下方式只是刷新不跳转到其他页面-->

<meta http-equiv="refresh" content="10">

<!-- 以下方式定时转到其他页面 -->

<meta http-equiv="refresh" content="5;url=hello.html">

</head>

 

 

 

0x03 PHP

php中header函数可实现跳转,当然其他服务器端编程语言都可以实现例如java web的redirect等等。

 

<?php

//重定向浏览器

header("Location: http://bbs.lampbrother.net");

//确保重定向后,后续代码不会被执行

exit;

?>

 

 

Web安全之URL跳转科普

原文:https://www.cnblogs.com/-qing-/p/10920526.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!