��ҹ��Ǣ�͡�͹˹�� :: ��ҹ��Ǣ�ͶѴ� |
����� |
��ͤ��� |
ryuozero Site Admin
�������: 13 Jul 2005 �ͺ: 1145
|
�ͺ�����: Thu Apr 16, 2009 1:29 pm ����ͧ: sesstion login |
|
|
��ҧ�ԧ�ҡ: |
�Ѿ�������
Code: |
isset()
��Ǩ�ͺ��ҵ���ŷ���˹��ա�� ������������ |
��ä���������º��º��ͤ���
㹡�û���ء���������͡��㹡�ä��Ң�ͤ����������㹢�ͤ����Ë� �� ��ä�����ª���˹ѧ��� ���¤�������촢ͧ��Ǣ�� �����������˹ѧ��;����
�ѧ��ѹ strstr
��ä��Ң�ͤ��������ա��ͤ�������ö��ѧ��ѹ strstr (), strchr (), strrchr () ���� stristr()
�ѧ��ѹ strstr () ���ѡɳз�����ҡ����ش�������ö����Ң�ͤ������͵���ѡ�÷��ç�Ѻ���㹢�ͤ�����ǡ��� � PHP �ѧ��ѹ strchr () ����͹�Ѻ strstr () �֧�����Ҫ����չ�����������ҵ���ѡ��㹢�ͤ�������͹�Ѻ���� C � PHP �ѧ��ѹ����ҹ������ö����Ң�ͤ������㹢�ͤ��� ����֧��ä��Ң�ͤ����������§ 1 ����ѡ��
���ҡó�ͧ strstr () ���
string strstr (string haystack, string needle);
�觼�ҹ haystack ����Ѻ��ä��� ��Ф鹴��¢�ͤ��� needle ��ҵç�Ѻ needle �ѧ��ѹ������͡ haystack �ҡ needle ���� �ó�������͡ FALSE ��� needle ��ҡ��ҡ���� 1 ���� ��ͤ������͡��������鹨ҡ needle ����ҡ������á
<?php
//
// strstr function
$mystring = "Your customer service is excellent";
if (strstr($mystring, "service"))
$dept = "services";
else if (strstr($mystring, "shop"))
$dept = "retail";
else if (strstr($mystring, "bill"))
$dept = "account";
else
$dept = "customer relation";
echo $dept."<br/>\n";
?>
����觹���Ǩ�ͺ���������㹢�����õͺ��Ѻ������͡�ؤ�ŷ������Ǣ�ͧ ���㹵�����ҧ��õͺ��Ѻ�ͧ�١��Ҥ�� "Your customer service is excellent." ����;���ͤ��� "service" Ἱ��������Ǣ�ͧ��� "services" �� haystack ���͡���"service is excellent"
strstr () �� 2 ͹ؾѹ�� ͹ؾѹ���á��� stristr () ��������§�ҡ���ҧ�ѹ����Ǿ��������ռ� �ѧ��ѹ����ջ���ª������Ѻ���������ء�� ������١����Ҩ�л�͹��ͤ����� "service", "Service" ���� "SERVICE"
͹ؾѹ���� 2 ��� strrchr () ��������§�ҡ �����͡ haystack �ҡ needle �����ش����
|
http://school.obec.go.th/prakr/homework/phpmyadmin2/login/login1.htm
http://www.webthaidd.com/php/webthaidd_article_457_1.html
Ẻ�����ҹ������
��÷� Login Session Ẻ�����ҹ������
�����¹����繺����¹����ء�����������������ͧ�к� Login �������ʹ�����§��ǹ˹���Ҩ��������Ẻ�ͧ�����Ѻ�ҹ����������Ẻ��蹴ٹФ�Ѻ
��鹵͹��÷�
1. ���ҧẺ���������ҡ�͹ �ѧ�Ҿ
�� ryuozero.html
<?
session_start();
session_destroy();
?>
<html>
<head>
<title>Un title page</title>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-874\">
</head>
<body bgcolor="#FFFFFF">
<form name=\\"form1\" method=\"post\" action=\"check_login.php\">
<br>
user :
<input type="text" name="user">
<br>
pass :
<input type="password" name="pass">
<br>
<input type="submit" name="Submit" value="Login">
<a href="#">������ʼ�ҹ</a>
</form>
</body>
</html>
2. ���ҧ��������礢����ŷ������ Login �����㹷���������� check_login.php
�� check_login.php
<?
session_start();
$user_check="test";
$pass_check="1234";
if(($user==$user_check)&&($pass==$pass_check)){
session_register("user");
session_register("pass");
header("location:member.php");
}else header("location:ryuozero.html");
?>
3. ��˹�˹������Ͷ١��ͧ�����价���˹㹷��������价�� member.php
�� member.php
<?
session_start();
echo "���ʴդس $user";
?>
�������ش�� ryuozero ����� Thu Apr 16, 2009 2:05 pm, ������ 3 ���� |
|
���仢�ҧ�� |
|
|
ryuozero Site Admin
�������: 13 Jul 2005 �ͺ: 1145
|
�ͺ�����: Thu Apr 16, 2009 1:33 pm ����ͧ: |
|
|
Code: |
Session Tracking
Concept ��ѡ � 㹡�� Implement ��� Login ������������ҡ��� �� ����ͷ������ѡ���ҧ����ͧ��� Login
1. �֧ Session �͡��
2. ����� �բ����� User ����� Session �������
3. ���������� Login ���� �������� �����价��˹�� Login
4. ���˹�� Login ����� User ��͡ Username + Password ���� ��ӡ���� Password
5. ��Ҷ١��ͧ ����Ң����� User ������� Session �繡���ʴ���� User ��ӡ�� Login ���� |
|
|
���仢�ҧ�� |
|
|
ryuozero Site Admin
�������: 13 Jul 2005 �ͺ: 1145
|
�ͺ�����: Thu Apr 16, 2009 1:34 pm ����ͧ: |
|
|
�������դ�����¹�����ѧ
���� ����� ��Ѻ ��͸Ժ����������
session ��� ������ cookie [��Ҽ�͸Ժ�¼Դ��������� � �չ�� ���� ������Դ˹ѧ��� ��ҧ�ԧ ����ѡ��ä�������]
�ѹ����ö�纤�ҵ���� ���㹵���ѹ ��
������ҹ����ö ���¡������� session ��ҡ ˹��ྨ� ����
������ҧ
˹�� ryuozero.html ��ҹ ���ҧ session �纤�� login ���
������˹�� edit.php ��ҹ��ͧ����� ��� login ��������� ������ҹ ������ö����ѹ��
�·������ͧ�觤�� login �ҧ get ���� post
**��ͨӡѴ �ѹ�������ҵ�� ��ͧ set � php.ini
�Ͷ֧���ҵ�� ������� session ��鹨�������� ^O^
**�Ը���
session_start(); //�Դ����ͧ��� session
session_register("SESSION"); // ��С����� session ��鹪�������� 㹷������� SESSION
������ҹ SESSION ������ array ���Ѻ
�¨��红�����Ẻ���
$SESSION[login] = "bobby";
����ͨ�������˹���˹
�����¡ $SESSION[login] �ѹ��л�ҡ� bobby
�͡����� ^-^
���ҵ�ͧ��÷�����ѹ��¡�
session_unregister("SESSION");
��ҧ���� ������� session ��������º
���͸Ժ��� ��������� ' - -
���������ͧ��� �ѹ�ٹ� |
|
���仢�ҧ�� |
|
|
ryuozero Site Admin
�������: 13 Jul 2005 �ͺ: 1145
|
�ͺ�����: Thu Apr 16, 2009 1:36 pm ����ͧ: |
|
|
��÷��к� login �������ó��鹤�èл�ͧ�ѹ ��駡�͹�����ҹ ��Ф�û�ͧ�ѹ page �������
����� page login ���¤�Ѻ �蹡óշ�������� user �ӡ�� login ������к���ӡ�� login
���ǡ��价ӡ�����¡ page ��ҹ ��
�http://domainname/main.php
���Ǩ��Դ���â�鹶�� user �ӡ�û�͹ http://domainname/main.php
Ẻ������᷹���м�ҹ��� login �ҡ�͹ ���ҧ����������к�ⴹ hack ��Ф�Ѻ
������Ñ�Ҵѧ������ѹ������ trick ��� � ����ǡѺ login ��� session ���������ѧ��Ѻ
�ѹ�Ѻ�á���ͧ�������� login ��͹
login form (first.html):
��ҧ�ԧ�ҡ: |
<form action="login.php" action="post">
username: <input type=text name="uname"><br>
password: <input type=text name="pwd" type="password"><br>
<input type="submit" value="login">
</form> |
��ҧ�ԧ�ҡ: |
login.php file
<?php
session_start();
$username = $_POST['uname'];
$password = $_POST['pwd'];
if( // ��Ǩ�ͺ���͹������ӡ�� login �Ҷ١��ͧ�������)
{
//��Ҷ١��ͧ
$_SESSION['logged_in'] = 1;
}
else
{
//������١��ͧ����Ѻ�˹���á
header("Location: first.html");
}
?> |
�ҡ���㹷ء � page ����鹵� page �����������ҧ��ҧ
��ҧ�ԧ�ҡ: |
<?php
session_start();
include("check_login.php");
?> |
�·������� check_login ���մѧ���
check_login.php file
��ҧ�ԧ�ҡ: |
<?php
if($_SESSION['logged_in'] != 1) header("Location: first.html");
?> |
|
|
���仢�ҧ�� |
|
|
ryuozero Site Admin
�������: 13 Jul 2005 �ͺ: 1145
|
�ͺ�����: Thu Apr 16, 2009 1:58 pm ����ͧ: |
|
|
���¹ PHP �ҡ��������ͻ���प�� :: ˹�Ҩ���͡�Թ �͹��� 1 ��¹�� ��Сҽҡ������ ([email protected]) , 12-12-2004
���˹��仹ҹ�ʹ� (�ա����) ��ǧ�������㹪�ǧ���ѧ�������Ѵ���Ңͧ����ͧ��Ѻ ����ͧ�ҹ��������С�˹�˹�ҷ��ͧ����ͧ�����͹��觢�� �ҡ��������㹻Ѩ�غѹ �Ѻ�ѧ��Ҵ�� ����ͧ �����Ѻ���蹷ӹ������ �������������ǹ��� ���Ѿവ�������������� ����
���ͨ�����ͧ�������ǡѺ�����蹡Ѻ����㹵͹����ҹ�ҫ���¹Ф�Ѻ �ҡ�ç����������¹�Ƿҧ�ͧ��������� ������¹��� PHP �ҡ������ҧ����ͻ���प�蹨�ԧ� �ա��� ���Դ��ҹ�Ҩ��������ҡ���Ҵ��� ����Ѻ�͹���� ��������¹�֧� ��������繾�鹰ҹ����Ҩ����¹���������
����Ѻ������� �������Ҩ����ҹ��鹰ҹ���� �� ��ҡ���ͧ�ԧ�Ѻ��þѲ������ͻ���प�蹨�ԧ� 仾����� �Ѻ������¹��� PHP ��� ������������ҹ�ҡ�ç�����Ҩ����... ����Ҩ�������˹��¹Ф�Ѻ ������Ҽ���ҡ���������� ��ҹ���������ǹ�������仾����� �ѹ���¡ѹ ���Ҩ����͸Ժ������ͧ�������ǡѺ�ѧ��ѹ�ա���� � �ش����ա��
�����á�ͧ��÷�����ͻ���प�� ����Ѻ�����Ǥ�˹���������ͧ��Ǣͧ˹�Ҩ���͡���������к� �ͧ����ͻ���प���Ф�Ѻ �����÷�����µ�����¤� ��ҡ����ҡ����ش
������ͧ��˹�Ҩ���͡�Թ?!?
�Ӷ�����ͺ������ҡ��Ѻ ����ͧ��˹�Ҩ���͡�Թ��������� ��Ҥ������ҡ����õ���á���������ͻ���प�蹢ͧ����� ��ԧ�����Ф�Ѻ �ѧ��鹨֧��ͧ�ա�û�ͧ�ѹ������ ���¡�������͡�Թ ���;ٴ����� ���� ��ͧ��� username ��� password (���ͼ����ҹ ������ʼ�ҹ) ��͹�ء���駷����������ҹ (���ͺҧ�ͻ���प���Ҩ��������੾�� password ������)
��÷�˹�Ҩ���͡�Թ��� �մ��¡ѹ 2 �Ը���ѡ� ����
���������� HTTP Authentication
������ҧ˹�Ҩ���͡�Թ�ͧ
����ᵡ��ҧ�ͧ��� 2 �Ըա�����������ҡ��Ѻ ���
���������� HTTP Authentication ��鹨��繡����ѧ��ѹ header() �ͧ PHP 㹡���� Authentication Required ��ѧ�������� �������ӡ�� pop up ˹�Ҩ�����͡ username ��� password ����� �ٻẺ����բ�ʹյç����������ͧŧ�ç�͡Ẻ˹����͡�Թ������� ��С�õ�Ǩ�ͺ�����͡�Թ �зӵ�駡���Ŵ header �ͧ���ྨ ������Ǵ���Ǥ�Ѻ
������ҧ˹�Ҩ���͡�Թ�ͧ ��鹨��繡���� PHP �����Ѻ HTML 㹡���͡Ẻ˹����� ���������������������� ����� username ��� password ���ͷӡ����͡�Թ������ҹ����ͻ���प�蹤�Ѻ ��ʹբͧ�Ըչ���� ��¤�Ѻ ��ѡ� ��¤����§�� ��駹�����������������ö���зӡ������١����������ҡ��� �����ǡѺ����͡Ẻ���䫵����ͧ ��Ҩ����ٻ�Ҿ flash �������õ���������Ҫ����������Ѻ
�չ���������Ẻ�˹�ա���?!? ������դӵͺ��͡�Ф�Ѻ �ѹ�����������ͧ��âͧ����ҡ���Ҥ�Ѻ �ҡ��ͧ��ä�����§�����÷����͡Ẻ˹�Ҩ���͡�Թ�ͧ ���Ң����¨�ҡ� �����Ը� HTTP Authentication �ա��Ҥ�Ѻ
�Ըա�÷�˹�Ҩ���͡�Թ���� HTTP Authentication
�չ���Ҿٴ�֧�Ը��á�ѹ��͹ ��Ҩ���¹���ѧ� �Ըվ�鹷���ش �����仴�� PHP Manual ��Ѻ (����!) �Ҩ��յ�����ҧ������ѧ���
<?php
if (!isset($_SERVER['PHP_AUTH_USER'])) {
header('WWW-Authenticate: Basic realm="My Realm"');
header('HTTP/1.0 401 Unauthorized');
echo 'Text to send if user hits Cancel button';
exit;
} else {
echo "<p>Hello {$_SERVER['PHP_AUTH_USER']}.</p>";
echo "<p>You entered {$_SERVER['PHP_AUTH_PW']} as your password.</p>";
}
?>
��͹���д���������к�÷Ѵ�դ��������ѧ� �����ٵ���� 2 ��ǡ�͹��� $_SERVER['PHP_AUTH_USER'] ��� $_SERVER['PHP_AUTH_PW'] ��Ѻ (����Ѻ PHP �����ѹ��� �����¡�� $HTTP_SERVER_VARS['PHP_AUTH_USER'] ��� $HTTP_SERVER_VARS['PHP_AUTH_PW']) ��� 2 ����ù�� ���͵��������Ѻ��ͧ��͡ username ��� password ����ӴѺ����ͧ �繵�����к��ͧ PHP ��¹Ф�Ѻ �������ö����¹�����ҧ�����
����� �Ҵ���������к�÷Ѵ��鹷��������ҧ�ѹ
if (!isset($_SERVER['PHP_AUTH_USER']))
�ѧ��ѹ isset(���͵����) �����������͵�Ǩ�ͺ����յ���õ������к��������... �ҡ�ա���кؤ�����Ѻ����ù�� �ѧ��ѹ isset() �зӡ�� return ����� true ���ҡ����ա�зӡ�� return ����� false ��Ѻ�Ҥ�Ѻ ͹�� �������¢ͧ�������кؤ�ҹ�����¶֧ ������ա�á�˹�������Ѻ����ù�鹹Ф�Ѻ ���á�˹���ҵ��������繤����� ��
$a = "";
if (isset($a)) { echo "�յ���� $a"; }
else { echo "����յ���� $a"; }
���������ѹ�� ��Ҩ�����Ѿ����� �յ���� $a ��Ѻ ���ҡ�����¹��
if (isset($a)) { echo "�յ���� $a"; }
else { echo "����յ���� $a"; }
��Ҩ�����Ѿ���� ����յ���� $a ��Ѻ
����� �Ҵٷ��ç�鴵��... �ҡ���͸Ժ�¡����ҹ�ѧ��ѹ isset() ���� �������������� ���͹䢷���˹����� ��� ����� $_SERVER['PHP_AUTH_USER'] ����ա���к��� (����ͧ���� ! �������˹�ҿѧ��ѹ isset() �դ���������� not ���� �����¡��� ��� ����ͧ)
header('WWW-Authenticate: Basic realm="My Realm"');
header('HTTP/1.0 401 Unauthorized');
�ѧ��ѹ header �繿ѧ��ѹ�ͧ PHP ���������Ѻ�觢�ͤ��� HTTP header ��ѧ��������... ��� header �����ҹ������͹�Ѻ�繨����»�˹�Ңͧ�͡��� HTML ��Ѻ ��������зӡ���ѹ��������ǹ����͹���� �� �ҡ�����¹��Ẻ���
<?php
header("HTTP/1.0 404 Not Found");
?>
���ҷ������ѹ���� ��Ҩ���˹�����Ẻ����Ѻ
��������ФԴ��� ���������������������������仫й�� ����
����� ��͸Ժ���鴡ѹ���... �ѧ��� ��� header() ������������ �ѹ�֧�դ���������� ������ҧ˹�Ҩ� pop up �� WWW-Authenticate Ẻ Basic �µ�駪��� realm ��� My Realm ��Ѻ ���ҡ��Ҥ�ԡ���� cancel � ��Ҩ����ͤ�����Ѻ����� Text to send if user hits Cancel button
�����դ�ԡ OK ᷹ ��С�͡ (��������͡) username ��� password ��Ҩ����ͤ���
Hello username ����͡.
You entered password ����͡ as your password.
��Ѻ
+++++++++++++++++++++++++++++++++++++++++++++
���¹ PHP �ҡ��������ͻ���प�� :: ˹�Ҩ���͡�Թ �͹��� 2
��¹�� ��Сҽҡ������ ([email protected]) , 21-12-2004
���������Ѿവ��������ҧ���� 1 �͹�ء� �ѻ���� �������Ҩ�ԧ� �Ѻ�ѹ�Դ ��¡������� 9 �ѹ�� ���� �����¤�Ѻ�
㹵͹������Ǽ��ٴ�֧��÷�˹�Ҩ���͡�ԹẺ����� ������¤س���ѵԢͧ header �ͧ��ⵤ�� HTTP ����� �Ըչ���͹��ҧ����СѺ�óբͧ�к��ͻ���प�蹷�����������ͧ������§���ҡ�ѡ ��������դ������繵�ͧ��˹�Ҩ�˹���á... ������¡ó� ��ǹ�ҡ������ҹ������������˹���á �����˹����͡�Թ���ҡ���� �ѧ��� ��Ҩ֧��ͧ�Ҿٴ�֧�Ըշ�� 2 㹡�÷�˹�Ҩ���͡�Թ ��蹡��͡���͡Ẻ�ͧ����ͧ��Ѻ
�ͷӤ������㨹Դ�֧��͹
��͹��蹢�������㨵ç�ѹ��͹�Ф�Ѻ��� ������������ਵ�������͹��鹰ҹ��þѲ������ͻ���प�蹴��� PHP �����Ъͺ������ŧ���������� �������鹷��������͹ HTML ���¡���繷�Ҩ������ǹФ�Ѻ �ա���ҧ˹�觡��� �Ѩ�غѹ�������������㹡���͡Ẻ ��оѲ�����䫵���������������� �ѧ��鹼��֧�Ͷ�������� ��ҹ�����ҹ�վ�鹰ҹ��ҹ HTML �Ҿ�����ùФ�Ѻ
㹡���͡Ẻ˹�Ҩ���͡�Թ�ͧ ��ѡ� ��¡�������ͧ�ͧ HTML ��Ѻ ��͵�ͧ�͡Ẻ˹�ҵ�����ͻ���प�����ǹ�ͧ�����͡�Թ �ҡ��鹡����ҧ�����㹡�á�͡������... �ç�����͢������ǹ�ͧ HTML ����� �����Ҿٴ�֧���ǹ�ͧ������Ѻ�����͡�Թ����� �Сѹ�Ф�Ѻ
���ǹ�ͧ HTML �������Ǣ�ͧ�Ѻ�����͡�Թ ���մѧ����Ѻ
<form name="login" action="login.php" method="post">
���� : <input name="username" type="text" maxlength="10"><br>
���ʼ�ҹ : <input name="password" type="password" maxlength="32"><br>
<input name="submit" type="submit" value="��͡�Թ">
</form>
�鴧���� �礧����ҳ���... ͸Ժ���鴡礧��㨤������
�������͡�������ժ������ login �¨��ѹ�� PHP ��� login.php ������ա�ä�ԡ������ "��͡�Թ"
�ժ�ͧ����Ѻ��͡�����Ŵ��¡ѹ 2 ��ͧ ��� ���� ��� ���ʼ�ҹ �ª��ͧ͢ text input field ����Ѻ��͡�����Ť�� username ��� password ��觪��͹����Ҩ���ҧ�ԧ�֧������¹�� PHP 㹰ҹТͧ����ä�Ѻ
�ջ�������Ѻ��ԡ�����觢����� ���� submit ����ʴ���ͤ������ "��͡�Թ" �����麹����
�ç����բ���ѧࡵ���� 2 �ش��ѡ� �Ф�Ѻ �����Ҥ�è�������������
method="post"
�͵��Ժ�ǵ� method �ͧ�� <form></form> ��� ��������� 2 Ẻ��� post ��� get ����դ���ᵡ��ҧ�ѹ����ѡ� ���ǡ�������ͧ�ͧ������ʹ���㹡���觢����Ũҡ����� HTML ��ѧ��... ��
Ẻ get ��鹨��繡���觢����Ũҡ�������ҹ�ҧ URL �ͧ���ྨ��Ѻ �Ըչ������ʹ������������Ҩ��������ö��ͧ�ѹ��á�͡�������������ҡ�ѡ ���ͧ�ҡ�������ö���С�˹������ŷ�����㹵������ҡ�ҧ URL �µç��� �� http://localhost/test/login.php?username=kafaak&password=123456 �繵�
��ػ���� �����ŷ��ж١�觼�ҹ��ѧ˹��ʤ�Ի���� �ж١�ʴ��͡����ٻẺ�ͧ plain text ���͢�ͤ���������� ��� � URL �ͧ��� �֧�����Ẻ get ����������СѺ��÷�˹�Ҩ���͡�Թ��Ѻ
Ẻ post ��鹨��繡���觢����Ũҡ�������ѧʤ�Ի���µç ������ҹ URL ���������������ö�ͧ��繢����Ŵѧ�����������Ըջ��� Ẻ���֧����СѺ��÷�˹�Ҩ���͡�Թ��Ѻ
maxlength="10"
�͵��Ժ�ǵ�����Ѻ�� <input type="text"> �����繡�á�˹����Ѵ����� text input field ��� ���Ѻ��ͤ������٧�ش������ѡ��... �����ҷ�����ͧ��˹�������?!? �ӵͺ���� ��ͧ�ѹ����������ص����ҡ�ж������������ͧ��� ���¡�á�͡�����ŷ���ըӹǹ����ѡ������������� 䧤�Ѻ... �Ϳ������������������ҧ����������¡�͹ ���բ�ͺ����ͧ�����ͧ�ͧ��èѴ���˹��¤����� �����ͧ�Ѻ��á�͡������� text input field �����������͡Ѻ�óշ���͡����������ҡ����� �� �з�����������ҧ ������������ش� ��١�Ρ��������Ѻ
(�Դ����͹����)
��ǧ������ջÑ������ǡѺ PHP ���ͺ����� ú�ǹ��������Ф�Ѻ ���ͧ�ҡ���������дǡ㹡�ä�·ҧ MSN Messenger �������ѡ ���о������ͺ��Ѻ������Ƿ���ش��Ѻ |
|
���仢�ҧ�� |
|
|
|