【发布时间】:2013-01-18 14:10:01
【问题描述】:
只是寻找有关如何将 urlencode 应用到这段代码的建议。确实有效,收到邮件时的问题,urlencode似乎不起作用。
function reset_password($email) {
$query = "DELETE from reset_password where email = $email";
$deletepass = mysql_query($query);
$code = substr(base64_encode(crypt('', '')), 0, 32);
$query2 = "INSERT into reset_password values ($email, '$code', " . time() . ")";
$insertval = mysql_query($query2);
$f = "SELECT userEmail from gn_users where email = $email";
$from = "***"; // sender
$f['userEmail']; // recepient
$message =
"From: *** <***>\r\n" . // email headers
"To: {$f['userEmail']} <{$f['userEmail']}>\r\n" .
'Subject: Reset Password' . "\r\n" .
"\r\n" .
"Hello\r\n" . // email imap_body(imap_stream, msg_number)
"\r\n" .
"A request has been made to reset your example.com web site password.\r\n" .
"\r\n" .
"To complete the request, click on the following link within 48 hours of the transmision of this email and follow the on screen instructions.\r\n" .
"\r\n" .
"index.php?page=reset-password&email=" . urlencode($email) . "&code=" . urlencode($code) . "\r\n" .
"\r\n" .
"Kind regards,\r\n" .
"\r\n" .
"The example.com Web Site";
$to = "$email";
$subject = "Test mail";
$message = "$message";
$from = "***";
$headers = "From:" . $from;
mail($to,$subject,$message,$headers);
echo "Mail Sent.";}
【问题讨论】:
-
你有一个 SQL 注入漏洞。
-
$code = substr(base64_encode(crypt('', '')), 0, 32);... WAT?! -
@Slaks 你有多个 SQL注入漏洞。
-
所以问题可能出在
index.php而不是这段代码?好吧,除了危险的数据库处理。 -
天哪,忘记那个教程,再找一个。讨厌这种教人们如何编写糟糕的、无格式的和任何攻击类型的易受攻击代码的教程......
标签: php sql passwords urlencode reset