ID übergabe unsichtbar

sonicks

Erfahrenes Mitglied
Hi,

Ich habe folgendes Problem:

Ich habe mir ein Forum zusammengecodet. Das läuft eigentlich jetzt auch alles perfekt. Nur eines macht mir sorgen:
Die Threads haben alle eine thread_id für die Bestimmung des Threads und eine board_id für die Bestimmung der Oberkategorie.

Jetzt das Problem:

Jeder User kann seine selbsterstellten Threads löschen und editieren, die die nicht von ihm sind natürlich nicht. Ich übergebe beim Löschen z.B. die "thread_id" als Variabel "delid" an die Datei thread_del.php. Jetzt kann man in der Statusleiste des I-net Explorer ja die thread_id sehen und somit, wenn man ein schlaues Köpfchen ist, auch einfach eine andere "thread_id" eines Threads den man nicht selbst erstellt hat, per "delid" übergeben. Also einfach die URL mit einer anderen "thread_id" benutzen.

Die Frage, die ich mir stelle:

Wie kann ich unterbinden, dass man sieht welche Variabel ich an die thread_del.php übergebe, bzw. welchen Wert sie hat. Hab da an Javaskript gedacht (?!) //edit: Da es mehr mit PHP zu tun hat, hab ich es ins PHP forum gestellt ;)

Wäre sehr dankbar für eine Antwort

MFG sonicks
 
Zuletzt bearbeitet:
Du denkst da an einen Workaround wo nicht wirklich einer nötig ist. Denke mal lieber über folgende Sachen nach:

1) Übergabe der ID und sämtlicher anderer Formulardaten mittels POST und nicht mittels GET

2) Im eigentlichen Delete-Script eine erneute Authentifizierung des Users. Dazu ist es ratsam auch die User-ID noch mit zu übergeben.

Das ist denke ich die sauberste Lösung. Da brauchst du nicht irgendwelche Krankheiten mit Javascript anzufangen, wo es absolut nicht nötig ist.
 
Ich würde aber die zweite Variante bevorzugen (wird in guten Scripts so gemacht)...
Auf jeder Seite wird die Berechtigung überprüft. So ist sichergestellt, dass keiner durch einen Link in einen Bereich kommt, wo er nicht hin soll.

Wenn du deine Admin-Pages so ähnlich schützt, dann mahlzeit. Nicht auszudenken.
Da braucht ein halbwegsintelligenter Internetuser nur den Quellcode anschauen und dann hat er das alles...

(Soll kein Angriff sein. Du willst ja auch nur Sicherheit oder?!)
 
Original geschrieben von sonicks

Jeder User kann seine selbsterstellten Threads löschen und editieren, die die nicht von ihm sind natürlich nicht......auch einfach eine andere "thread_id" eines Threads den man nicht selbst erstellt hat, per "delid" übergeben. Also einfach die URL mit einer anderen "thread_id" benutzen.
Hallo Sonicks,

ich verstehe ehrlich gesagt die Problematik nicht! Wenn er einen Thread löschen will der nicht von ihm ist gibst du eine Fehlermeldung aus und fertig.
 
Er will das so machen:
User hat das Recht zum Löschen -> Link zum Löschen anzeigen...

User klickt auf den Löschen-Link -> Thread wird gelöscht

Die 2. PHP müsste aber so arbeiten...

User klickt auf den Löschen-Link -> Berchtigung überprüfen -> Thread wird gelöscht
 
Daxi hat gesagt.:
Ich würde aber die zweite Variante bevorzugen (wird in guten Scripts so gemacht)...
Auf jeder Seite wird die Berechtigung überprüft. So ist sichergestellt, dass keiner durch einen Link in einen Bereich kommt, wo er nicht hin soll.

Dass wird es sowieso.

Daxi hat gesagt.:
(Soll kein Angriff sein. Du willst ja auch nur Sicherheit oder?!)

Klar ;)

Also hab es mit Berechtigung überprüfen gemacht, und es sieht relativ sicher aus. Problem wäre damit gelöst.

Danke an alle für die Denkanstösse.
 
Zurück