2010-07-14 67 views
0

如何創建一個php文件「redirect.php」 這需要1個輸入參數「URL」,必須檢查網址 頁面在刪除之前沒有死機?檢查重定向之前網頁是否正常?

1用戶點擊鏈接 http://domain.com/Redirect.php?URL=http://example.com/page1.php

2 redirect.php檢查頁(http://example.com/page1.php)是確定!

3如果確定重定向用戶http://example.com/page1.php

4如果沒有確定顯示信息「不在服務」

+0

不回答你的問題,但你也應該查詢的網址參數是什麼重定向之前,否則你將有一個開放的重定向vulerability:HTTP://www.owasp .org/index.php/Open_redirect – Annie 2010-07-14 17:31:49

回答

3

您可以使用curl訪問網頁的代碼,看看你得到一個有效的結果。

但是,我沒有看到這樣做的好處。無論是關閉,他們都會收到「不在服務中」的信息,或者信息已關閉,他們會收到瀏覽器的信息,說明信息已關閉。在此過程中,您不必要地將網站流量翻倍至目標網站。

+0

除了顯示「Not in service」之外,他可能還想做其他事情。他可能想要記錄它,或者如果找不到或者有任何數量的東西,那麼就會進行搜索。但是,如果他只是想展示這一點,我同意,這是毫無意義的。 – Malfist 2010-07-14 17:34:37

+0

嗨,是的,我想記錄並跟蹤頁面是否存活或死亡! 否則我不知道我的應用程序正在重定向到損壞的外部鏈接! – 001 2010-07-14 18:26:09

+0

也想阻止一些URL膨脹 如果它被列入黑名單,那麼我根本不會重定向用戶。 (然後我顯示一條消息,URL已被阻止等) – 001 2010-07-14 18:28:13

0

試試這個:

<?php 
if (fopen($_GET['url'], "r")) { 
    header('Location: ' . $url); 
} 
else { 
    // Say it is not OK 
} 
?> 
+0

這是一個壞主意,這將需要整個頁面被網絡服務器下載,再加上它仍然可以返回數據報告錯誤,而這不會告訴你。此外,您必須在php.ini中啓用fopen_url,以打開重大安全漏洞 – Malfist 2010-07-14 17:55:37

+0

Humm我不知道 - 如果fopen確實下載了頁面,我同意不應該使用它。 – Jan 2010-07-14 18:04:29

相關問題