cottton Naja, in manchen fällen (solange man nicht danach suchen/sortieren muss ist es doch wurscht wenn man was serialisiertes in eine spalte schickt oder??
Beiträge von wolf
-
-
-
2) Ungefilterte Daten
Also Daten kommen in deinem Fall über $_GET oder $_POST .. ich kann in die daten auch ein <script>alert('xss')</script> schreiben, du schreibst das in dein HTML und dann wird plötzlich ein Script auf deiner Seite ausgeführt, was ICH als BÖSER, FREMDER benutzer dort eingefügt habe.. dadurch ist es z.B. auch möglich Datenbankabfragen verherend zu manipulieren..!Denk daran IMMER die daten zu filtern, validieren und zu konvertieren .. z.B. ist eine Dateinummer immer eine Ganzzahl also vom typ Integer.
Jetzt kannst du dir sicher sein das in $my_number eine Zahl steht mit der du a) Arbeiten und Rechnen kannst und b) die du ohne dich zu fürchten ausgeben kannst oder in einer DB Abfrage benutzen könntest.
Das ganze gilt auch für z.B. hochgeladene Dateien..
immer CHMOD setzten, der das ausführen NICHT ZULÄSST, dateinamen umbenennen, den echten MIME-TYPE testen und und und3) defaults setzten
default (engl.) = StandartAlso werte sie verwendet werden, wenn z.B. keine filenumber gesetzt ist
z.B.:PHP$filenumber = !empty($_POST['filenumber']) ? (int) $_POST['filenumber'] : 1;//wenn isset und nicht leer, zu int konvertieren und auslesen, sonnst 1 nehmen (kannst auch 0 hinschreiben)
Wenn filenumber NICHT LEER, NIMM filenumber und konvertiere vorher zum typ int, SONNST nehme 1.Das da
ist einfaches string verknüpfen wie z.B.
Das Ganze gibt es auch für zahlen
[code=php]
$a = 2 ;
$a += 2;// 43.2)
Der unterschied liegt darin, das du bei buttons auch ::before und ::after ansprechen kannst4) Inputs IMMER in labels
Usability.. Wenn du n Formular hast und nichtmehr weist was du in das Feld rein schreiben wolltest .. außerdem für Barrierefreiheit.. in der Schweiz müssen Internetshops z.B. Barrierefrei ein, sonnst drohen Strafen wegen diskriminierung. -
Ich weiß, wollte es nur gesagt haben
-
gewöhne dir gewisse sachen an
Achte auf Einrückung
NIEMALS ungefilterte Daten speichern oder ausgeben!!!!
Defaults setzen
Nix 1000 mal schreiben (echo)
Form-Submits nach Möglichkeit in buttons
Inputs IMMER in labels (placeholder reichen nicht außer bei logins)
Variablen sind englisch...
PHP
Alles anzeigen$count = 10; $filenumber = !empty($_POST['filenumber']) ? (int) $_POST['filenumber'] : 1;//wenn isset und nicht leer, zu int konvertieren und auslesen, sonnst 1 nehmen (kannst auch 0 hinschreiben) $filename = ( !empty($_POST['filename']) && file_exists(basename($_POST['filename'])) ) ? basename($_POST['filename']) : 'default.file';//wenn isset und nicht leer, kürze auf echten Dateinamen und prüfe vorhanden sein, dann nimm den Dateinamen, sonnst die standart Datei (kannst auch leer lassen) $read_form_html = ' <form action="datenaendern.php" method="post"> <p>Datensatz ändern:</p> <p> Welchen Datensatz möchten Sie ändern? <br>Bitte wählen </p> <input type="hidden" name="filename" value="'. $filename .'"> <select name="filenumber"> '; for($i = 1; $i <= $count; $i++) { $read_form_html .= '<option value="'. $i .'">Datensatz Nr. '. $i .'</option>'; } $read_form_html .= ' </select> <button>Datensatz einlesen"</button> </form> <br> '; $change_form_html = ' <form action="datenaendern.php" method="post"> <label>Nummer: <input name="nummer" type="number"></label><br> <label>Titel: <input name="titel"></label><br> <label>Länge: <input name="laenge">cm</label><br> <label>Breite: <input name="breite">cm</label><br> <label>Preis: <input name="preis" type="number">€</label><br> <br> <button>Datensatz ändern</button> </form> '; $read_data_html = ' <br> <br> Folgender Datensatz soll ausgelesen werden<br> Dateiname: '. $filename .'<br> Dateinummer: '. $filenumber .'<br> '; if(!file_exists(basename($_POST['filename']))){ $read_data_html .= 'Datei konnte nicht gefunden werden'; } else{ $xmldata = simplexml_load_file($filename); if(isset($xmldata->bild[$filenumber])){ $filedata = $xmldata->bild[$filenumber]; $read_data_html .= ' Nummer: '. $filedata->bildnr .'<br> Titel: '. $filedata->bildtitel .'<br> Länge: '. $filedata->laenge .'<br> Breite: '. $filedata->breite .'<br> Rahmen: '. $filedata->rahmen .'<br> Preis: '. $filedata->preis .'<br> '; } else{ $read_data_html .= 'Keine Bilddaten gefunden!' } } echo $read_form_html . $change_form_html . $read_data_html;
-
Bitte kein JS für so ne kleinigkeit oO
-
haha hab jetzt erst geblickt was die regex macht.. natürlich können zwischen drinnen auch mehr als 3 Zeilen stehen
-
Danke, aber er schafft ja immernochnicht alles bis zum nächsten zu bekommen
Werde wohl das workaround benutzen :p
-
Oh okay
Ja so work-arounds gehen klar, aber wenn vermeidbar.. :p
-
Weil der zeilenanfang wichtig ist.. ich brauche theoretisch ein explode mit "^- "
-
-
-
-
-
'REQUEST_URI' von server, dann durch regex den rest raus filtern
https://secure.php.net/manual/de/rese…bles.server.php -
Wenn du ne uhrzeit willst, dann benutze einfachd das input type time??
-
-
Das Thema haben wir doch schon beantwortet und sind darauf gestoßen, dass du nicht bereit bist dich mit PHP u.ä. zu beschäftigen. Siehe: Webseite für mehrere Partner/Kunden anlegen
Sichtworte erneut .htaccess & GET Parameter
-
-
Ja Oberschlau ( Sempervivum ), aber der Lern- und Versteh-Effekt liegt bei grep genau bei 0, natürlich kannst du mit grep das genau so beschreiben.. aber da du leider nicht mal ein Beispiel da gelassen hast ist dein Beitrag da erstaunlich unnötig, wo du es doch viel besser kannst?