Der Inhalt dieses Artikels sind Studiennotizen zu PHP-Funktionen, die einen bestimmten Referenzwert haben. Jetzt können Freunde in Not darauf verweisen.
$_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('hacked');</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('hacked')</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"] |
| tr>
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!