Mailinglisten-Archive |
Hi!
> Das ist ja in der Theorie sicher sehr interessant, jedoch nützt mir
> die Authentizität der Verbindung nicht sehr viel, da 1. die Site frei
> zugänglich ist und 2. sich die Authentizität auf eine IP-Adresse
> beschränkt. Ein XCC Angriff kann auf JEDER Seite erfolgen (Bsp:
> http://target.de?was=<=<scri*pt>JavaScript:alert('document.cookie');</scri*p
> t> )!
Also so wie ich dich verstehe befürchtest du, dass jemand Variabeln
deinen Scriptes verändern könnte? Schonmal daran gedacht,
register_globals = off in der php.ini bzw. .htaccess zu setzen? Dann
kann man von außen keine globalen Variablen mehr verändern, sondern nur
noch solche in den $_REQUEST, $_GET, $_POST, etc-Arrays. Und dort kann
man dann ganz bequem von Fall zu fall (je nach Anwendung) eine
Plausibilitätsprüfung machen.
Wenn du register_globals nicht verändern kannst, dann gibt es einen
kleinen Workaround:
Am Anfang des Scriptes (d.h. bevor andere Teile des Scriptes
irgendwelche Variablen setzen) folgende Schleife einbauen:
foreach ($_POST AS $key => $val) {
if (${$key} == $val) {
unset (${$key});
}
}
foreach ($_GET AS $key => $val) {
if (${$key} == $val) {
unset (${$key});
}
}
foreach ($_COOKIE AS $key => $val) {
if (${$key} == $val) {
unset (${$key});
}
}
Diese Schleifen löschen globale Variabeln wenn ihr Inhalt mit den von
außen übermittelten Variablen identisch ist.
cu, Roland Tapken
--
Please reply to: tapken_(at)_engter.de
> I spent a minute looking at my own code by accident.
> I was thinking "What the hell is this guy doing?"
php::bar PHP Wiki - Listenarchive