本文實例講述了php通過session防url攻擊方法。分享給大家供大家參考。具體實現方法如下:
通過session跟蹤,可以很方便地避免url攻擊的發生,php采用session防url攻擊方法代碼如下:
復制代碼 代碼如下:<?php
session_start();
$clean = array();
$email_pattern = '/^[^@s<&>]+@([-a-z0-9]+.)+[a-z]{2,}$/i';
if (preg_match($email_pattern, $_POST['email']))
{
$clean['email'] = $_POST['email'];
$user = $_SESSION['user'];
$new_password = md5(uniqid(rand(), TRUE));
if ($_SESSION['verified'])
{
/* Update Password */
mail($clean['email'], 'Your New Password', $new_password);
}
}
?>
使用時URL可設置如下:
http://example.org/reset.php?user=php&email=chris%40example.org
如果reset.php信任了用戶提供的這些信息,這就是一個語義URL 攻擊漏洞,在此情況下,系統將會為php 帳號產生一個新密碼並發送至[email protected],這樣chris 成功地竊取了php 帳號.
希望本文所述對大家的PHP程序設計有所幫助。