Was sucht das # da?

PHP - alles Rund um die Programmierung von PHP und MySQL

Ist die geniale Programmiersprache, da sowohl für Einsteiger geeignet wie auch für Profis.

Moderator: lauras

Beiträge bitte im neuen Forum

Was sucht das # da?

Beitragvon Yamram » Dienstag 17. Januar 2012, 16:43

Hey,
stellt euch folgendes vor. Ihr habt zwei PHP-Dateien. In der einen kann man sich registrieren, diese Datei nennt sich register.php. Dort befindet sich sowohl das Formular als auch die Auswertung des Formulars. Ich habe das action-Attribut also einfach auf "#" gesetzt. Wenn bei der Auswertung alles gut gelaufen ist, wird weitergeleitet auf index.php?success=2. Aber irgendwie steht dann im Browser immer ...index.php?success=2#. Wie kann ich das ändern? O.o

Mit freundlichen Grüßen,
Philipp E.
Benutzeravatar
Yamram
HTML-Sonderfall
 
Beiträge: 616
Registriert: Samstag 5. Februar 2011, 20:05
Wohnort: C:\Users\Yamram\Desktop\Papierkorb.ink

Re: Was sucht das # da?

Beitragvon Sören » Dienstag 17. Januar 2012, 16:49

Action ist relativ zum akutellen Pfad. Also wird eben ein '#' an den Link angehängt. (Genauso, wie wenn du auf einen Link mit href="#" klickst)

Ändern kannst du das, indem du action einfach weglässt.
Benutzeravatar
Sören
HTML-Acrobat
 
Beiträge: 851
Registriert: Samstag 5. Juni 2010, 16:00

Re: Was sucht das # da?

Beitragvon webmaster3000 » Dienstag 17. Januar 2012, 16:56

Sören hat geschrieben:Ändern kannst du das, indem du action einfach weglässt.

..., was aber invaliden Code zur Folge hätte.

Ich habe mir bei selbst auswertenden Formularen immer damit geholfen,
Code: Alles auswählen
<form action="<?php echo $_SERVER["PHP_SELF"] ?> method="get|post">"

zu schreiben.

Hoffe, ich konnte helfen,
webmaster3000
webmaster3000
HTML-Doctor
 
Beiträge: 257
Registriert: Donnerstag 29. September 2011, 16:32
Wohnort: Irgendwo in Thüringen

Re: Was sucht das # da?

Beitragvon drPHIP132 » Dienstag 17. Januar 2012, 17:05

*EDIT*
webmaster3000 hat geschrieben:
Code: Alles auswählen
<form action="<?php echo $_SERVER["PHP_SELF"] ?> method="get|post">"


*/EDIT*

lieber
Code: Alles auswählen
<form action="" method="get|post">

(leer lassen)
--> sören's code soll manipulierbar sein, habe ich einst von einer Weisen Person geleehrt bekommen.

Gruß
Phip
Zuletzt geändert von drPHIP132 am Dienstag 17. Januar 2012, 17:29, insgesamt 1-mal geändert.
Benutzeravatar
drPHIP132
HTML-Acrobat
 
Beiträge: 744
Registriert: Samstag 15. Januar 2011, 19:10
Wohnort: Sachsen, Erzgebirge

Re: Was sucht das # da?

Beitragvon Sören » Dienstag 17. Januar 2012, 17:19

Das ist webmasters Code.
Manipulieren kann man das durch Anhängen von irgendwelchem Code an die URL. Besser $_SERVER['SCRIPT_FILENAME'] (oder SCRIPT_NAME, weiß ich grad nicht, musst ausprobieren) benutzen.

webmaster3000 hat geschrieben:
Sören hat geschrieben:Ändern kannst du das, indem du action einfach weglässt.

..., was aber invaliden Code zur Folge hätte.

Wusst ich net.
Benutzeravatar
Sören
HTML-Acrobat
 
Beiträge: 851
Registriert: Samstag 5. Juni 2010, 16:00

Re: Was sucht das # da?

Beitragvon Yamram » Dienstag 17. Januar 2012, 18:15

@all:

Code: Alles auswählen

<?php echo $_SERVER["PHP_SELF"?>


Was soll daran denn unsicher sein? O.o Was soll man denn da anhängen? Man kann doch eh nur GET-Sachen anhängen oder nicht?

Aber trotzdem Danke...
Benutzeravatar
Yamram
HTML-Sonderfall
 
Beiträge: 616
Registriert: Samstag 5. Februar 2011, 20:05
Wohnort: C:\Users\Yamram\Desktop\Papierkorb.ink

Re: Was sucht das # da?

Beitragvon Basiii » Mittwoch 18. Januar 2012, 07:49

Tada!

Die gesamte $_SERVER Variable lässt sich manipulieren, also Finger weg davon.

In diesem Fall ist die Lösung sogar noch einfacher: Warum überhaupt irgendetwas vom Server berechnen und ausgeben lassen wenn es leer auch klappt? Und im Zweifelsfall hat man selbst immer noch den Dateinamen.
Benutzeravatar
Basiii
HTML-Acrobat
 
Beiträge: 1139
Registriert: Dienstag 12. Januar 2010, 13:57

Re: Was sucht das # da?

Beitragvon Sören » Mittwoch 18. Januar 2012, 14:14

Bei PHP_SELF kann man z.B. einfach zwischen der Dateiendung und dem Query-String HTML- und/oder JavaScript-Code unterbringen, welcher durch PHP_SELF unescaped ausgegeben und somit ausgeführt wird.
Benutzeravatar
Sören
HTML-Acrobat
 
Beiträge: 851
Registriert: Samstag 5. Juni 2010, 16:00

Re: Was sucht das # da?

Beitragvon Yamram » Mittwoch 18. Januar 2012, 16:37

@all: Okay, dann würde ich sagen: In Zukunft das action-Attribut einfach leer lassen.
Benutzeravatar
Yamram
HTML-Sonderfall
 
Beiträge: 616
Registriert: Samstag 5. Februar 2011, 20:05
Wohnort: C:\Users\Yamram\Desktop\Papierkorb.ink

Re: Was sucht das # da?

Beitragvon drPHIP132 » Mittwoch 18. Januar 2012, 16:39

Yamram hat geschrieben:@all: Okay, dann würde ich sagen: In Zukunft das action-Attribut einfach leer lassen.


das waren vorhin zwar meine worte, aber ja :)
Benutzeravatar
drPHIP132
HTML-Acrobat
 
Beiträge: 744
Registriert: Samstag 15. Januar 2011, 19:10
Wohnort: Sachsen, Erzgebirge

Re: Was sucht das # da?

Beitragvon webmaster3000 » Mittwoch 18. Januar 2012, 17:48

Sören hat geschrieben:Bei PHP_SELF kann man z.B. einfach zwischen der Dateiendung und dem Query-String HTML- und/oder JavaScript-Code unterbringen, welcher durch PHP_SELF unescaped ausgegeben und somit ausgeführt wird.

Moment. Warum sollte man Javascript-Code auf dem eigenen Client ausführen lassen, der als einziger betroffen wäre? Und selbst wenn, funktioniert das überhaupt - ich meine, Tags in Attributen? Das würde dann ja so oder so ähnlich aussehen:
Code: Alles auswählen
<form action="<script type=text/javascript></scirpt>" method="get|post">
webmaster3000
HTML-Doctor
 
Beiträge: 257
Registriert: Donnerstag 29. September 2011, 16:32
Wohnort: Irgendwo in Thüringen

Re: Was sucht das # da?

Beitragvon Basiii » Mittwoch 18. Januar 2012, 18:01

Es geht dabei auch darum das man z.B. eine URL manipuliert, diese dann an eine 3. Person sendet und somit an Daten des Benutzers wie Cookies (Passwörter!), etc. zu kommen.

Code: Alles auswählen
<form action="<script type=text/javascript></scirpt>" method="get|post">


Ich kann es aber auch anders manipulieren, indem ich z.B. noch " und > nutze:

Code: Alles auswählen
<form action=""><script type=text/javascript></scirpt><nixMehr" method="get|post">
Benutzeravatar
Basiii
HTML-Acrobat
 
Beiträge: 1139
Registriert: Dienstag 12. Januar 2010, 13:57


Beiträge bitte im neuen Forum

Zurück zu PHP

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron