| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

28-12-2010, 12:44
|
|
Spunk95
Registrierter Benutzer
|
|
Registriert seit: Jul 2010
Beiträge: 95
|
|
type hidden wird anscheinend nicht richtig übergeben
Danke schonmal für die ganze Hilfe die ich schon hier im Forum bekommen habe
hier mein Problem:
Ich habe ein Seite auf der Kommentare angezeigt werden. Um diese zu löschen werden die erforderlichen Daten mit diesem Formular an eine andere Seite übergeben:
PHP-Code:
<form action="index.php?s=changecreation&type=comment&action=delete"
method="post" name="form_comment_delete_<?echo $comment_id;?>">
<input type="hidden" name="type_id" value="<?echo $comment_id;?>">
</form>
Die Id des Kommentars übergebe ich mit type hidden über POST, damit man sie nicht in der URL ändern kann. Ich weiß allerdings nicht ob es so sicher ist.
Wenn ich dann versuche die versteckte Übergabe auszugeben mit
PHP-Code:
echo $_POST["type_id"];
kommt:
PHP-Code:
Notice: Undefined index: type_id in /users/mycreationhost/www/change-creation.php on line 3
Ich weiß aber nicht warum die variable nicht belegt ist...
Was am seltsamsten ist, dass das Script, dass mit dieser Variable arbeitet trotzdem richtig ausgeführt wird und dann eine selbstgeschriebene Fehlermeldung ausgibt, die ebenfalls besagt, dass nicht alle nötigen Angaben vorhanden sind...
Wäre sehr dankbar für Hilfe
|

28-12-2010, 13:32
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Zitat:
Zitat von Spunk95
Die Id des Kommentars übergebe ich mit type hidden über POST, damit man sie nicht in der URL ändern kann. Ich weiß allerdings nicht ob es so sicher ist.
|
Kein bisschen. Auch POST-Werte sind beliebig manipulierbar.
Du solltest prüfen, ob der jenige, der das Script aufruft, auch dazu berechtigt ist; oder es bspw. mit einem Passwortschutz versehen, so dass es nicht jeder aufrufen kann.
Zum Problem: Wie schickst du das Formular denn überhaupt ab? Ich sehe da keinerlei Submit-Button, und auch kein Eingabefeld, das den Fokus bekommen könnte, so dass ein Abschicken per Return möglich wäre.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

28-12-2010, 13:33
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Hallo,
das Formular hat offenbar außer dem Hidden-Feld keine weiteren Elemente, insbesondere keinen Submit-Button. Ich vermute, dass die Seite aber mindestens ein weiteres Formular enthält und nur dieses abgeschickt wird, wobei auch nur dessen Formularfelder übergeben werden. Bau mal in das Formular mit dem Hidden-Feld einfach einen Submit-Button ein und drück dann dort drauf, dann wirst du sehen, dass es funktioniert.
Gruß,
Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

28-12-2010, 13:33
|
unset
 Moderator
|
|
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.778
|
|
Schau zunächst einmal, was genau für ein HTML-Quelltext generiert wird. Scheint dieser in Ordnung zu sein, würde ich auch noch einmal schauen, was alles im POST-Array zu sehen ist. Zum Beispiel so:
PHP-Code:
print_r($_POST);
|

28-12-2010, 14:09
|
|
Spunk95
Registrierter Benutzer
|
|
Registriert seit: Jul 2010
Beiträge: 95
|
|
Danke für die vielen, schnellen Antworten
Zitat:
Zitat von wahsaga
Kein bisschen. Auch POST-Werte sind beliebig manipulierbar.
Du solltest prüfen, ob der jenige, der das Script aufruft, auch dazu berechtigt ist; oder es bspw. mit einem Passwortschutz versehen, so dass es nicht jeder aufrufen kann.
|
Ich prüfe vorm auswerten ob die SESSION variable usr_id gesetzt ist, reicht das als Schutz? Und inwiefern kann man POST Werte manipulieren?
Zitat:
Zitat von wahsaga
Zum Problem: Wie schickst du das Formular denn überhaupt ab? Ich sehe da keinerlei Submit-Button, und auch kein Eingabefeld, das den Fokus bekommen könnte, so dass ein Abschicken per Return möglich wäre.
|
[/QUOTE]
Abgeschickt wird das Formular mit javascript, da das Formular in einem jquery Dialog steht und es beim Klick auf den Button des Dialogs abgesendet werden soll. Hat auch in anderen Scripten von mir gut geklappt.
Dieser Javascript wird in der gleichen Schleife erstellt wie auch das Formular und sich eigentlich genau auf das oben genannte Formular bezieht:
PHP-Code:
buttons: { "Na sicher": function() { document.form_comment_delete_<?echo $comment_id;?>.submit(); }, "Nein doch nicht": function() { $(this).dialog("close"); } }
@AmicaNoctis: Habe ich grade ausprobiert und es hat dann auch geklappt. Irgendwie klappt jetzt alles wieder, auch wenn ich den submit button wieder entferne.
Eigentlich ist also alles geklärt, auch wenn ich nicht verstehe, warum es auf einmal funktioniert.
@unset : Danke dir
Also Zusammenfassend: Problem gelöst, aber wie sieht das mit der Sicherheit aus? Wenn man POSt so leicht manipulieren kann, sollte ich vielleicht etwas anderes nutzen?
// Jetzt klappt es auf einmal wieder nicht ohne Submit Button... Das Script wird zwar ausgeführt, aber er gibt eine Fehlermeldung aus...
Danke nochmal an alle
Geändert von Spunk95 (28-12-2010 um 14:12 Uhr)
|

28-12-2010, 14:14
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Zitat:
Zitat von Spunk95
Und inwiefern kann man POST Werte manipulieren?
|
a) Firebug
b) HTML-Code speichern, ändern, im Browser öffnen, abschicken.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

28-12-2010, 14:31
|
|
Spunk95
Registrierter Benutzer
|
|
Registriert seit: Jul 2010
Beiträge: 95
|
|
Zitat:
Zitat von AmicaNoctis
a) Firebug
b) HTML-Code speichern, ändern, im Browser öffnen, abschicken.
|
Okay, das Script funktioniert jetzt übrigens perfekt.
Aber wäre ja blöd, wenn man das jetzt so aushebeln kann, was sind denn die alternativen?
Danke schonmal
|

28-12-2010, 14:39
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Es ist immer zu prüfen, ob derjenige, der eine bestimmte Aktion ausführen will, dazu auch die nötigen Rechte hat - dazu gibt es keine Alternativen.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

28-12-2010, 15:05
|
|
Spunk95
Registrierter Benutzer
|
|
Registriert seit: Jul 2010
Beiträge: 95
|
|
Zitat:
Zitat von wahsaga
Es ist immer zu prüfen, ob derjenige, der eine bestimmte Aktion ausführen will, dazu auch die nötigen Rechte hat - dazu gibt es keine Alternativen.
|
Okay, und wie prüft man das?
|

28-12-2010, 15:16
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Bevor du es prüfen kannst, musst du es erst mal definieren.
Wer soll berechtigt sein, Einträge zu löschen, wer nicht?
(Oder halt wie schon erwähnt, Script nur passwortgeschützt aufrufbar machen - und dann einfach sagen, wer das Passwort kennt, hat auch die Berechtigung.)
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

28-12-2010, 17:56
|
|
Spunk95
Registrierter Benutzer
|
|
Registriert seit: Jul 2010
Beiträge: 95
|
|
Zitat:
Zitat von wahsaga
Bevor du es prüfen kannst, musst du es erst mal definieren.
Wer soll berechtigt sein, Einträge zu löschen, wer nicht?
(Oder halt wie schon erwähnt, Script nur passwortgeschützt aufrufbar machen - und dann einfach sagen, wer das Passwort kennt, hat auch die Berechtigung.)
|
Okay, dann prüfe ich im Script nochmal, ob einem das Kommentar wirklich gehört. Danke für eure Hilfe
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
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.
HTML-Code ist aus.
|
|
|
|
PHP News
|