我試圖確保第2頁的GET方法(顯示結果)中的參數不會被URL中的其他人(問號後面的變量)所改變用戶單擊第1頁上的提交按鈕(其中包含表單)。檢查URL是否被篡改
教授要求我們使用isset()
都實行這一要求
這裏的登錄頁面:(page1.php中)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional ...> <html
xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Login
Page</title> </head>
<body>
<label>User ID:</label>
<input type="text" name="uid">
<br />
<input type="submit" value="SubmitCredentials" name="SubmitCredentials"/>
<br />
</form> </body> </html>
這是第二頁: (page2.php)
<?php
// get the data from the form
$uid = $_GET['uid'];
if(!isset($_GET['SubmitCredentials'])){
include('error.html');
exit();
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional
...>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>HELLO</title>
</head>
<body>
<label>Hello,</label>
<span><?php echo $uid; ?></span><br />
</body>
</html>
但是,if
聲明似乎不起作用。當我更改URL中的變量uid
(例如,當我將URL更改爲http://localhost/1/page2.php?uid=admin
)時,它應該將頁面轉發到error.html
,但事實並非如此。我該如何解決它?
PS:相關的教程中,我對谷歌>>> http://www.homeandlearn.co.uk/php/php4p7.html
@minitech的形式通過GET –
您的鏈接將發送數據:通過'http://localhost/1/page2.php的uid =管理及SubmitCredentials = SubmitCredentials' **和用戶可以更改,而無需點擊提交**'http://localhost/1/page2.php?uid = superadmin&SubmitCredentials = SubmitCredentials' –