Heim Backend-Entwicklung PHP-Tutorial Studiennotizen zu PHP-Funktionen

Studiennotizen zu PHP-Funktionen

Apr 17, 2018 pm 03:57 PM
php 学习 笔记

Der Inhalt dieses Artikels sind Studiennotizen zu PHP-Funktionen, die einen bestimmten Referenzwert haben. Jetzt können Freunde in Not darauf verweisen.

tr>
$_SERVER["PHP_SELF"] Eine superglobale Variable. Gibt den Dateinamen des aktuell ausgeführten Skripts zurück.
htmlspacialchars(var) Konvertieren Sie bestimmte Zeichen in HTML-Entitäten. Verhindert, dass Angreifer Code ausnutzen, indem sie HTML- oder JavaScript-Code in Formulare einfügen (Cross-Site-Scripting-Angriffe).
$_SERVER["PHP_SELF"] 一种超全局变量。返回当前执行脚本的文件名。
htmlspacialchars(var) 把特定字符转换为HTML实体。可防止攻击者通过在表单中注入HTML或JavaScript代码(跨站点脚本攻击)对代码进行利用。

应用:$_SERVER["PHP_SELF"]变量能够被黑客利用。如果你的页面使用了PHP_SELF,用户能够输入下划线然后执行跨站点脚本(XSS)。 

提示:跨站点脚本(Cross-site scripting,XSS)是一种计算机安全漏洞类型,常见于web应用程序。XSS能够使攻击者向其他用户浏览的网页中输入客户端脚本。

例:test.php页面中有表单:

<form method="post" action="<?php echo $_SERVER["PHP_SELF"];?>">
Nach dem Login kopieren

如果地址栏中是正常URL:hhtp://www.example.com/test.php,上面代码会转换为:

<form method="post" action="test.php">
Nach dem Login kopieren

一旦输入:http://www.example.com/test.php/%22%3E%3Cscript%3Ealert('hacked')%3C/script%3E,上面代码会转换成:

<form method="post" action="test.php"/><script>alert(&#39;hacked&#39;);</script>
Nach dem Login kopieren

使用htmlspecialchars()函数避免上述情况,表单代码:

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
Nach dem Login kopieren

这时输入http://www.example.com/test.php/%22%3E%3Cscript%3Ealert('hacked')%3C/script%3E,上面代码会转换成:

<form method="post" action="test.php/"><script>alert(&#39;hacked&#39;)</script>"
Nach dem Login kopieren
无法利用,没有伤害。
trim(var) 取出多余的空格、制表符、换行
stripslashes(var) 删除反斜杠()
$_SERVER["REQUEST_METHOD"]  
empty(var) 判断变量是否已经赋予数据且不为空。‘’、null、false、00、0、'0'、未定义、array()、var $var都返回true。
isset(var[,var[,...]]) 检测变量是否已经声明。未定义变量返回true。unset一个变量后,变量被取消了。
is_null(var) 检查值、变量、表达式是否为null。未定义变量传入也会返回true,但是会报错!
defined(var) 检测常量是否已经声明。

1、empty、isset首先都会检查变量是否存在,然后对变量值进行检测。而is_null只是直接检查变量值,是否为null。

2、empty、isset输入参数必须是一个变量,而is_null输入参数只要是能够有返回值就可以(常量,变量,表达式等)。在php手册里,对于他们解析是:empty,isset是一个语言结构而非函数,因此它无法被变量函数调用。

preg_match(正则表达式,变量) 检索字符串的模式,如果模式存在则返回true,否则返回false。
   
   
   
   
   
   
   
   
   
   
   
   
Anwendung: Die Variable $_SERVER["PHP_SELF"] kann ausgenutzt werden von Hacker. Wenn Ihre Seite PHP_SELF verwendet, können Benutzer einen Unterstrich eingeben und Cross-Site-Scripting (XSS) ausführen.

Tipps: Cross-Site-Scripting (XSS) ist eine Art von Computersicherheitslücke, die in Webanwendungen häufig auftritt. XSS ermöglicht es Angreifern, clientseitige Skripte in Webseiten einzugeben, die von anderen Benutzern durchsucht werden.

Beispiel: Auf der Seite test.php gibt es ein Formular:

Wenn die Adressleiste eine normale URL ist: hhtp://www.example.com/test.php , der obige Code wird konvertiert in:

Nach der Eingabe: http://www.example.com/test.php/%22%3E%3Cscript%3Ealert('hacked')%3C/ script%3E, oben Der Code wird konvertiert in:

Verwenden Sie die Funktion htmlspecialchars(), um die obige Situation zu vermeiden:


Zu diesem Zeitpunkt: Geben Sie http://www.example.com/test.php/%22%3E%3Cscript%3Ealert('hacked')%3C/script%3E ein. Der obige Code wird konvertiert in:

Kann nicht ausgebeutet werden, kein Schaden.
trim(var) Überschüssige Leerzeichen, Tabulatoren und Zeilenumbrüche entfernen
stripslashes (var) Backslash() entfernen
$_SERVER["REQUEST_METHOD"]
empty(var) Bestimmen Sie, ob die VariableDaten wurden zugewiesen und sind nicht leer. „“, null, false, 00, 0, „0“, undefiniert, array() und var $var geben alle „true“ zurück.
isset(var[,var[,...]]) Überprüfen Sie, ob die Variable deklariert wurde. Gibt für undefinierte Variablen „true“ zurück. Nach dem Deaktivieren einer Variablen wird die Variable gelöscht.
is_null(var) Überprüfen Sie den Wert , Ob Variablen und Ausdrücke null sind. Die Übergabe undefinierter Variablen gibt ebenfalls true zurück, es wird jedoch ein Fehler gemeldet!
definiert(var) Überprüfen Sie, ob die Konstante Bereits deklariert.

1 Empty und isset prüft zunächst, ob die Variable vorhanden ist existiert, und ermitteln Sie dann den Variablenwert. Und is_null prüft einfach direkt den Variablenwert, um zu sehen, ob er null ist.

2. Die Eingabeparameter empty und isset müssen eine Variable sein, während der Eingabeparameter is_null einen Rückgabewert (Konstante, Variable, Ausdruck usw.) haben kann. Im PHP-Handbuch lautet ihre Analyse: leer, isset ist eine Sprachstruktur und keine Funktion und kann daher nicht von Variablenfunktionen aufgerufen werden.
preg_match(regulärer Ausdruck, Variable) Rufen Sie das Muster der Zeichenfolge ab, geben Sie „true“ zurück, wenn das Muster vorhanden ist, andernfalls geben Sie „false“ zurück.
td>
Verwandte Empfehlungen: 10 wenig bekannte, aber sehr nützliche PHP-Funktionen PHP-Funktion definiert keine Parametermethode

Das obige ist der detaillierte Inhalt vonStudiennotizen zu PHP-Funktionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

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)

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

7 PHP-Funktionen, die ich leider vorher nicht kannte 7 PHP-Funktionen, die ich leider vorher nicht kannte Nov 13, 2024 am 09:42 AM

Wenn Sie ein erfahrener PHP-Entwickler sind, haben Sie möglicherweise das Gefühl, dass Sie dort waren und dies bereits getan haben. Sie haben eine beträchtliche Anzahl von Anwendungen entwickelt, Millionen von Codezeilen debuggt und eine Reihe von Skripten optimiert, um op zu erreichen

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein Dec 20, 2024 am 11:31 AM

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Apr 05, 2025 am 12:04 AM

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

PHP -Programm zum Zählen von Vokalen in einer Zeichenfolge PHP -Programm zum Zählen von Vokalen in einer Zeichenfolge Feb 07, 2025 pm 12:12 PM

Eine Zeichenfolge ist eine Folge von Zeichen, einschließlich Buchstaben, Zahlen und Symbolen. In diesem Tutorial wird lernen, wie Sie die Anzahl der Vokale in einer bestimmten Zeichenfolge in PHP unter Verwendung verschiedener Methoden berechnen. Die Vokale auf Englisch sind a, e, i, o, u und sie können Großbuchstaben oder Kleinbuchstaben sein. Was ist ein Vokal? Vokale sind alphabetische Zeichen, die eine spezifische Aussprache darstellen. Es gibt fünf Vokale in Englisch, einschließlich Großbuchstaben und Kleinbuchstaben: a, e, ich, o, u Beispiel 1 Eingabe: String = "TutorialPoint" Ausgabe: 6 erklären Die Vokale in der String "TutorialPoint" sind u, o, i, a, o, ich. Insgesamt gibt es 6 Yuan

Wie analysiert und verarbeitet man HTML/XML in PHP? Wie analysiert und verarbeitet man HTML/XML in PHP? Feb 07, 2025 am 11:57 AM

Dieses Tutorial zeigt, wie XML -Dokumente mit PHP effizient verarbeitet werden. XML (Extensible Markup-Sprache) ist eine vielseitige textbasierte Markup-Sprache, die sowohl für die Lesbarkeit des Menschen als auch für die Analyse von Maschinen entwickelt wurde. Es wird üblicherweise für die Datenspeicherung ein verwendet und wird häufig verwendet

Erklären Sie die späte statische Bindung in PHP (statisch: :). Erklären Sie die späte statische Bindung in PHP (statisch: :). Apr 03, 2025 am 12:04 AM

Statische Bindung (statisch: :) implementiert die späte statische Bindung (LSB) in PHP, sodass das Aufrufen von Klassen in statischen Kontexten anstatt Klassen zu definieren. 1) Der Analyseprozess wird zur Laufzeit durchgeführt.

Was sind PHP Magic -Methoden (__construct, __Destruct, __call, __get, __set usw.) und geben Sie Anwendungsfälle an? Was sind PHP Magic -Methoden (__construct, __Destruct, __call, __get, __set usw.) und geben Sie Anwendungsfälle an? Apr 03, 2025 am 12:03 AM

Was sind die magischen Methoden von PHP? Zu den magischen Methoden von PHP gehören: 1. \ _ \ _ Konstrukt, verwendet, um Objekte zu initialisieren; 2. \ _ \ _ Destruct, verwendet zur Reinigung von Ressourcen; 3. \ _ \ _ Call, behandeln Sie nicht existierende Methodenaufrufe; 4. \ _ \ _ GET, Implementieren Sie den dynamischen Attributzugriff; 5. \ _ \ _ Setzen Sie dynamische Attributeinstellungen. Diese Methoden werden in bestimmten Situationen automatisch aufgerufen, wodurch die Code -Flexibilität und -Effizienz verbessert werden.

See all articles