SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

TYPO3 Kochbuch

TYPO3 Kochbuch zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Entwicklung und Softwaredesign

PHP Entwicklung und Softwaredesign Hier können strukturelle (Programmier-) Konzepte diskutiert und Projekte vorgestellt werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 18.05.2008, 10:00:58
bernie33 bernie33 ist offline
Anfänger
 
Registriert seit: Mar 2008
Beiträge: 23
Private Nachrichten löschen?

Hallo,

Ich wollte euch etwas sagen.

Geändert von bernie33 (20.09.2008 um 17:28:57 Uhr)
Mit Zitat antworten
  #2  
Alt 18.05.2008, 11:10:45
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: Private Nachrichten löschen?

ich versteh schon nicht, was du da im HTML veranstaltest. du hast ne menge von nachrichten mit checkboxen davor. du willst mehrere anklickbar machen und dann löschen, richtig?

wieso dann

HTML-Code:
<INPUT type="checkbox" name="msg[2]" value="2"> 
ich zitiere mal selfHTML:

Zitat:
Für PHP-Nutzer der Hinweis: Das automatische Anlegen eines Arrays funktioniert nur, wenn der Name des Feldes mit eckigen Klammern endet: name="zutaten[]".
quelle: http://de.selfhtml.org/html/formulare/auswahl.htm

also schreib mal lieber

HTML-Code:
<INPUT type="checkbox" name="msg[]" value="2"> 
dann kannst du dir im empfangenden script mit

PHP-Code:
print_r($_POST
mal angucken was da ankommt und dann den PHP teil so ändern, dass auch alles korrekt gelöscht wird.
Mit Zitat antworten
  #3  
Alt 18.05.2008, 11:54:38
bernie33 bernie33 ist offline
Anfänger
 
Registriert seit: Mar 2008
Beiträge: 23
AW: Private Nachrichten löschen?

Hallo,

Ich wollte euch etwas sagen.

Geändert von bernie33 (20.09.2008 um 17:29:04 Uhr)
Mit Zitat antworten
  #4  
Alt 18.05.2008, 12:02:33
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: Private Nachrichten löschen?

diesen kram hier lässt du erst mal weg:

PHP-Code:
$msg htmlspecialchars(mysql_real_escape_string($_POST["msg[]"])); 
dafür machst du das hier:

PHP-Code:
if(!empty($_POST['msg']){
foreach(
$_POST['msg'] as $id){

$id intval($id)
$sql "UPDATE `xxx`.`privatemessages` SET `Status` = '3' WHERE `privatemessages`.`PM_ID`=$id";
$qry mysql_query($sql) or die('Fehler beim verschieben in dem Papierkorb. Bitte melden Sie dies dem Webmaster.');

}

allerdings birgt das eine sicherheitslücke. wenn der nutzer bösartig ist, übermittelt er dir ids anderer nachrichten und löscht somit nicht seine eigenen. du musst also gucken ob der löschende nutzer auch das recht dazu hat.

edit: ich habe im prinzip nur die for-schleife zu einer foreach-schleife gemacht und die variablen-namen angepasst.

Geändert von feuervogel (18.05.2008 um 12:03:24 Uhr)
Mit Zitat antworten
  #5  
Alt 18.05.2008, 14:02:55
bernie33 bernie33 ist offline
Anfänger
 
Registriert seit: Mar 2008
Beiträge: 23
AW: Private Nachrichten löschen?

Hallo,

Ich wollte euch etwas sagen.

Geändert von bernie33 (20.09.2008 um 17:29:12 Uhr)
Mit Zitat antworten
  #6  
Alt 18.05.2008, 14:16:45
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: Private Nachrichten löschen?

Zitat:
Zitat von bernie33 Beitrag anzeigen
Ja die Sicherheitslücke war mir bekannt und deshalb prüfe ich schon, ob er das darf. ;)

Frage: Ist es keine Sicherheitslücke, wenn ich die Eingaben nicht filtere? Es wird doch eine mysql-Abfrage aus ID gemacht? Kannst du mir das bitte erklären?
Beispiel: dem hans gehört die nachricht 1, dem karl die nachricht 2. wenn der hans jetzt das formular sieht und böswillig ist, schickt er an dein script frecherweise ein POST-request in dem steht, dass die nachricht 2 gelöscht werden soll. dann wird (bisher) nachricht 2 gelöscht, obwohl sie eigentlich karl gehört und der sie gar nicht löschen will. beantwortet das deine frage?

Zitat:
Aber ansonsten: Funktioniert! Vielen, vielen Dank ! :) :)

Gut, dass es auch noch Leute gibt, die einem helfen. Echt nett von dir! Ich dachte schon, ich bekomme es nie hin.
bittebitte nichts leichter als das :-)
Mit Zitat antworten
  #7  
Alt 18.05.2008, 15:50:00
bernie33 bernie33 ist offline
Anfänger
 
Registriert seit: Mar 2008
Beiträge: 23
AW: Private Nachrichten löschen?

Hallo,

Ich wollte euch etwas sagen.

Geändert von bernie33 (20.09.2008 um 17:29:18 Uhr)
Mit Zitat antworten
  #8  
Alt 19.05.2008, 09:45:19
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: Private Nachrichten löschen?

Zitat:
Zitat von bernie33 Beitrag anzeigen
Weil jetzt steht ja $_POST['msg'] drin. Aber normalerweise filtere ich immer alle Eingabe so: htmlspecialchars(mysql_real_escape_string($_POST['msg'])); um mich vor SQL-Injections und XSS zu schützen.
die funktion heißt mysql_real_escape_string() und du willst sie auf ein array anwenden?

ich mache mit

$id = intval($id);

das was vom benutzer kommt zu einem integer. da stehen also nur noch ziffern drin. somit ist die sql-injection prima verhindert, oder?
Mit Zitat antworten
  #9  
Alt 19.05.2008, 13:50:08
bernie33 bernie33 ist offline
Anfänger
 
Registriert seit: Mar 2008
Beiträge: 23
AW: Private Nachrichten löschen?

Hallo,

Ich wollte euch etwas sagen.

Geändert von bernie33 (20.09.2008 um 17:29:23 Uhr)
Mit Zitat antworten
  #10  
Alt 19.05.2008, 16:24:00
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: Private Nachrichten löschen?

Zitat:
Zitat von bernie33 Beitrag anzeigen
Aber ich habe noch ein Email-Problem. Soll ich ein neues Thema aufmachen, oder kannst du mir das schnell beantworten?
Neues Problem => neues Thema.
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Mehre Datensätze aus SQL-DB löschen ksticker MySQLi/PDO/(MySQL) 21 06.03.2008 00:02:01
nachrichten löschen dante_fresh PHP Grundlagen 10 21.10.2006 16:59:09
Thumbnails N'Koto Zinde PHP für Fortgeschrittene und Experten 24 01.05.2006 05:47:33
tabellenentwurf für ein Private Nachrichten System koerschgen2001 MySQLi/PDO/(MySQL) 3 28.12.2005 23:15:08
Dateiimport zu mysql Lars_oha PHP für Fortgeschrittene und Experten 10 18.09.2003 09:10:51


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:39:11 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt