จะทำ login ตลอดเวลาครับ ใช้ cookie ตามต่อด้านในนะครับ

ตอบกระทู้

รูปแสดงอารมณ์
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
รูปแสดงอารมณ์อื่นๆ

BBCode เปิด
[img] เปิด
[url] เปิด
[Smile icon] เปิด

กระทู้แนะนำ
   

มุมมองที่ขยายได้ กระทู้แนะนำ: จะทำ login ตลอดเวลาครับ ใช้ cookie ตามต่อด้านในนะครับ

Re: จะทำ login ตลอดเวลาครับ ใช้ cookie ตามต่อด้านในนะครับ

โดย unknowszaa » 15/05/2009 5:44 pm

:-D :-D ขอบคุณมากครับ ฮุ วะ ว่ะ ฮา า ฮ่า ๆ ๆ

Re: จะทำ login ตลอดเวลาครับ ใช้ cookie ตามต่อด้านในนะครับ

โดย mindphp » 15/05/2009 5:01 pm

คำถาม ตอบยากนะครับ แต่ผมบอกหลักการไปแล้ว ว่า ค่าที่จะเก็บ ใน Cookies ควรเข้ารหัสก่อน และ ค่าที่จะนำ มาใช้ก็ ถอดรหัส ออกก่อนถึงจะนำไปใช้

ถามว่า ปลอดภัยไหม คำตอบ ลองหาทาง hack ของ เว็บตัวเองดูครับ ถ้าไม่ได้ก็แสดงว่า ปลอดภัยจาก ตัวเอง แล้ว 1 คน ง่ะๆ :-D

ถ้าจะเอาแบบปลอดภัยจริงๆ ที่ตอนนี้ ยังไม่มีคนถอดได้ แนะนำให้ ศึกษา วิธีการเข้ารหัส ของ พวก Open source ต่างๆ เช่น Joomla 1.5 บอร์ด SMF ,phpBB3 พวกนี้ มีความปลอดภัยสูง ครับ ดูได้จาก มันเป็น Open source แต่ยังไม่มีใคร Hack ได้
ลองดูครับ :-D

Re: จะทำ login ตลอดเวลาครับ ใช้ cookie ตามต่อด้านในนะครับ

โดย unknowszaa » 15/05/2009 2:20 pm

code ตามนี้นะครับ ช่วยดูน่อยครับว่าปลอดภัยไหม - -"
code formlogin
session_start();
if (isset($_COOKIE["user_remember"]) and isset($_COOKIE["pass_remember"]) )
{
login_cookie();
}
elseif( $_SESSION[user_id]==session_id or $_SESSION[username]!="" )
{
login_session();
}
else
{
form_login();
}

function login_cookie()
{
$username=$_COOKIE["user_remember"];
$password=$_COOKIE["pass_remember"];

echo" &nbsp;&nbsp;&nbsp; <font size=4 color='orange'><b><u>R</u></b></font><font size=2 color='gray'>egister </font><font size=3 color='orange'><b><u>M</u></b></font><font size=2 color='gray'>ember</font><br>";
echo "&nbsp;&nbsp;&nbsp;&nbsp;<font color='white' face='JasmineUPC' >Welcome back ...<br>&nbsp;&nbsp;&nbsp;
Account :</font><font color='green'> $username</font> <font color='white' size=2><br>&nbsp;&nbsp;</font>";
include "user_online.php";

echo "<br>&nbsp;<img src='images/arrow1.gif'> <a href='change_pass.php' >change password</a>";
echo "<br>&nbsp;&nbsp;&nbsp;<font size=2><a href='logout_to_index.php'> Logout </a></font><br>";
}


function login_session()
{

if($_SESSION[user_id]==session_id or $_SESSION[username]!="")
{
$username=$_SESSION[username];
echo" &nbsp;&nbsp;&nbsp; <font size=4 color='orange'><b><u>R</u></b></font><font size=2 color='gray'>egister </font><font size=3 color='orange'><b><u>M</u></b></font><font size=2 color='gray'>ember</font><br>";
echo "&nbsp;&nbsp;&nbsp;&nbsp;<font color='white' face='JasmineUPC' >Welcome back ...<br>&nbsp;&nbsp;&nbsp;
Account :</font><font color='green'> $username</font> <font color='white' size=2><br>&nbsp;&nbsp;</font>";
include "user_online.php";

echo "<br>&nbsp;<img src='images/arrow1.gif'> <a href='change_pass.php' >change password</a>";
echo "<br>&nbsp;&nbsp;&nbsp;<font size=2><a href='logout_to_index.php'> Logout </a></font><br>";
}
}

function form_login()
{

echo <<<HTMLBLOCK
<form name="login_index" action='check_memberlogin.php' method="post" onsubmit="return check_login();">
<table cellpadding="0" cellspacing="0">
<tr> &nbsp;&nbsp;&nbsp; <font size=4 color='orange'><b><u>R</u></b></font><font size=2 color='gray'>egister </font><font size=3 color='orange'><b><u>M</u></b></font><font size=2 color='gray'>ember</font>
</tr>
<tr>
<td align='right'><font color='black' size='2'>ID :</font></td>
<td><input type="text" name="txtuser_log" value="{$user_member}" size=15 maxlength=15></td>
</tr>
<tr>
<td align='right'><font color='black' size=2>Password : </font></td>
<td><input type="password" name="txtpass_log" size=15 maxlength=15></td>
</tr>
<tr>
<td><font size=2 color='gray'><input type="radio" name="radremember" id="radremember" value="radremember">Remember</font></td>
<td><font size=1><input type="submit" name="send" value="Submit"></font></td>
</tr>
<tr>
<td colspan='2'><hr color='#CCCCCC'></td>
</tr>
</table>
</form>
HTMLBLOCK;
}
......................
code check_member นะครับ
if (isset($_POST['send']) )
{
$username=$_POST['txtuser_log'];
$password=MD5($_POST['txtpass_log']);
$remember=$_POST['radremember'];

if($remember=="radremember")
{

$conn=mysql_connect("localhost","root","") or die("ไม่สามารถติดต่อ Host ได้");
$sql="SELECT * FROM member_tb where username='$username' and password='$password' ";
$result=mysql_db_query("member_upload_db",$sql);
$num=mysql_num_rows($result);
if ($num>0)
{
setcookie("user_remember",$username,time()+360*24*356);
setcookie("pass_remember",$password,time()+360*24*356);

session_start();
$_SESSION[user_id]=session_id();
$_SESSION[username]=$username;
//login สำเร็จ
header("location: index.php ");
}
}

if($remember<>"radremember")
{
$conn=mysql_connect("localhost","root","") or die("ไม่สามารถติดต่อ Host ได้");
$sql="SELECT * FROM member_tb where username='$username' and password='$password' ";
$result=mysql_db_query("member_upload_db",$sql);
$num=mysql_num_rows($result);
if ($num>0)
{
session_start();
$_SESSION[user_id]=session_id();
$_SESSION[username]=$username;
header("location: index.php ");
}
}

}

------
code อะไรผ่านหมดล่ะครับ cookie อะไรก็ใช้ได้ อยากรู้ว่าามันจะปลอดภัยไหมครับ ผมใช้ cookie จดจำค่า username ละก็ password ตรง password ผมได้ใส่ md5 ไว้

Re: จะทำ login ตลอดเวลาครับ ใช้ cookie ตามต่อด้านในนะครับ

โดย mindphp » 14/05/2009 1:13 pm

ที่ยกตัวอย่างมา ยังไม่เห็นมีการนำ Cookies มาให้ เลยนี่ครับ

Re: จะทำ login ตลอดเวลาครับ ใช้ cookie ตามต่อด้านในนะครับ

โดย unknowszaa » 14/05/2009 3:32 am

หายไปนานเลยครับ ... พอดีไปหาความรู้เพิ่มมา
คือ ให้เข้ารหัสก่อนเก็บ ผมจะใช้ MD5 นะครับ
ผมเห็นเว็บอื่นเค้าทำ log in แบบจดจำได้ ครั้งอื่นไม่ต้อง login อีก เค้าได้ใช้ cookie ทำไหมครับ
ผมอยากจะลองฝึกทำบ้าง ผมก็ทำ Register login แบบใช้ cookie แล้วตอนเก็บข้อมูลลง database ผมใช้ INSERT INTO values(....MD5('$password')) อย่างนี้จะปลอดภัยไหมครับ
แล้วตอนที่กรอกข้อมูลเพื่อจะ login เ ข้าระบบผมใช้ SELECT * FROM ........... password=MD5('$password') ถ้าผมทำอย่างนี้โอกาสที่จะโดนขโมย password ผ่าน cookie ลดลงไหมครับ
ขอบคุณล่วงหน้า อิๆ
ปล. อาจจะงงๆหน่อย ต้องขอโทษด้วยนะครับ

Re: จะทำ login ตลอดเวลาครับ ใช้ cookie ตามต่อด้านในนะครับ

โดย unknowszaa » 25/04/2009 11:26 am

ขอบคุณมากครับ ..... :P

Re: จะทำ login ตลอดเวลาครับ ใช้ cookie ตามต่อด้านในนะครับ

โดย mindphp » 24/04/2009 7:56 pm

อย่าเก็บข้อมูลที่สำคัญไว้ใน Cookies
เก็บฌแพาะค่าที่จำเป็น และควรใช้การเข้ารหัสก่อนเก็บ

Re: จะทำ login ตลอดเวลาครับ ใช้ cookie ตามต่อด้านในนะครับ

โดย unknowszaa » 24/04/2009 2:14 pm

ทำได้หละครับ ขอบคุณๆมากครับ ต่ออีกนิดนะครับ ถ้าทำเป็น Login แบบ cookie มันจะไม่ปลอดภัยใช่ไหมครับ แล้วต้องทำอย่างไรถึงจะทำให้ login ได้ตลอดแล้วปลอดภัยอะครับ

Re: จะทำ login ตลอดเวลาครับ ใช้ cookie ตามต่อด้านในนะครับ

โดย unknowszaa » 24/04/2009 11:05 am

ท่านครับ เห็นเว็บท่านแล้วอลังการดีครับ ไม่ทราบว่าท่านศึกษา php มากี่ปีแล้วอะครับ อยากเก่งมั้ง

Re: จะทำ login ตลอดเวลาครับ ใช้ cookie ตามต่อด้านในนะครับ

โดย unknowszaa » 24/04/2009 11:03 am

ใช่เลย ขอบคุณท่านมากครับ ลืมนึกไปเลย

ข้างบน