2017-07-24 33 views
0

因此,我對在高度安全的環境(醫院網站)中生成PHP應用程序很感興趣,並且我試圖提高警惕性。有我的網頁上的一個形式,如果電子郵件地址爲無效,或者如果形式爲空像這樣將用戶重定向:
如何從URL中獲取信息(或者它甚至是一件壞事嗎?)

header("Location: /root/page.php?message=message to the person who messed up"); 
exit; 

並在收到該消息的頁面上這樣的:

if(isset($_GET['message'])){ 
    echo "$_GET[message]"; 
} 

顯然,消息顯示在URL中。我的問題是雙重的:

  1. 這是不安全的事情嗎?
  2. 如果是,我會顯示消息給用戶而不在URL中?
+0

發送POST請求與AJAX –

+0

直接回應沒有衛生設施的任何用戶輸入,無論它是否位於url中或發佈請求是不安全的。 – jfadich

+0

確實沒有必要重定向到專用的錯誤頁面。必要時重新顯示頁面頂部的錯誤。 – Scuzzy

回答

0

使用echo $ _GET ['message'] urs缺少GET ['']部分內的單引號,並且使用引號內的$ _GET。它應該像「text」一樣完成。$ _ GET []其中GET []左邊的點是連接運算符。

0

因此,這裏是我做了什麼,以防止信息被髮送的網址:
我的 「控制器」:

start_session(); 
... 
$message = "Some message here"; 
$_SESSION['message'] = $message; 
header("Location: /path/to/location"); 

「查看」:

if(isset($_SESSION['message'])){ 
    start_session(); 
    echo "$_SESSION['message']; 
} 
相關問題