Henryk Plötz: HEADER manipulieren

Beitrag lesen

Moin

[sehr viel sehr wirres Zeug gesnippt]

Also (tieflufthol), jadukannstesohneproblemevoncronausführenlassenundwenndudieausgabedrinlässtdannmailtcronsiedirglaubichsogarzuwasfürdebugzweckesehrnützlichseinkannundneindukanntnichtmehrerequeriesmitsemikolongetrenntasuführenundmitpermanentenverbindungenhatdasüberhuptreingarnichtszutun.

Und nun noch mal ganz langsam und verständlich:

Du kannst das Skript völlig problemlos von cron ausführen lassen, wenn du ab- und zu mal Daten abgleichen willst. Und nein, du musst die echos nicht unbedingt rausmachen, soweit ich mich erinnern kann, mailt Cron dir dann alle Ausgaben deiner Skripte zu. Für den Anfang ist das Recht hilfreich, aber später nervt es.

Nein, du kannst nicht mehrere Queries in einem mysql_query-Aufruf absenden (dein neuer Thread dazu ist übrigens unnötig da du die Frage hier schon mal gestellt hast). Das ist übrigens gut so! Es sorgt dafür dass mysql_query("SELECT FROM foo WHERE bla = $unvalidiertvomuserübergebenevariable"); nicht so einfach auszunutzen ist (nämlich wenn der User $unvalidiertevomuserübergebenevariable auf   lala; DELETE FROM foo   setzt). Eine Schleife ist keine schlechte Idee, ich würde dazu aber die einzelnen Queries in Arrays eintragen, dann musst du nicht aufwändig nach einem Separator (wie dem ;) suchen und hast darüberhinaus keine Probleme mit einem vom User eingefügten Separator (was den eben angesprochenen Exploit evt. wieder möglich machen würde). Was die Größe angeht: Das sollte kein Problem sein, solange du alles schön durch urlencode() jagst. Das mit dem pconnect hat damit überhaupt nichts zu tun. Das sorgt dafür dass die Verbindung auch nach Beendigung des Skripts aufgehalten wird, hat also keinerlei Einfluss auf irgendetwas, während das Skript noch läuft. pconnect ist aber eigentlich immer eine gute Idee. Denn ein Skript welches die Verbindung wieder braucht, wird bestimmt kommen, und dann spart man sich beim weggefallenen Verbindungsaufbau ein bisschen Zeit.

Ja, application/x-www-form-urlencode solltest du lassen, da multipart/form-data wesentlich komplizierter ist (darauf beruht ja auch der weiter oben beschriebene PHP-Bug).

Was Content-Length angeht: Ich bin mir nicht ganz sicher ob das erforderlich ist, aber mach es einfach, es kostet ja nichts.

BTW: Header ist keine Abkürzung und darf daher ruhig mit den gängigen Groß-/Kleinschreibregeln bearbeitet werden. Und "Body-Bereich des Headers" ist ein Widerspruch in sich :)

--
Henryk Plötz
Grüße aus Berlin