Frame sicherheit

Ich verwende auf meiner seite ein javascript mit dem man ein dynamischen iframe erzeugen kann.

Code:
showframebox('./help.html')

Das ding ist eigentlich nur fuer lokalen content gedacht und ich moechte nicht das da andere ihre phishing formulare reinladen.

Reicht es wenn ich in JS in der funktion ueberpruefe obs was lokales ist oder muss da ne loesung in php her ("Token system")?

Hatte bei js an sowas gedacht:

Code:
if(url.indexOf('./')!=0) return false;
 
Das kommt drauf an, wie und wo das JavaScript aufgerufen wird. Solange sich das nicht aus Formulareingaben oder URL-Parametern generiert, ist die Wahrscheinlichkeit zumindest gering, dass man da via XSS-Angriff was reißen kann.

Prinzipiell taugt dein Prüfcode

Code:
if(url.indexOf('./')!=0) return false;

aber auch nicht viel. Eine Pfadangabe könnte auch lauten './../../unerlaubtedatei.txt'. Sicher wäre es, wenn du alle Vorkommnisse von '../' entferntest.

[EDIT]
Externe URLs sollten natürlich auch rausfliegen, also eigentlich auch alles mit "://" im Pfad.
 
Hi,

kleine Zwischenbemerkung:

ich kenn jetzt dein Projekt nicht, um genau beurteilen zu können, wie nötig du dein JavaScript brauchst, aber:
  1. JavaScript und SICHER?
  2. Es gibt tatsächlich auch Leute, deren Paranoia sie berechtigter Weise dazu veranlasst, JavaScript in ihrem Browser zu deaktivieren ;-)
    [/list=1]

    Also am besten nur so viel wie nötig und so wenig wie möglich nutzen!

    Achso, nochwas: Frames benutzt du auch nur so lange, bis du selber mal ne Zeit lang auf's Surfen mit Lynx und co. angewiesen bist :-)

    Ich persönlich bevorzuge PHP-Lösungen.
 
JS muss nicht unsicher sein.

-> nonintrusive js (oder wie man das nennt) wenn kein js aktiviert ist gibts halt kein framepopup sondern eine reguläre seite.

Da freut sich dann auch lynx. ;)

(Auch wenns einige nicht mögen) Willkommen zum Web 2.0
 
Zurück
Oben