Web安全之URL跳轉科普


跳轉無非是傳遞過來的參數未過濾或者過濾不嚴,然后直接帶入到跳轉函數里去執行。

 


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;

?>

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM