Hab es noch mal bearbeitet, kannst es dir noch einmal anschauen
Hab es noch mal bearbeitet, kannst es dir noch einmal anschauen
Also :
Ich kann immer noch an uid 5 etwas senden obwohl userid 5 nicht vorhanden istFehler :Ich könnte jeden user bwz. jede uid eintragen die nicht exerstiert und somit die db total voll spammen .
Sicherung : Überprüfung der uid bwz des nicks ob vorhanden .
Jo das wurde behoben aber besser were es wenn es mit javascirpt sein würde weil so zerfetz es die seite und menue rechts ist auch wegFehler : wenn kein betreff eingetragen ist dann zerfetzt es zum teil .
Sicherung : Eine prüfung um zuschauen ob inhalt vorhanden ist und ob betreff eingetragen ist
Also das ist auch nun nicht mehr möglich .Fehler : mit aktualisieren oder mit F5 kann ich nach der ersten pn so oft drücken wie ich will und so könnte ich in weniger minuten die DB total zu spammen und die seite im schlimmsten fall zum stillstand bringen .
Sicherung : nach pn versand sollte es weitergeleitet werden zu einer seite die nach F5 drücken sich nur die seite neu läd und nicht nochma die pn versendet wird .
Du hast 2 von 3 fehler behoben .
MFG
adi
Habe mein Eingangsposting editiert.
Änderungen im Script:
Anstatt nach fehlerhafter Eingabe auf die Inbox zurückzuleiten wird nun auf die "neue nachricht verfassen" seite zurückgeleitet. Jedoch gehen dabei alle zuvor eingegeben Daten verloren. Ich arbeite weiterhin daran.
MFG!
in der lesen.php könnte man noch einen query einsparen, nämlich wenn schon gelesene messages noch mal gelesen werden, wird trotzdem noch der query für gelesen=1 ausgeführt.
und in der neu.php würde ich eine etwas userfreundlichere fehlerbehandlung einbauen, also nicht per die(); sondern ungefähr so:
ansonten, wenn halt ein fehler oder mehrere vorliegen, dem user das forumlar mit den vorherigen werten wieder anzeigen, aber den fehler dazu ausgeben.PHP-Code:
$error='';
if ( $_POST['betreff'] == '') {
$error.='Kein Betreff angegeben<br>';
}
...
if($error==''){
//datenbankeintrag
}
und bei der überprüfung der user id kommt es nur zum abbruch, wenn der query ungültig wäre, aber da er in deinem fall ja einfach nur nichts ausgibt, da die tabelle zwar vorhanden ist, aber einfach keine passendend aten zur abfrage, musst du da mit mysql_num_rows() arbeiten.
Kill one man, and you are a murderer.
Kill millions of men, and you are a conqueror.
Kill them all, and you are a god. - Jean Rostand, Thoughts of a Biologist (1939)
Ich hab es nun ein weiteres mal überarbeitet
Habe nun die 3. Lücke geschlossen und die Fehlerseiten verbessert.
Allerdings blick ich nun selber fast nich mehr durch meinen Code durch.
Hi habs ma getestet und funzt allerdings sind mir paar sachen aufgefallen
die auswahl des empfängers wird relative schweer wenn man si 500 user hat
und man kann sich selber pn's schicken
und noch ne frage gäb es ne möglichkeit das man einen link machen kann für die nickpage
SwissNetWorX - VMS Hosting / V-Server / Cloud-Server / Hosting
Also dass man sich selber ne PN schreiben kann geht nun nicht mehr, hatte das zu Testzwecken noch nicht mit reingenommen.
In der lesen.php und inbox.php ist der Nick nun mt der Nickpage verlinkt.
einen Link der auf der Nickpage erscheint, um eine PN zu schreiben... darum kümmer ich mich später noch.
Wegen der >500 User Sache.... muss ich schauen ob ich da ne Lösung finde.
MFG