Guten Morgen zusammen,
vorweg erkläre ich kurz die Rahmenbedingungen. Meine Startseite ist die index.php. Hier wird zum Beispiel der Login (neben ein paar anderen Dingen) überprüft. Ist alles ok, geht es in den internen Bereich, allerdings ohne eine neue Seite aufzurufen, man ist immer noch auf der index.php, allerdings wurde durch das Erfüllen der Login-Kriterien an einer if-Klausel "umgeleitet". Innerhalb des internen Bereichs gibt es dann vereinfacht eine Navileiste, einen Main-Container und einen Footer. Navigation und Footer bleiben unverändert, aber den Inhalt des Mains verändere ich durch mit GET übergebene VIEWS (z.B. index.php?view=start). In Code sieht das in etwa so aus:
Die Views sind ebenfalls PHP-Dateien, also z.B. view_start.inc.php. Wenn ich hier nun Formulare behandle, benötigen diese ja ein
.
Das ganze mit
macht keinen Sinn, da ich nur den Pfad bis zur index.php und nicht mit den jeweiligen Views bekomme. Bei SCRIPT_NAME das selbe Problem.
Mein Lösungsansatz und meine Fragen wären folgende, wobei diese zwei Aspekte beinhalten.
1. SCRIPT_NAME ist PHP_SELF vorzuziehen, kann man das so stehen lassen?
2. Lauert irgendwo eine Gefahr in Hinblick auf XSS oder sonstige Gefahren, wenn ich das action-Attribut so umschreibe
und an den jeweiligen Stellen die Views einfach mit dran hänge?
Ist leider viel Text geworden, sorry dafür und vielen Dank für Eure Hilfe.
vorweg erkläre ich kurz die Rahmenbedingungen. Meine Startseite ist die index.php. Hier wird zum Beispiel der Login (neben ein paar anderen Dingen) überprüft. Ist alles ok, geht es in den internen Bereich, allerdings ohne eine neue Seite aufzurufen, man ist immer noch auf der index.php, allerdings wurde durch das Erfüllen der Login-Kriterien an einer if-Klausel "umgeleitet". Innerhalb des internen Bereichs gibt es dann vereinfacht eine Navileiste, einen Main-Container und einen Footer. Navigation und Footer bleiben unverändert, aber den Inhalt des Mains verändere ich durch mit GET übergebene VIEWS (z.B. index.php?view=start). In Code sieht das in etwa so aus:
PHP-Code:
if (login abgesendet) {
if (login ok) {
<Navileiste>
<Main?view=start>
<Footer>
} else {
Loginformular anzeigen
}
} else {
Loginformular anzeigen
}
Code:
<form action=".............." method="post">
Das ganze mit
PHP-Code:
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?> method="post">
Mein Lösungsansatz und meine Fragen wären folgende, wobei diese zwei Aspekte beinhalten.
1. SCRIPT_NAME ist PHP_SELF vorzuziehen, kann man das so stehen lassen?
2. Lauert irgendwo eine Gefahr in Hinblick auf XSS oder sonstige Gefahren, wenn ich das action-Attribut so umschreibe
PHP-Code:
<form action="<?php echo $_SERVER['SCRIPT_NAME'] . "?view=start"; ?> method="post">
Ist leider viel Text geworden, sorry dafür und vielen Dank für Eure Hilfe.
Kommentar