Mathias Brodala: Alternative zu eval()

Beitrag lesen

Hallo taal.

nachdem mir hier gestern super weiter geholfen worde habe ich trozdem noch eine Frage (http://www.dasfest-karlsruhe.de/).

Cheatah schrieb:

auf eval() solltest Du in *jeder* Programmiersprache verzichten.

Aber welche Alternativen habe ich, ein JSON in ein JS Array umzuwandeln ohne den String nach bestimmten Zeichen zu splitten.

Kommt darauf an, wie du dieses JSON-Objekt entgegen nimmst. Geschieht dies per AJAX, könntest du bspw. den responseText in ein neu erzeugtes script-Element setzen, wodurch dieses Objekt verfügbar wird. Hier einmal ein Beispiel mit einem vom Server gesendeten Funktionskörper.

Was genau ist den so gefährlich an eval()?

Dass du im Normalfall nicht vorhersehen kannst, was in der zu evaluierenden Zeichenkette steht. Steht bspw. JS-Code darin, hat man unbeschränkten Zugriff auf dein Dokument. Stammen die Daten hier aber ausschließlich von dir und kannst du dir immer 100% sicher sein, dass die empfangenen Daten schadfrei sind, besteht hier aber eher eine geringe Gefahr.

Einen schönen Freitag noch.

Gruß, Mathias

--
ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)
debian/rules