PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Gästebuch: Verhindern von Skripts



ContainerDriver
13-08-2003, 10:32
Hallo,
ich hab mir ein Gästebuch gebastelt. Beim Eintragen kann man auch HTML verwenden, um die Einträge ein bisschen aufzupäppeln. Dummerweise kann man auch JavaScript-Skripte programmieren und die werden auch ausgeführt. Wenn man nun eine Funktion mit einer Eindlosschleife mit einem alert() innendrinnen hat und das ganze im body-Tag bei onload aufruft kann man die Seite eigentlich vergessen (du musst den Browser killen ->und das ist ziemlich schei).

Jetzt meine Frage: Gibt es in PHP die Möglichkeit HTML-Code von Skripten zu befreien? Bei der Fülle von Funktionen müsste es doch auch so was geben! (wenn nicht muss ich mir es wohl selbst programmieren).

schon mal vielen Dank für die Antwort

MfG

Florian

Gaert
13-08-2003, 13:51
Klar gibts da was!
Allerdings nicht um deinen HTML Code von Skripten zu befreien, sondern um deine Gästebucheinträge von (interpretierbarem) HTML Code zu befreien.
Der Effekt ist derselbe - mit dem Unterschied, dass du damit gleichzeitig auch noch HTML Tags verbietest.

--> http://php.net/htmlentities

-Sensemann-
14-08-2003, 05:56
das gilt auch für PHP-Scripts?

Gaert
14-08-2003, 08:21
Original geschrieben von -Sensemann-
das gilt auch für PHP-Scripts?
Was meinst du damit?

samsara
14-08-2003, 10:42
Mach's doch ganz hart: wirf alle posts weg, die den string "<script" enthalten!

Samsara

Duke
14-08-2003, 11:57
Ne was Gaert sagt ma htmlentities ist schon korrekt und die einzig wahre Lösung

ContainerDriver
14-08-2003, 15:06
mmmmh, die HTML-Tags solle eigentlich schon interpretiert werden, eben nur keine Skripts!

Hab jetzt aber schon was gefunden:

strip_tags(STRING,ERLAUBTE_TAGS)

!

Das funktioniert sehr gut: Ich geb einfach die Tags an, die erlaubt sind (-> bei mir nur die, die zur Formatierung dienen).

Trotzdem vielen Dank

MfG

Florian

Woolf
14-08-2003, 18:35
wieso nicht einfach

$text = htmlspecialchars($text);
oder html_specialchars, wie auch immer =)

oder
$text = ereg_replace("<?", "na na na, nich frech werden", $text);

-Sensemann-
15-08-2003, 06:25
@ Gaert,

zb include funktion in der Index.php

dann kann doch jemand php scripte einfügen und darüber den account hacken?

hattest mir ja ein beispiel im anderen thread gegeben.

Gaert
15-08-2003, 07:44
Nein, sensemann - da kann nichts passieren!
Da müsstest du schon den code den einer postet mit eval() ausführen.

samsara
16-08-2003, 01:27
Also ich verstehe nicht, warum Du jemanden, der Dir ein Skript unterschieben will, auch noch in Dein Gaestebuch schreiben lassen willst. Das fuehrt doch zu nix!

*gruebel*

Samsara

Duke
16-08-2003, 03:05
Na ja von wollen kann man hier glaube ich net sprechen aber es gibt halt immer Idioten und auf sein Gästebuch verzichten möchte man ja wohl net verzichten

-Sensemann-
16-08-2003, 14:53
öh Leute?

es geht um das verhindern!

samsara
16-08-2003, 15:31
Original geschrieben von Duke
Na ja von wollen kann man hier glaube ich net sprechen aber es gibt halt immer Idioten und auf sein Gästebuch verzichten möchte man ja wohl net verzichten
Joh, aber ich sagte doch, einfach alle Eintraege, die auf den String "<script" passen, wegwerfen. Dann hast Du immer noch Dein Gaestebuch, aber boese Buben duerfen nicht reinschreiben.

Gruss,

Samsara

amiga
16-08-2003, 21:41
wieso willst du HTML erlauben ?

Da kommt dann zum Beispiel einer an und benutzt einen <font> -tag in HTML 4.01 Strict, und schon ist es nicht mehr w3 konform. oder einer schreibt z.B. ein paar wilde kombinationen von <td> <tr> <table> </tr> </td> und vermasselt das layout der Seite. Windows User werden sich auch aergern, wenn ein boeser Bube irgendwelche ActiveX-Objekte in den Beitrag einfuegt.

Also wenn man dem User die Moeglichkeit geben will, seinen Eintrag etwas aufzupeppeln, sollte man BB-Code zulassen, aber HTML sollte man generell verbieten.

ContainerDriver
19-08-2003, 15:39
Hallo amiga!
1. Was ist BB?

2. Ok, das ist natürlich dumm. Aber da mit strip_tags() die Tags einschränken kann, denke ich, ist das nicht so schlimm.

3. Die Implementierung von html in meinem Gästebuch ging sehr schnell (ich musste nur die echo-Anweisung etwas umschreiben). Wenn ich näheres zu 1. weis und es ist besser wirds in meinem Gästebuch BB geben (was auch immer das ist).

Mfg
Florian

Duke
19-08-2003, 21:46
Hier ne Antwort auf die Frage 1
http://80.190.52.21/wbboard/thread.php?threadid=147&boardid=14&styleid=2

ContainerDriver
24-08-2003, 16:05
Aha!
BB ist also praktich ein Frontend zu html.

Ich werde wohl bei html bleiben, da meine Tests (mit Opera und Konqueror) mit offenen Tags (<a>,<h*>,<div>) recht positiv waren (=> keine verunstaltung der Website).

MfG

Florian

Gaert
24-08-2003, 17:17
Also meiner Meinung nach braucht man in einem Gästebuch überhaupt keine Formatierungsmöglichkeiten. Ich lasse niemanden an meinem Layout und meinem Stil der Webseite rumfummeln.

Individuum
24-08-2003, 17:57
doch zum fett oder kursiv machen fänd ichs schon ganz praktisch.

quinte17
25-08-2003, 08:23
wie wärs einfach die > dinger in & gt ; umwandeln lassen??? beide klammern ...

dann sieht man zwar des zeug was er schreiben wollte, aber ausgehebelt ist des doch dann auch größtenteils... vielleicht gibts dann probleme mit & # 1234 ;

müsste man mal testen...
mfg

ContainerDriver
25-08-2003, 10:03
Hi quinte!
Hä?
Verstehe ich das richtig: du willst den html-code praktisch anzeigen lassen,so dass man sieht wie es der andere formatieren wollte????