Heim Backend-Entwicklung PHP-Tutorial PHP中用户身份认证实现的两种方法_PHP

PHP中用户身份认证实现的两种方法_PHP

Jun 01, 2016 pm 12:31 PM
实现 密码 文件 方法 服务器 用户 Identität 输入 验证

  用户在设计和维护站点的时候,经常需要限制对某些重要文件或信息的访问。通常,我们可以采用内置于WEB服务器的基于HTTP协议的用户身份验证机制。当访问者浏览受保护页面时,客户端浏览器会弹出对话窗口要求用户输入用户名和密码,对用户的身份进行验证,以决定用户是否有权访问页面。下面用两种方法来说明其实现原理。

  一、用HTTP标头来实现

  标头是服务器以HTTP协议传送HTML信息到浏览器前所送出的字串。HTTP采用一种挑战/响应模式对试图进入受密码保护区域的用户进行身份验证。具体来说,当用户首次向WEB服务器发出访问受保护区域的请求时,挑战进程被启动,服务器返回特殊的401标头,表明该用户身份未经验证。客户端浏览器在检测到上述响应之后自动弹出对话框,要求用户输入用户名和密码。用户完成输入之后点击确定,其身份识别信息就被传送到服务端进行验证。如果用户输入的用户名和密码有效,WEB服务器将允许用户进入受保护区域,并且在整个访问过程中保持其身份的有效性。相反,若用户输入的用户名称或密码无法通过验证,客户端浏览器会不断弹出输入窗口要求用户再次尝试输入正确的信息。整个过程将一直持续到用户输入正确的信息位置,也可以设定允许用户进行尝试的最大次数,超出时将自动拒绝用户的访问请求。

  在PHP脚本中,使用函数header()直接给客户端的浏览器发送HTTP标头,这样在客户端将会自动弹出用户名和密码输入窗口,来实现我们的身份认证功能。在PHP中,客户端用户输入的信息传送到服务器之后自动保存在 $PHP_AUTH_USER,$PHP_AUTH_PW,以及 $PHP_AUTH_TYPE这三个全局变量中。利用这三个变量,我们可以根据保存在数据文件或者数据库中用户帐号信息来验证用户身份!

  不过,需要提醒使用者注意的是:只有在以模块方式安装的PHP中才能使用$PHP_AUTH_USER,$PHP_AUTH_PW,以及 $PHP_AUTH_TYPE这三个变量。如果用户使用的是CGI模式的PHP则无法实现验证功能。在本节后附有PHP的模块方式安装方法。

下面我们用Mysql数据库来存储用户的身份。我们需要从数据库中提取每个帐号的用户名和密码以便与$PHP_AUTH_USER和$PHP_AUTH_PW变量进行比较,判断用户的真实性。

  首先,在MySql中建立一个存放用户信息的数据库

  数据库名为XinXiKu ,表名为user;表定义如下:

create table user(
ID INT(4) NOT NULL AUTO_INCREMENT,
name VARCHAR(8) NOT NULL,
password CHAR(8) NOT NULL,
PRIMARY KEY(ID)
)

  说明:

1、ID为一个序列号,不为零而且自动递增,为主键;

2、name为用户名,不能为空;

3、password为用户密码,不能为空;

以下是用户验证文件login.php

//判断用户名是否设置
if(!isset($PHP_AUTH_USER))
{
header("WWW-Authenticate:Basic realm="身份验证功能"");
header("HTTP/1.0 401 Unauthorized");
echo "身份验证失败,您无权共享网络资源!";
exit();
}
/*连接数据库*/
$db=mysql_connect("localhost","root","");
//选择数据库
mysql_select_db("XinXiKu",$db);
//查询用户是否存在
$result=mysql_query("SELECT * FROM user where name='$PHP_AUTH_USER' and password='$PHP_AUTH_PW'",$db);
if ($myrow = mysql_fetch_row($result))
{
//以下为身份验证成功后的相关操作
...
}
else
{
//身份验证不成功,提示用户重新输入
header("WWW-Authenticate:Basic realm="身份验证功能"");
header("HTTP/1.0 401 Unauthorized");
echo "身份验证失败,您无权共享网络资源!";
exit();
}
?>


  程序说明:

  在程序中,首先检查变量$PHP_AUTH_USER是否已经设置。如果没有设置,说明需要验证,脚本发出HTTP 401错误号头标,告诉客户端的浏览器需要进行身份验证,由客户端的浏览器弹出一个身份验证窗口,提示用户输入用户名和密码,输入完成后,连接数据库,查询该用用户名及密码是否正确,如果正确,允许登录进行相关操作,如果不正确,继续要求用户输入用户名和密码。

  函数说明:

1、isset():用于确定某个变量是否已被赋值。根据变量值是否存在,返回true或false

2、header():用于发送特定的HTTP标头。注意,使用header()函数时,一定要在任何产生实际输出的HTML或PHP代码前面调用该函数。

3、mysql_connect():打开 MySQL 服务器连接。

4、mysql_db_query():送查询字符串 (query) 到 MySQL 数据库。

5、mysql_fetch_row():返回单列的各字段。

  二、用session实现服务器验证

  对于需要身份验证的页面,使用apache服务器验证是最好不过的了。但是,apache服务器验证的界面不够友好。而且,cgi模式的php,iis下的php,都不能使用apache服务器验证。这样,我们可以利用session在不同页面间保存用户身份,达到身份验证的目的。

  在后端我们同样利用上面的Mysql数据库存放用户信息。

  我们先编写一个用户登录界面,文件名为login.php,代码职下:

____________________________________________________________



用户名:


口 令:






____________________________________________________________

login1.php处理提交的表单,代码如下:

$db=mysql_connect("localhost","root","");
mysql_select_db("XinXiKu",$db);
$result=mysql_query("SELECT * FROM user where name='$name' and password='$pass'",$db);
if ($myrow = mysql_fetch_row($result))
{
//注册用户
session_start();
session_register("user");
$user=$myrow["user"];
// 身份验证成功,进行相关操作
...
}
else
{
echo"身份验证失败,您无权共享网络资源!";
}
?>
  这里需要说明的是,用户可以使用在后续的操作中用**http://domainname/next.php?user=用户名 **来绕过身份验证。所以,后续的操作应先检查变量是否注册:已注册,则进行相应操作,否则视为非法登录。相关代码如下:
session_start();
if (!session_is_registered("user"))
{
echo "身份验证失败,属于非法登录!";
}
else
{
//成功登录进行相关操作
...
}
?>


  附录:PHP以模块方式安装方法

  1、首先下载文件:mod_php4-4.0.1-pl2。[如果你的不是PHP4,那么就赶快升级吧!]

  解开后有三个文件:mod_php4.dll、mod_php4.conf、readme.txt

  2、相关文件拷贝

  把mod_php4.dll拷贝到apache安装目录的modules目录下面

  把mod_php4.conf拷贝到apache安装目录的conf目录下面

  把msvcrt.dll文件拷贝到apache的安装目录下面

  3、打开conf/srm.conf文件 ,在其中加上一句

  Include conf/mod_php4.conf

  在做这一些之前请把您的httpd.conf中关于CGI模式的所以设置语句都去掉,即类似下面的部分!

ScripAlias /php4/ "C:/php4/"
AddType application/x-httpd-php4 .php
AddType application/x-httpd-php4 .php3
AddType application/x-httpd-php4 .php4
Action application/x-httpd-php4 /php4/php.exe


  要想使PHP支持更多的后缀名,没问题。在给出的配置文件mod_php4.conf已经支持了三种后缀名php,php3,php4,如果你还想支持更多的后缀名可以更改这个文件,很简单的。

  4、测试

  用 phpinfo(); ?> 测试。会看到Server API的值为apache,而不是cgi ,而且还有有关HTTP Headers Information的信息。
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie lässt sich das Problem lösen, dass Windows 11 Sie auffordert, den Administrator-Benutzernamen und das Passwort einzugeben, um fortzufahren? Wie lässt sich das Problem lösen, dass Windows 11 Sie auffordert, den Administrator-Benutzernamen und das Passwort einzugeben, um fortzufahren? Apr 11, 2024 am 09:10 AM

Wenn Sie ein Win11-System verwenden, werden Sie manchmal aufgefordert, den Benutzernamen und das Passwort des Administrators einzugeben. In diesem Artikel wird erläutert, wie Sie mit dieser Situation umgehen. Methode 1: 1. Klicken Sie auf [Windows-Logo] und drücken Sie dann [Umschalt+Neustart], um in den abgesicherten Modus zu wechseln, oder gehen Sie folgendermaßen in den abgesicherten Modus: Klicken Sie auf das Startmenü und wählen Sie „Einstellungen“. Wählen Sie „Update und Sicherheit“; wählen Sie „Jetzt neu starten“ unter „Wiederherstellung“ und geben Sie die Optionen ein. Wählen Sie „Fehlerbehebung“ – „Erweiterte Optionen“ – „Starteinstellungen“.

So stellen Sie gelöschte Kontakte auf WeChat wieder her (ein einfaches Tutorial erklärt Ihnen, wie Sie gelöschte Kontakte wiederherstellen) So stellen Sie gelöschte Kontakte auf WeChat wieder her (ein einfaches Tutorial erklärt Ihnen, wie Sie gelöschte Kontakte wiederherstellen) May 01, 2024 pm 12:01 PM

Leider löschen Menschen aus bestimmten Gründen oft versehentlich bestimmte Kontakte. WeChat ist eine weit verbreitete soziale Software. Um Benutzern bei der Lösung dieses Problems zu helfen, wird in diesem Artikel erläutert, wie gelöschte Kontakte auf einfache Weise wiederhergestellt werden können. 1. Verstehen Sie den WeChat-Kontaktlöschmechanismus. Dies bietet uns die Möglichkeit, gelöschte Kontakte wiederherzustellen. Der Kontaktlöschmechanismus in WeChat entfernt sie aus dem Adressbuch, löscht sie jedoch nicht vollständig. 2. Nutzen Sie die integrierte „Kontaktbuch-Wiederherstellung“-Funktion von WeChat, um Zeit und Energie zu sparen. Mit dieser Funktion können Benutzer schnell gelöschte Kontakte wiederherstellen. 3. Rufen Sie die WeChat-Einstellungsseite auf und klicken Sie auf die untere rechte Ecke, öffnen Sie die WeChat-Anwendung „Me“ und klicken Sie auf das Einstellungssymbol in der oberen rechten Ecke, um die Einstellungsseite aufzurufen.

So legen Sie das WLAN-Passwort des Routers mit dem Mobiltelefon fest (mit dem Mobiltelefon als Werkzeug) So legen Sie das WLAN-Passwort des Routers mit dem Mobiltelefon fest (mit dem Mobiltelefon als Werkzeug) Apr 24, 2024 pm 06:04 PM

Drahtlose Netzwerke sind in der heutigen digitalen Welt zu einem unverzichtbaren Bestandteil des Lebens der Menschen geworden. Besonders wichtig ist jedoch der Schutz der Sicherheit persönlicher drahtloser Netzwerke. Das Festlegen eines sicheren Passworts ist der Schlüssel, um sicherzustellen, dass Ihr WLAN-Netzwerk nicht von anderen gehackt werden kann. Um die Sicherheit Ihres Netzwerks zu gewährleisten, erfahren Sie in diesem Artikel ausführlich, wie Sie mit Ihrem Mobiltelefon das WLAN-Passwort des Routers ändern. 1. Öffnen Sie die Router-Verwaltungsseite – Öffnen Sie die Router-Verwaltungsseite im mobilen Browser und geben Sie die Standard-IP-Adresse des Routers ein. 2. Geben Sie den Administrator-Benutzernamen und das Passwort ein. Um Zugriff zu erhalten, geben Sie auf der Anmeldeseite den korrekten Administrator-Benutzernamen und das richtige Passwort ein. 3. Navigieren Sie zur Seite mit den WLAN-Einstellungen – suchen Sie auf der Router-Verwaltungsseite nach der Seite mit den WLAN-Einstellungen und klicken Sie darauf, um sie aufzurufen. 4. Finden Sie das aktuelle WLAN

Anleitung zum Ändern des WLAN-Passworts auf einem Mobiltelefon (einfache Bedienung) Anleitung zum Ändern des WLAN-Passworts auf einem Mobiltelefon (einfache Bedienung) Apr 26, 2024 pm 06:25 PM

Drahtlose Netzwerke sind mit der rasanten Entwicklung des Internets zu einem unverzichtbaren Bestandteil unseres Lebens geworden. Zum Schutz persönlicher Daten und der Netzwerksicherheit ist es jedoch sehr wichtig, Ihr WLAN-Passwort regelmäßig zu ändern. Um Ihnen dabei zu helfen, die Sicherheit Ihres Heimnetzwerks besser zu schützen, stellt Ihnen dieser Artikel eine detaillierte Anleitung vor, wie Sie Ihr WLAN-Passwort mit Ihrem Mobiltelefon ändern können. 1. Verstehen Sie die Bedeutung von WLAN-Passwörtern. WLAN-Passwörter sind die erste Verteidigungslinie zum Schutz persönlicher Daten und der Netzwerksicherheit. Wenn Sie ihre Bedeutung verstehen, können Sie besser verstehen, warum Sie Ihr Passwort regelmäßig ändern müssen. 2. Stellen Sie sicher, dass das Telefon mit dem WLAN verbunden ist, bevor Sie das WLAN-Passwort ändern. 3. Öffnen Sie das Einstellungsmenü des Telefons und rufen Sie das Einstellungsmenü des Telefons auf.

Das Geheimnis des Ausbrütens mobiler Dracheneier wird gelüftet (Schritt für Schritt erfahren Sie, wie Sie mobile Dracheneier erfolgreich ausbrüten) Das Geheimnis des Ausbrütens mobiler Dracheneier wird gelüftet (Schritt für Schritt erfahren Sie, wie Sie mobile Dracheneier erfolgreich ausbrüten) May 04, 2024 pm 06:01 PM

Mobile Spiele sind mit der Entwicklung der Technologie zu einem festen Bestandteil des Lebens der Menschen geworden. Mit seinem niedlichen Drachenei-Bild und dem interessanten Schlüpfvorgang hat es die Aufmerksamkeit vieler Spieler auf sich gezogen, und eines der Spiele, das viel Aufmerksamkeit erregt hat, ist die mobile Version von Dragon Egg. Um den Spielern dabei zu helfen, ihre eigenen Drachen im Spiel besser zu kultivieren und zu züchten, erfahren Sie in diesem Artikel, wie Sie Dracheneier in der mobilen Version ausbrüten. 1. Wählen Sie den geeigneten Drachenei-Typ aus, der Ihnen gefällt und zu Ihnen passt, basierend auf den verschiedenen Arten von Drachenei-Attributen und -Fähigkeiten, die im Spiel zur Verfügung stehen. 2. Verbessern Sie die Stufe der Brutmaschine, indem Sie Aufgaben erledigen und Requisiten sammeln. Die Stufe der Brutmaschine bestimmt die Schlüpfgeschwindigkeit und die Erfolgsquote beim Schlüpfen. 3. Sammeln Sie die Ressourcen, die die Spieler zum Schlüpfen benötigen

So stellen Sie die Schriftgröße auf dem Mobiltelefon ein (Schriftgröße auf dem Mobiltelefon einfach anpassen) So stellen Sie die Schriftgröße auf dem Mobiltelefon ein (Schriftgröße auf dem Mobiltelefon einfach anpassen) May 07, 2024 pm 03:34 PM

Das Festlegen der Schriftgröße ist zu einer wichtigen Personalisierungsanforderung geworden, da Mobiltelefone zu einem wichtigen Werkzeug im täglichen Leben der Menschen geworden sind. Um den Bedürfnissen verschiedener Benutzer gerecht zu werden, wird in diesem Artikel erläutert, wie Sie das Nutzungserlebnis Ihres Mobiltelefons verbessern und die Schriftgröße des Mobiltelefons durch einfache Vorgänge anpassen können. Warum müssen Sie die Schriftgröße Ihres Mobiltelefons anpassen? Durch Anpassen der Schriftgröße kann der Text klarer und leichter lesbar werden. Geeignet für die Lesebedürfnisse von Benutzern unterschiedlichen Alters. Praktisch für Benutzer mit Sehbehinderung, die Schriftgröße zu verwenden Einstellungsfunktion des Mobiltelefonsystems – So rufen Sie die Systemeinstellungsoberfläche auf – Suchen und geben Sie die Option „Anzeige“ in der Einstellungsoberfläche ein – suchen Sie die Option „Schriftgröße“ und passen Sie sie mit einem Drittanbieter an Anwendung – Laden Sie eine Anwendung herunter und installieren Sie sie, die die Anpassung der Schriftgröße unterstützt – öffnen Sie die Anwendung und rufen Sie die entsprechende Einstellungsoberfläche auf – je nach Person

Was soll ich tun, wenn mein Win10-Passwort nicht den Passwortrichtlinienanforderungen entspricht? Was kann ich tun, wenn mein Computerpasswort nicht den Richtlinienanforderungen entspricht? Was soll ich tun, wenn mein Win10-Passwort nicht den Passwortrichtlinienanforderungen entspricht? Was kann ich tun, wenn mein Computerpasswort nicht den Richtlinienanforderungen entspricht? Jun 25, 2024 pm 04:59 PM

Im Windows 10-System handelt es sich bei der Kennwortrichtlinie um eine Reihe von Sicherheitsregeln, um sicherzustellen, dass die von Benutzern festgelegten Kennwörter bestimmte Stärke- und Komplexitätsanforderungen erfüllen Das Kennwort entspricht nicht den von Microsoft festgelegten Anforderungen an Komplexität, Länge oder Zeichentypen. Wie kann dies vermieden werden? Benutzer können die Passwortrichtlinie direkt unter der lokalen Computerrichtlinie finden, um Vorgänge auszuführen. Lösungen, die nicht den Spezifikationen der Passwortrichtlinie entsprechen: Ändern Sie die Passwortlänge: Gemäß den Anforderungen der Passwortrichtlinie können wir versuchen, die Länge des Passworts zu erhöhen, indem wir beispielsweise das ursprüngliche 6-stellige Passwort in ein 8-stelliges oder längeres Passwort ändern. Sonderzeichen hinzufügen: Passwortrichtlinien erfordern häufig die Einbeziehung von Sonderzeichen wie @, #, $ usw. ICH

Wie heißt die Software, die alle WLAN-Passwörter entsperren kann (empfohlene mobile Software, um verbundene WLAN-Passwörter mit einem Klick zu erhalten) Wie heißt die Software, die alle WLAN-Passwörter entsperren kann (empfohlene mobile Software, um verbundene WLAN-Passwörter mit einem Klick zu erhalten) Apr 02, 2024 pm 06:46 PM

Drahtlose Netzwerke sind zu einem integralen Bestandteil des Lebens der Menschen in der modernen Gesellschaft geworden. Oder wir müssen gespeicherte Passwörter in der WLAN-Liste anzeigen. Manchmal vergessen wir jedoch das WLAN-Passwort. Um dieses Problem zu lösen, wurde mobile Software entwickelt. Um Ihnen die Beherrschung dieses magischen Tools zu erleichtern, stellen wir Ihnen in diesem Artikel eine Software vor, mit der Sie schnell alle WLAN-Passwörter entsperren können. 1. Leistungsstarkes Tool zum Entsperren von WLAN-Passwörtern – entdecken Sie die wunderbare Welt des WLAN-Passwort-Entsperrens 2. Einfaches und benutzerfreundliches Interface-Design – praktische und schnelle Bedienungsmethoden 3. Unterstützt mehrere Geräte – erfüllt die Anforderungen verschiedener Geräte 4. Automatisch aktualisieren – Behalten Sie immer das neueste WLAN-Passwort. 5. Hochgeschwindigkeits-WLAN-Verbindung – bewältigen Sie problemlos den gleichzeitigen Verbindungsbedarf mehrerer Geräte

See all articles