Hallo
Was passiert denn mit den Daten, die da zum Client übertragen werden - auf welche Weise werden sie dort genutzt?
Irgendeine clientseitige Bedeutung müssen sie ja haben - sonst würden sie ja gar nicht erst dorthin übertragen.
Wenn du sie aber bspw. dynamisch irgendwo ins Dokument schreibst - dann hole ich als XSS-Bösewicht sie mir eben von dort, anstatt aus deinem <script>-Block ...
gruß,
wahsaga
Auf clientseite findet damit ein Mapping von einer URL auf die gleiche URL mit einer vorgehängten Subdomain statt. Da ein XSS diesen Subdomain-Wert möglichst nicht erfahren soll, findet das Mapping dann in dem initialisierten Randomizer-Objekt statt
<script type="text/javascript" id="js:randomizer">
function Randomizer(urlarray) {
var arrayOfURLs = urlarray;
this.go = function(addr) {
alert(arrayOfURLs[addr]);
document.location = arrayOfURLs[addr];
}
}
</script>
Ist alles eine etwas wilde Angelegenheit und zugegebenermaßen auch etwas undurchsichtig, aber es müsste vom Prinzip her funktionieren. Die bisher geposteten Scriptblöcke sollen den Aspekt verhindern, daß ein boshaftes Script ein Browser-Hijacking durchführt. Also sind immer nur bestimmte URLs auf Serverseite gültig und die will ich vor dem Script geheimhalten. Der Clientseite muss die URL aber leider trotzdem irgendwie bekannt sein, sonst wird das nichts mit der Navigation ;-)
Gruß,
entenhausenconnection