Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature may not be available in some browsers.
Das heisst was sowas sollte ich doch so machen: "text", 6, $sdadf.. Aber wann ' '?
$name = 'blub';
echo "hallo $name!";
hallo blub!
echo 'hallo $name!';
hallo $name!
echo 'hallo '.$name.'!';
Aso, ok dann habe ich das verstanden.. Und TheHacker hat immernoch nicht geantwortet und Actionscripter auch nicht.. HUH![]()
Was ich in meiner neusten Version alles verbessern kann:worauf sollte ich antworten?
Was ich in meiner neusten Version alles verbessern kann:
Gemacht, ich hoffe das ist jetzt ok..1. die mysql-tabelle ist noch immer nicht optimiert und hat z.b. felder vom typ "text", wo varchar ausreicht
ist nun javascripte2. meta-tags (auch refreshs) haben nichts im body zu suchen. wenn die weiterleitung im body gemacht werden muss, dann per javascript. ansonsten erst prüfen, dann seite generieren, dann kannst du den tag auch in den head schreiben, wo er hin gehört.
Wie denn? Wenn du jetzt sagst TemplateSys, dann mach ich das doch am sinnvollsten am ende. Oder?3. das bringt mich zu m nächsten punkt: design und content trennen. du schreibst alle ausgaben direkt im quelltext. das mag soweit funktionieren ist aber grausam, wenn man mal ein anderes design benutzen will oder globale änderungen (farben, tabellenköpfe etc.) vornehmen muss. ein griff und das suchen beginnt...
Werde ich am Ende einfach mit einem speicher Mechanissmuss versehen..4. alle mysql-abfragen enden mit die() ... das ist zum debuggen ganz nett, aber in der final-version solltest du fehler abfangen und entweder ins log schreiben oder dir ausgeben lassen oder per mail an dich schicken.
Ist nun reduziert..5. pass auf, dass du nicht zu viele files includest. jedes include ist mind. 2 filezugriffe (suchen, öffnen)
Erledigt..6. formularfelder vor dem absenden checken! im php musst du natürlich die sachen auch noch einmal prüfen, aber wenigstens die prüfung auf leere felder bzw. benötigte felder solltest du bereits im formular vornehmen...
Wie denn? Wenn du jetzt sagst TemplateSys, dann mach ich das doch am sinnvollsten am ende. Oder?
EDIT: Neue Version, [HIER] jetzt kann man vergessene PWs wiederherstellen (puh das hatte mich erst fast aus dem konzept gebracht) und das Profil mit PW ändern..
Weiß auch nicht warum gemixt..Wieso verwendest du manchmal echo 'foo' . $foo und manchaml echo "foo $foo" ?
In der user_list.php wird auf den ersten Blick $page_max nicht geprüft (woher kommt das überhaupt?), was zu einer SQL-Injection führen kann und '2' sollte man als 2 schreiben.
Gruß
Ok nochmal was erneuert.. Ein PN system (ja fehelen noch ein paar funktionen, aber die kommen noch..) und die Userlist wurde verbessert..
Ja und kleine fehler generell:
[HIER]
du musst schon sagen was du willstwenn du jetzt wissen willst ob das so sinnvoll ist nein... die datentypen sind großteils fehl am platz.
`nickname` text <- wie lang sollen die nicknames werden? bin der meinung varchar(20) sollte reichen
`passwort` varchar(32) <- speicherst du die passwörter als hash ab? [...]
Dann prüfe bitte auch sämtliche Eingaben auf ihre Länge, bevor du sie abarbeiten lässt, ansonsten ist das nämlich mein Spezialgebiet, Bufferoverflow Angriffe.
Also schön defensiv programmieren, abfragen ob der die Kette innerhalb der Toleranzvorgaben ist.
Hmm,
Wenn ich in einer Tabelle mit varchar(10) einen String mit 30 Zeichen zum Abspeichern übergebe, wird der Rest einfach abgeschnitten und fertig.
Oder redest du gerade von Bufferoverflows seitens PHP (Was ja u.U. auch möglich sein könnte)?
Kommt auf den DB-Server und seine Konfiguration anWenn ich in einer Tabelle mit varchar(10) einen String mit 30 Zeichen zum Abspeichern übergebe, wird der Rest einfach abgeschnitten und fertig.
So, ich hab nur wieder mal ganz kurz hingesehen und auch nicht besonders viel gefunden. Das liegt aber wohl nur an diesem unkonfortablen Editor, den ich hier an der Uni hab
$sql = mysql_query($query) or die(mysql_error()) or die(mysql_error());
Das hier ist dein Weiterleitungstext. Wie man sieht, hast du darin zwei kleine Zeichensetzungsfehler drinnen, die ich oben korrigiert hab.Sie werden weitergeleitet. Wenn dies nicht geschieht, klicken Sie hier.
Ich bin beim Verarbeiten der Daten per php, das kommt ja zuerst, wenn ich richtig informiert bin, speichert man erst die Daten zwischen um sie dann geschlossen in die DB zu speichern - oder ist das schon wieder aus der "Mode"?
Nein, ist nicht unbedingt aus der Mode
Allerdings bestimmt PHP doch für mich, welchen Datentyp und welche Länge ich jetzt brauche, wo ist da dann das Problem (wenn dies seitens PHP richtig umgesetzt wurde)?
Gruß
Das Problem liegt darin, sagen wir du prüfst es an einer Stelle nicht, dann kann an der Stelle Fremdcode eingespeist werden.
Beispiel: (pseudocode)
Var a = eingegebener Text
Usereingabe = Steuerungszeichen zur Ausgabe von z.b. Stackdaten.
Im "angenehmsten" Fall stürzt nur die Anwendung ab.
Daher immer prüfen, ob die Variable begrenzt wird (beim eingeben) und dann beim Übergeben halt abfragen.
mit 3432213 geht alles gut, bei 9*10²² hast du ein Problem.
<?php
// Overflow-test.php
$int1 = 454531;
$int2 = 90000000000000000000000;
echo $int1 . '<br />';
echo $int2;
?>
454531
9E+022