was bedeuten die parameter hinter ereg
!ereg('^[^./][^/]*$'
hallo ich lerne php
in punkto sicherheit steht bei php.net unter sicherheit-->dateisystem-->sichere dateinamensprüfung folgender code.
ich verstehe nicht die parameter hinter !ereg.
also was bedeutet !ereg('^[^./][^/]*$'?
wäre nett wenn mir das jemand erklären könnte.
vielen dank für eure hilfe.
saiya
Änderung(en):
Ich habe mir erlaubt den PHPcode in einen Codeblock zu packen.
masterG
Moderator
25.06.2007
hallo ich lerne php
in punkto sicherheit steht bei php.net unter sicherheit-->dateisystem-->sichere dateinamensprüfung folgender code.
$username = $HTTP_SERVER_VARS['REMOTE_USER']; // verwendet eine
// Authentifizierungsmethode
$homedir = "/home/$username";
if (!ereg('^[^./][^/]*$', $userfile))
die('bad filename'); // "DIE", gehen Sie nicht weiter
if (!ereg('^[^./][^/]*$', $username))
die('bad username'); // "DIE", gehen Sie nicht weiter
//etc...
ich verstehe nicht die parameter hinter !ereg.
also was bedeutet !ereg('^[^./][^/]*$'?
wäre nett wenn mir das jemand erklären könnte.
vielen dank für eure hilfe.
saiya
Änderung(en):
Ich habe mir erlaubt den PHPcode in einen Codeblock zu packen.
masterG
Moderator
25.06.2007
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 57401
Url: https://administrator.de/forum/was-bedeuten-die-parameter-hinter-ereg-57401.html
Ausgedruckt am: 06.05.2025 um 03:05 Uhr
3 Kommentare
Neuester Kommentar
G' Abend,
das Thema heißt "regulärer Ausdruck". Zu diesem Thema gibt es seitenweiße Tut's und & Co. Es zu verstehen ist am Anfang recht schwer!
Also zum "!":
Das Fragzeichen ist in PHP so eine Art "NOT". Sprich in deinem Beispiel würde die IF-Abfrage folgendes abfragen: Wenn der Rückgabewert nicht gesetzt ist, soll "DIE...." ausgeführt werden.
Zu dem regulären Ausdruck:
So tief bin ich in dieser Materie nicht drinne. Daher hier eine Hilfestellung: http://www.php-resource.de/tutorials/read/10/1/
Gruß
Dani
das Thema heißt "regulärer Ausdruck". Zu diesem Thema gibt es seitenweiße Tut's und & Co. Es zu verstehen ist am Anfang recht schwer!
Also zum "!":
Das Fragzeichen ist in PHP so eine Art "NOT". Sprich in deinem Beispiel würde die IF-Abfrage folgendes abfragen: Wenn der Rückgabewert nicht gesetzt ist, soll "DIE...." ausgeführt werden.
Zu dem regulären Ausdruck:
So tief bin ich in dieser Materie nicht drinne. Daher hier eine Hilfestellung: http://www.php-resource.de/tutorials/read/10/1/
Gruß
Dani
Musste mich auch erstmal wieder ein bisschen in die RegEx einlesen.
Ich würde das so verstehen (siehe auch der URL von Dani)
(1) [^./] bedeutet zunächst mal, dass kein . oder Slash / vorkommen soll/darf
(2) ^[^./] bedeutet (1) steht nicht am Anfang
(3) [^/] bedeutet ^ oder /
(4) [^/]* bedeutet (3) beliebig oft oder nicht vorhanden
(5) [^/]*$ bedeutet (4) am Ende
Also zusammen kein . oder Slash am Anfang und ^ oder / beliebig oft am Ende.
Gruß
cykes
Ich würde das so verstehen (siehe auch der URL von Dani)
(1) [^./] bedeutet zunächst mal, dass kein . oder Slash / vorkommen soll/darf
(2) ^[^./] bedeutet (1) steht nicht am Anfang
(3) [^/] bedeutet ^ oder /
(4) [^/]* bedeutet (3) beliebig oft oder nicht vorhanden
(5) [^/]*$ bedeutet (4) am Ende
Also zusammen kein . oder Slash am Anfang und ^ oder / beliebig oft am Ende.
Gruß
cykes