PDA

View Full Version : นักเรียนเปลี่ยนพาสเวิดไม่ได้ครับของม.บูรพา



noppatung
12-06-2010, 12:51
กดเปลี่ยนแล้วมันบอกว่าสำเร็จแต่พอมาloginกลับต้องใช้พาสเดิมครับ
พาสที่เปลี่ยนไปใช้ไม่ได้
ใช้ในFREEbsd 8.0

moochachiro
13-06-2010, 10:39
อันนี้หมายถึงหน้า password.php ที่เขาแจกๆ กันหรือเปล่าครับ
ถ้าใช่ขอดู code ในช่วง

if($pass) {
switch($data->encryption) {
case 'md5' : $newpass = substr(md5($password),0,15); break;
case 'crypt' : $newpass = crypt($password,"BL"); break;
default : $newpass = $password; break;
}
$sql = "update account set password = '$newpass' where username = '$username'";
mysql_query($sql);
$sql = "update radcheck set Value = '$newpass' where UserName = '$username'";
mysql_query($sql);
$message = "Your password already changed.";
$username = $firstname = $lastname = $mailaddr = $password = $password2 = "";
}
ว่าเป็นยังไงหน่อยครับ

noppatung
14-06-2010, 09:20
?php
include("include/class.mysqldb.php");
include("include/config.inc.php");

$message = "";
$username = $firstname = $lastname = $mailaddr = $password = $password2 = $opassword = "";
foreach($_REQUEST as $key => $value) {
$$key = $value;
}
$error = array();
for($i = 0; $i < 20; $i++) {
$error[$i] = false;
}

if(isset($button)) {
# check firstname
# check username
if(empty($username)) {
$error[3] = true;
}
if(empty($opassword)) {
$error[1] = true;
}

# check username duplicate
$sql = "select * from account where username = &#39;$username&#39;";
$link1 = mysql_query($sql);
$data = mysql_fetch_object($link1);
if ($data->encryption==&#39;clear&#39;){
$p1=$data->password;
$p2=$opassword;
} else {
$p1=$data->password;
$p2=md5($opassword);
}
if ($p1 != $p2) {
$error[4] = true;
}

# check password
if(empty($password)) {
$error[5] = true;
}
if(!$error[5]) {
if(strlen($password) < 5) {
$error[6] = true;
}
}

# check password2
if(empty($password2)) {
$error[7] = true;
}

if(!$error[7]) {
if(strlen($password2) < 5) {
$error[8] = true;
}
}

# check password and confirm password
if(!$error[5] && !$error[6] && !$error[7] && !$error[8]) {
if($password != $password2) {
$error[9] = true;
}
}
$pass = true;
for($i = 0; $i <= 9; $i++) {
if($error[$i]) {
$pass = false;
}
}
if($pass) {
$newpass = md5($password);
$sql = "SELECT * FROM account where username = &#39;$username&#39;";
mysql_query($sql);
$sql = "update account set password = &#39;$newpass&#39; where username = &#39;$username&#39;";
mysql_query($sql);
$sql = "update radcheck set value = &#39;$newpass&#39; where username = &#39;$username&#39; and attribute = &#39;MD5-Password&#39;";
mysql_query($sql);
$message = "บันทึกข้อมูลของคุณเรียบร้อยแล้ว";
$username = $firstname = $lastname = $mailaddr = $password = $password2 = "";
}
}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta name="author" content="Burapha Linux Laboratory" />
<meta name="keywords" content="authentication system" />
<meta name="description" content="Burapha Linux Authentication Project" />
<link href="css/main.css" type=text/css rel=stylesheet>
<link href="css/calendar-mos.css" type=text/css rel=stylesheet>
<script language="javascript" src="js/calendar.js"></script>
<script>
function stoperror(){
return true
}
window.onerror=stoperror
</script>
<title>-:- ChangePassword -:-</title>
</head>
<body>
<div id="header-bar">
<div id="header-logoff"><a href="../">หน้าหลัก</a> &raquo; เปลี่ยนรหัสผ่าน</div>
</div>
<div id="body">
<a href="password.php">
<h3>Change<span class="gray"> Password</span></h3>
</a>
<div id="slogan"><span class="style1">กรุณากรอกข้อมูล</span></div>

<form action="" method="post" name="regis">
<table width="100%" border="0" cellspacing="5" cellpadding="0">
<tr>
<td colspan="2" align="center"><?php if(!empty($message)) { echo "<BR>".$message; } ?>&nbsp;</td>
</tr>

<?php if(!empty($message)) { ?>
<tr>
<td colspan="2" align="center"><BR /><input name="" type="button" class="button" value="เข้าสู่ระบบ" onclick="window.location=&#39;http://<?php echo $_SERVER[&#39;SERVER_ADDR&#39;] ?>:3990/prelogin&#39;" style="cursor:hand" /></td>
</tr>
<?php } ?>
<?php if(empty($message)) { ?>
<?php if($error[4]) { ?>
<tr>
<td align="right">&nbsp;</td>
<td class="red">ชื่อผู้ใช้กับรหัสผ่านเดิม : ไม่ตรงกัน</td>
</tr>
<?php } ?>
<?php if($error[3]) { ?>
<tr>
<td width="21%" align="right">&nbsp;</td>
<td width="79%" class="red">กรุณากรอกชื่อผู้ใช้ของคุณด้วยครับ</td>
</tr>
<?php } ?>
<tr>
<td align="right">ชื่อผู้ใช้ :</td>
<td><label>
<input name="username" type="text" class="inputbox-normal" id="username" style="background: <?php if($error[3] || $error[4]) echo "#FFF0F0"; ?>" value="<?php echo $username ?>">
<span class="red">*</span></label></td>
</tr>
<tr>
<td align="right">&nbsp;</td>
<td><span class="comment">กรอกเป็นตัวอักษรภาษาอังกฤษและตัวเลขเท่านั้น</span></td>
</tr>
<?php if($error[1]) { ?>
<tr>
<td align="right">&nbsp;</td>
<td class="red">กรุณากรอกรหัสผ่านเดิมด้วยครับ</td>
</tr>
<?php } ?>
<td align="right">รหัสผ่านเดิม :</td>
<td><label>
<input name="opassword" type="password" class="inputbox-normal" id="opassword" style="background: <?php if($error[10] || $error[4]) echo "#FFF0F0"; ?>" value="<?php echo $opassword ?>">
<span class="red">*</span></label></td>
</tr>
<?php if($error[5]) { ?>
<tr>
<td align="right">&nbsp;</td>
<td class="red">กรุณากรอกรหัสผ่านใหม่ด้วยครับ</td>
</tr>
<?php } ?>
<tr>
<tr>
<td align="right">รหัสผ่านใหม่ :</td>
<td><label>
<input name="password" type="password" class="inputbox-normal" id="password" style="background: <?php if($error[5] || $error[6] || $error[9]) echo "#FFF0F0"; ?>" value="<?php echo $password ?>">
<span class="red">*</span></label></td>
</tr>
<?php if($error[6]) { ?>
<tr>
<td align="right">&nbsp;</td>
<td class="red">ความยาวของรหัสผ่านต้องมียาวอย่างน้อย 8 อักขระครับ</td>
</tr>
<?php } ?>
<tr>
<td align="right">&nbsp;</td>
<td class="comment">ความยาวอย่างน้อย 8 อักขระ</td>
</tr>
<?php if($error[7]) { ?>
<tr>
<td align="right">&nbsp;</td>
<td class="red">กรุณายืนยันรหัสผ่านด้วยครับ</td>
</tr>
<?php } ?>
<?php if($error[8]) { ?>
<tr>
<td align="right">&nbsp;</td>
<td class="red">ความยาวของรหัสผ่านต้องยาวอย่างน้อย 5 อักขระครับ</td>
</tr>
<?php } ?>
<?php if($error[9]) { ?>
<tr>
<td align="right">&nbsp;</td>
<td class="red">รหัสผ่านทั้งสองไม่ตรงกัน</td>
</tr>
<?php } ?>
<tr>
<td align="right">ยืนยันรหัสผ่าน :</td>
<td><label>
<input name="password2" type="password" class="inputbox-normal" id="password2" style="background: <?php if($error[7] || $error[8] || $error[9]) echo "#FFF0F0"; ?>" value="<?php echo $password2 ?>">
<span class="red">*</span> </label></td>
</tr>
<tr>
<td align="right">&nbsp;</td>
<td><label>
<input type="submit" name="button" id="button" class="button" value="ส่งข้อมูล">
</label></td>
</tr>
<?php } ?>
<tr>
<td align="right">&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table>
</form>
</div>
</body>
</html>


นี่เลยครับท่านให้อ่านหมดเลย

moochachiro
14-06-2010, 12:14
ตอบครับ
บันทัดนี้
$sql = "update radcheck set value = '$newpass' where username = '$username' and attribute = 'MD5-Password'";
คุณแน่ใจไหมครับว่าใน database คุณใช้ attribute = 'MD5-Password' เพราะถ้าเอามาจาก ม.บู หรือจาก board นี้ ส่วนใหญ่เขา set เป็น
$sql = "update radcheck set value = '$newpass' where username = '$username' and attribute = 'Password'"; หรือไม่ก็
$sql = "update radcheck set value = '$newpass' where username = '$username'"; เลย

ขอดูข้อมูลใน radcheck หน่อยๆ ครับ

noppatung
15-06-2010, 10:52
radcheck อยู่ในไหนครับท่านใหม่มากครับผม

noppatung
15-06-2010, 18:19
ได้มาแล้วครับท่านหาอยู่ตั้งนาน

noppatung
16-06-2010, 13:20
ท่านอาจารย์ตอบทีนะครับ

moochachiro
17-06-2010, 10:42
ไม่ใช่อาจารย์แต่จะขอตอบครับ
จาก code ที่คุณให้มา ชัดเลยครับ เดาไม่ผิด

code php ของคุณคือ
$sql = "update radcheck set value = '$newpass' where username = '$username' and attribute = 'MD5-Password'";
สังเกตได้ว่า จะ update เมื่อ attribute = 'MD5-Password'
แต่ที่ได้ๆ มาจาก ม.บู ส่วนใหญ่ ก็เป็น attribute = 'Password' เท่านั้น
การแก้ไขคือ

เปลี่ยน
$sql = "update radcheck set value = '$newpass' where username = '$username' and attribute = 'MD5-Password'";
เป็น
$sql = "update radcheck set value = '$newpass' where username = '$username'";
เปลี่ยนแล้วได้ผลยังไงบอกกันได้ครับ เชื่อว่าหายแน่ๆ

noppatung
17-06-2010, 10:44
เหมือนเดิมครับท่าน

moochachiro
17-06-2010, 10:57
ตัว $newpass = md5($password);
ขอให้ลบออกดีกว่าครับ จะ comment ไว้ก็ได้
ถ้าเป็นไปได้ ทำ script debug ไว้หน่อยดีกว่าครับ
ที่
$sql = "SELECT * FROM account where username = '$username'";
mysql_query($sql);
$sql = "update account set password = '$newpass' where username = '$username'";
mysql_query($sql);
$sql = "update radcheck set value = '$newpass' where username = '$username' and attribute = 'MD5-Password'";
mysql_query($sql);
$message = "บันทึกข้อมูลของคุณเรียบร้อยแล้ว";
$username = $firstname = $lastname = $mailaddr = $password = $password2 = "";
แก้เป็น
switch($data->encryption) {
case 'md5' : $newpass = substr(md5($password),0,15); break;
case 'crypt' : $newpass = crypt($password,"BL"); break;
default : $newpass = $password; break;
}
$sql = "update account set password = '$newpass' where username = '$username'";
mysql_query($sql);
$sql = "update radcheck set Value = '$newpass' where UserName = '$username'";
mysql_query($sql);
echo "<script>alert('$newpass'); </script>";
$message = "Your password already changed.";
$username = $firstname = $lastname = $mailaddr = $password = $password2 = "";
ลองดูครับ อยากจะรู้ว่า newpass มันโดนยัดไปใน radcheck หรือเปล่า

max0405
17-06-2010, 10:58
เอา ม บู ทั้งหมดเอาเลยรวมทั้งฐานข้อมูล

moochachiro
17-06-2010, 11:10
เอา ม บู ทั้งหมดเอาเลยรวมทั้งฐานข้อมูล

linuxthai พร้อมมีคนช่วยจริงๆ จขกท zip ม.บูร กับ hotspotlogon.php กับ dump radius มาเลยครับ
ผมว่า หลายๆ ท่านจะช่วยได้ เพราะตอนนี้ บอกตรงๆ ผมไม่ชัวล์ว่า
1. ใน attibute ของ radcheck คุณหมายมั่นว่าจะใช้เป็นอะไร MD5-Password หรือ Password เพราะใช้ได้ทั้งคู่ แต่ถ้าใช้ตัวไหนแล้ว ที่ hotspotlogon.php ก็ต้องเปลี่ยนให้ล้อตาม
2. ถ้าคุณใช้เป็นปกติ Password ตัว code ใน password.php ที่ได้มา อาจจะเอามาผิดที่ ลองเอาของผมไป test ไหมครับ
http://www.2shared.com/file/nmdEc_PW/password.html

ลองดูครับ

noppatung
17-06-2010, 11:20
ครับท่านช่วยมากมายเลยครับซาบซึ้งใจที่ยังมีสังคมแห่งการช่วยเหลืออยู่ขอบพระคุณท่านมากเลยครับ

noppatung
17-06-2010, 11:22
แล้วมันคลิกโหลดตรงไหนเนี่ยครับไม่เคยใช้เลยตัวนี้หนะครับ

noppatung
17-06-2010, 11:24
ได้แล้วท่าน
555+เอากันงงเลยโฆษณามากมายคริคริ

noppatung
17-06-2010, 11:46
ทีนี้loginไม่ได้เลยครับท่าน

noppatung
17-06-2010, 12:25
ลงแล้วตอนนี้loginไม่ได้เลยครับท่าน

noppatung
17-06-2010, 12:28
ผมเอาไฟล์ของท่านลงทับไปแล้วตอนนี้loginไม่ได้เลยครับ สร้างuserใหม่ก็ไม่ได้ครับ

noppatung
17-06-2010, 12:38
ขอโทษครับไม่เห็นข้อมูลนึกว่าพิมพ์แล้วไม่ออกตอนนี้สร้างได้แล้วแต่ไม่สามารถเปลี่ยนพาสได้ครับเหมือนเดิมครับ

moochachiro
17-06-2010, 12:57
linuxthai พร้อมมีคนช่วยจริงๆ จขกท zip ม.บูร กับ hotspotlogon.php กับ dump radius มาเลยครับ

เหมือนเดิมครับ ขอทั้ง project เดี๋ยวมีคนแก้ให้

noppatung
18-06-2010, 12:23
ตอนนี้ส่งข้อมูลให้ท่านmax0405ดูอยู่ครับเดี๋ยวได้เรื่องยังไงจะมาโพสให้อัพเดตกันครับ

noppatung
21-06-2010, 09:00
ยังไม่สำเร็จครับท่านเปลี่ยนยังไม่ได้อีกครับดื้อจริง

noppatung
21-06-2010, 09:38
ได้มา1แล้วครับหายากจริงๆ

noppatung
21-06-2010, 10:06
<a href="http://f1.uploadfile.biz/file/?i=MIEHMEIEEVDNEW" target="_blank">Download คลิกที่นี่</a>

noppatung
23-06-2010, 09:08
โอม...............จงมีคนมาตอบที