MoaByter: Warnung! Beware! Uwaga!

Beitrag lesen

$_GET, $_POST werden nur zur Sicherheit umgewandelt, also wenn jemand versucht, mit einem selbstgebastelten Request den Server zu schrägen Sachen zu verleiten. Die Nachteile sind bekannt, spitze Klammern haben in einem Namen-/Adressfeld jedoch nix zu suchen. Ich hab's mit dem javascript-Befehl location.href = "..." verucht: Sollte nicht funktioniert, tuts aber.

Was darf ich unter einem "fachlichen Object" verstehen? C# ist sehr stark Object-orientiert, PHP nicht so sehr. Die Arbeiten in diesen beiden Sprachen unterscheiden sich doch sehr, ich bin immer versucht "string $s_xy = ..." oder ähnliches zu schreiben.

Ohne base64-Encodierung bekomme ich z.B. auch die in den Beiträgen verwendeten Smileys nicht rein. 😊 Und u.a. spitze Klammern, werden eben "entschärft".

"ob_start" war ja angedacht, um mein "header(...)"-Problem zu lösen, denn das war ja das eigentliche Thema der Anfrage. Der Server folgt dem im Header angegeben Link nicht, sondern ruft die eigene Seite wieder auf, wo ich wieder vor dem glaichen Problem stehe. Und in der Adresszeile sollte ja auch die richtige Datei angegeben sein und nicht die Adresse der Script-Datei. Wenn ich die Login-Prüfung aber in die richtige, die Ziel-Datei verlege und es sich dort herausstellt, dass der Login falsch war, muss ich wieder die Anmeldeseite aufrufen, was eben wieder nicht funktioniert. Es ist zum Mäusemelken! Grmpf!

Es gab ja wohl die Vermutung, dass der Server schon vorab etwas versendet hat, sodass die Adresse nicht mehr zu ändern ist. Das ist aber nicht der Fall. Gesendet wird erst, wenn alle Daten vorliegen, und lange dauert das auch nicht, die Datenmengen sind eher klein: 250 bis 300 Kilobyte für die gesamte Seite einschließlich der Grafiken, CSS und JS.

Ich rätsele halt immer noch daran rum, warum es im XAMPP einwandfrei funktioniert und ich vom Server nur eine leere Seite erhalte mit der "alten", also der Script-Adresse. Okay, die Zieldatei enthält im Kopf auch etwas PHP, das dient dazu, bei Direktaufruf der Seite zu prüfen, ob der Nutzer eingeloggt ist, dann erhält er erweiterte Inhalte, kann seine Inhalte editieren, sein Profil aufrufen - sowas eben. Einen Screenshot der Zielseite habe ich mal angehängt.

Speicherplatz und Prozessorzeit zu sparen sind für mich ein Grundprinzip in der Programmierung.