Suche auf lima-city
-
in: prüfen ob Ordner (leer) existiert
geschrieben von trendweb
Hallo
wenn ich mit is_dir() prüfen will, ob ein Verzeichnis / Ordner existiert,
dann klappt das nur, wenn im Verzeichnis auch mind. 1e Datei vorhanden ist.
<?php $dirname = "irgendwas"; if (is_dir($dirname)) { print "<br /> Das Verzeichnis $dirname existiert!"; } else { print "<br /> Das Verzeichnis $dirname existiert nicht!"; } ?>
wenn Ordner vorhanden, aber leer ist, bekomme ich mit is_dir() ein FALSE
Wie kann ich aber Prüfen, ob auch ein leerer Order schon angelegt ist ?
-
in: User-Eingabe (Formular) escapen (filtern)
geschrieben von trendweb
es soll für alle möglichen verschiedene Anwendungen
(Ausgabe, Speichern, ...) verwendet werden können,
also wenn in MySQL DB, dann werde ich auch mysql_real_escape_string() verwenden,
aber für den ganzen "Rest" (u.a. auch für Speichern in .txt / .csv oder nur Ausgabe)
will ich hiermit eben eine Funktion haben, die ich für alle User-Eingaben benutzen kann.
bei der Nutzung von htmlspecialchars() ist wohl für Ausgabe im Browser gut,
aber wenn ich den Wert (String) z.B. in einer CSV speichern will, dann sollte
dort der Text in "reinem" UTF-8 ohne htmlentities gespeichert werden,
dafür habe ich sogar schon an den Einsatz von html_entity_decode() gedacht.
ich sehe schon, ich sollte evtl. doch nicht versuchen alles in eine Funktion zu packen,
sondern evtl aufteilen in zwei: a) für nur Ausgabe .... und b) für Speichern in File
und für das Speichern in MySQL DB nehme ich dann mysql_real_escape_string()
Das mit filter_input() bzw. filter_var() sieht ja auch ganz brauchbar aus, besonders
zusammen mit den Types of filters kann man sich damit sicher viel Schreib-Arbeit sparen :=)
DANKE!
-
in: User-Eingabe (Formular) escapen (filtern)
geschrieben von trendweb
Hallo
ich möchte für Anti-Hack jede User-Eingabe
(egal ob Formular POST oder GET Query-String, etc.)
richtig escapen (Sonderzeichen / Hack-Code raus filtern)
... das soll am besten in einer Funktion erledigt werden, damit ich
diese escape-Funktion für jede (neue) EIngabe immer wieder verwenden kann
es soll auch ohne mysql_real_escape_string laufen, aber so ähnlich wirksam sein
also auch ohne dass eine DB-Verbindung steht, jede User-Eingabe "escapen"
jetzt habe ich schon eine kleine Funktion dafür geschrieben,
bin mir aber nicht sicher ob das gut genug ist .... bitte um Verbesserungs-Vorschläge
Hier mein Entwurf für die Funktion: http://codepad.viper-7.com/OCfifC
... und die Funktion sieht so aus:
// --------------------------------------------------------------- function escape_invar($var) { if (is_array($var)) { array_map('escape_invar', $var); } else { if (mb_detect_encoding($var, 'UTF-8', true) === FALSE) { $var = utf8_encode($var); } ## $var = htmlspecialchars($var); ## $var = htmlentities($var); $var = str_replace(array('\\', "'", '"', "\0", "\r", "\n", "\t", "\s"), ' ', $var); ## $var = preg_replace("/[[:cntrl:]]/is", ' ', $var); while(strchr($var,'\\')) { $var = stripslashes($var); } $umlx = utf8_encode('äöüÄÖÜß'); $var = preg_replace("/[^a-zA-Z'.$umlx.'0-9 ,:;_\-\.\/\+]/su",' ',$var); $var = preg_replace('/ {2,}/', ' ', $var); $var = trim($var); } return $var; } // ---------------------------------------------------------------
die User-Eingabe (und dann die Ausgabe) sollen in UTF-8 sein
bitte schreibt mir, ob und wie man das noch besser machen kann,
... soll ich htmlspecialchars() bzw. htmlentities() verwenden oder andere
usw.
wie gesagt, ich will jede User-Eingabe $_REQUEST damit escapen !!!
es sollen alle "bösen" Sonderzeichen entfernt werden (inkl. Steuerzeichen)
aber Umlaute wie ä ö ü ß Ä Ö Ü und ein paar Satzzeichen sollen bleiben
oder gibt's dafür schon fertige "gute" Lösungen (z.B. bei sourceforge ... etc.) ?
Danke
-
in: Datei-Upload Script mit Link-Ausgabe
geschrieben von trendweb
Hallo
ich glaube das mit dem zippen (.zip) wird hier nicht funktionieren,
weil .zip eine der hier auf Lima-City nicht erlaubten Datei-Endungen ist
siehe dazu: HILFE - dateiformate auf webspace verboten