Tach!
ich habe meine Seite mit PHP/Javascript/AJAX programmiert: Für meine AJAX-Funktionen habe ich eine zweite PHP-Seite im Hintergrund, die alle Ergebnisse per JAVA-Script-Code an die für den User sichtbare Seite zurückgibt. Diese Seite führt den Code dann per eval() aus.
Ist das ein Sicherheitsrisiko?
Die Frage lässt sich nicht eindeutig beantworten, weil nicht klar ist, ob man nicht auch in den generierten Code eigenen Code einschmuggeln kann. Wenn allerdings durchgehend beim Einfügen von Werten (deren Herkunft ist egal - es spielt keine Rolle ob es Nutzereingaben sind oder sie aus einer anderen Quelle kommen) die Kontextbedingungen beachtet werden, ist das nicht unsicherer als wenn du nur die Daten zum Client schickst und sie dort kontextgerecht einbindest. Andererseits besteht das Risiko auch ohne eval(), wenn du mit der eben genannten Nur-Daten-Methode beim Einfügen auf der Clientseite Fehler machst.
dedlfix.