Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > รบกวนดูโค๊ดที่ผมเขียนให้หน่อยครับ ว่าควรปรับปรุงตรงไหนบ้างครับ (เพิ่งหัดเขียนครับ)



 

รบกวนดูโค๊ดที่ผมเขียนให้หน่อยครับ ว่าควรปรับปรุงตรงไหนบ้างครับ (เพิ่งหัดเขียนครับ)

 



Topic : 074103



โพสกระทู้ ( 45 )
บทความ ( 0 )



สถานะออฟไลน์
Twitter Facebook



เป็นโค๊ดเช็ค login ครับเพิ่งหัดเขียนครับ คือต้องการความปลอดภัยและใช้งานได้รวดเร็วครับ และไม่อยากให้มีปัญหากับ HOST ด้วยครับ แตว่าตอนนี้ยังไม่เจอปัญหาอะไรครับ แต่ว่าอยากให้พี่ใน Thaicreate ช่วยปรับปรุงโค๊ดหน่อยครับ รบกวนด้วยครับ

Code (PHP)
<?
session_start();
include('../conf/config_inc.php');
include('../conf/function_inc.php');
include('../conf/setting_inc.php');
$datetime = date("Y-m-d H:i:s");
$checkip = $_SERVER['REMOTE_ADDR'];

switch($_POST['txtUser'])
	{
		case admin:
		echo "<script>alert('อย่าทำหนูเลยนะคร้า ...ท่าน admin');window.location='index.php';</script>";
		break;
		case Admin:
		echo "<script>alert('อย่าทำหนูเลยนะคร้า ...ท่าน Admin');window.location='index.php';</script>";
		break;
		case ADMIN:
		echo "<script>alert('อย่าทำหนูเลยนะคร้า ...ท่าน ADMIN');window.location='index.php';</script>";
		break;
		case Administrator:
		echo "<script>alert('อย่าทำหนูเลยนะคร้า ...ท่าน Administrator');window.location='index.php';</script>";
		break;
		default:

if($_COOKIE['login'] == "")
	{

	if($_POST['txtUser'] == "")
		{
			echo "<script>alert('อย่าลืมใส่  Username ด้วยนะค่ะ');</script>";
			logout();
			exit();
		}
	if($_POST['txtPass'] == "")
		{
			echo "<script>alert('อย่าลืมใส่  Password ด้วยนะค่ะ');</script>";
			logout();
			exit();
		}

		if($_POST['txtUser'] != "" and $_POST['txtPass'] != "")
			{
				$select = select("admin","where user='$_POST[txtUser]'");
				$result = mysql_fetch_array($select);
	
				if($_POST['txtUser'] == $result['user'] and base64_encode($_POST['txtPass']) == $result['pass'])
					{
						$_SESSION['user'] = $_POST['txtUser'];
						$_SESSION['pass'] = base64_encode($_POST['txtPass']);
						$_SESSION['level'] = $result['level'];
						$_SESSION['login'] = true;
#						time()+ 86400 = 1 DAY ,31622400 = 1 YEAR
						setcookie("user",$_POST['txtUser'],time()+31622400);
						setcookie("pass",base64_encode($_POST['txtPass']),time()+31622400);
						setcookie("login",true,time()+31622400);
						session_write_close();
						insert("log","'','$_POST[txtUser]',NOW(),'$checkip','','1'");
						
						echo "<script>alert('ยินดีต้อนรับเข้าสู่ระบบค่ะ คุณ $_SESSION[user]');window.location='main.php';</script>";
#						header('location:index.php');
					}else{
						//ใช้บันทึกสำหรับใช้ user root เข้าระบบ กันการ hacker
						if($_POST['txtUser'] == "root")
						{
							insert("log","'','$_POST[txtUser]:$_POST[txtPass]',NOW(),'$checkip','','4'");
						}
						echo "<script>alert('ชื่อผู้ใช้ หรือ รหัสผ่านไม่ถูกต้องนะค่ะ');window.location='login.php';</script>";
					}
			}else{
				echo "<script>alert('กรุณาใส่ข้อมูลให้ครบนะค่ะ');window.location='login.php';</script>";
			}
	}else{
		$select = select("admin","where user='$_COOKIE[user]'");
		$result = mysql_fetch_array($select);
	
		if($_COOKIE['user'] == $result['user'] and $_COOKIE['pass'] == $result['pass'])
			{
				$_SESSION['user'] = $_COOKIE['user'];
				$_SESSION['pass'] = $_COOKIE['pass'];
				$_SESSION['level'] = $result['level'];
				$_SESSION['login'] = true;
        insert("log","'','$_POST[txtUser]',NOW(),'$checkip','','2'");
				session_write_close();
				header('location:main.php');
			}else{
				logout();
				echo "<script>alert('ชื่อผู้ใช้ หรือ รหัสผ่านไม่ถูกต้องนะค่ะ');window.location='login.php';</script>";
				exit();
			}
	}
}
?>




Tag : PHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2012-02-18 18:24:33 By : demonking View : 1058 Reply : 3
 

 

No. 1



โพสกระทู้ ( 11,835 )
บทความ ( 10 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


โค๊ดยังย่อได้อีกครับ แล้วก็หาอ่านเรื่อง sql injection ด้วยก็จะดี






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-19 06:44:38 By : ikikkok
 


 

No. 2



โพสกระทู้ ( 45 )
บทความ ( 0 )



สถานะออฟไลน์
Twitter Facebook

ตอบความคิดเห็นที่ : 1 เขียนโดย : ikikkok เมื่อวันที่ 2012-02-19 06:44:38
รายละเอียดของการตอบ ::
ย่อได้อีกหรอครับพี่ plakrim รบกวนขอแนวทางซักนิดนึงครับ มองไม่ออกจริงๆครับ ส่วน sql injection เคยได้ยินมาบ้างครับ ยังไงขอไปศึกษาก่อนนะครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-19 15:05:28 By : demonking
 

 

No. 3



โพสกระทู้ ( 335 )
บทความ ( 0 )



สถานะออฟไลน์


ตรงที่เช็ค username และ password ว่าตรงกับที่มีอยู่ในฐานข้อมูลรึเปล่า สามารถเช็คได้พร้อมกันเลยครับ

Code (PHP)
$sql = "SELECT * FROM admin WHERE user='".$_POST['txtUser']."' AND pass='".base64_encode($_POST['txtPass'])."';
$query = mysql_query($sql);
$num = mysql_num_rows($query);


แล้วนำจำนวนแถวที่ได้จากการ query ไปเช็คครับ
$num == 0 หมายถึง user และ pass ทั้งสองอย่างไม่ตรงกับ แถวใดๆเลย ใน table (username, password อย่างใดอย่างหนึ่งผิด หรือผิดทั้งคู่)
$num == 1 หมายถึง user และ pass ตรงกับ record ใน table ครับ และมี user เดียว ยอมให้ login ผ่านได้
$num > 1 อันนี้เป็นบัค ตรง regis ละครับ อาจจะไม่มีการ ตรวจสอบ ตอนสมัคร ว่าไม่ให้ ใช้ user ซ้ำ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-19 15:35:20 By : Likito
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : รบกวนดูโค๊ดที่ผมเขียนให้หน่อยครับ ว่าควรปรับปรุงตรงไหนบ้างครับ (เพิ่งหัดเขียนครับ)
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่