php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Scripts > BRAINSTORMING PHP/SQL/HTML/JS/CSS
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


BRAINSTORMING PHP/SQL/HTML/JS/CSS Ihr habt eine Idee, aber keinen genauen Ansatz? Diskutiert mit anderen Usern des Forums über eure Gedankengänge um evtl. hilfreiche Ideen zu bekommen!
Normale Fragen bitte weiterhin in die entsprechenden Foren!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 09-07-2007, 14:25
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard HTML-Cleaner?

Hi

Nach langer Zeit mal wieder ein Thread von mir ^^

Ich brauche eine Möglichkeit 1. HTML Code zu reparieren und 2. schädliches Zeug zu entfernen (primär also halt Javascript).

Per Google findet man leider praktisch nur Tidy was jetzt irgendwie nicht das Entfernen von JS unterstützt (zumindest hab ich nichts derartiges im Manual finden können).
Empfohlen wurde mir Privoxy, nur ist das halt schon wieder ein wenig zuviel ... das ganze soll entweder in PHP oder besser noch als cmd-Programm ablaufen (von wegen Geschwindigkeit) und eigentlich nicht gleich einen ganzen Proxy aufsetzen

striptags kommt nicht in Frage, die Funktion ist dermaßen buggy, dass es fast schon eine Schande ist.

Irgendwann irgendwo habe ich mal einen preg gesehen, der jegliche JS-Attribute+Script-Tags entfernt - das zusammen mit tidy wäre eventuell eine Lösung - aber eigentlich würde ich liebend gerne ein kommdanozeilen-basiertes Skript haben, was alles vereint und ggf. auch noch mehr Optionen z.B. hinsichtlich CSS gibt (z.B. keine globalen Befehle im CSS)


Hat da jemand vielleicht eine passende Idee zu? (Oder bin ich da echt schon zu anspruchsvoll? ^^; )

Zur Not müsste denn die preg+tidy-Lösung her... (hat jemand gerade einen derartigen Regex zur Hand? xP)
Mit Zitat antworten
  #2 (permalink)  
Alt 09-07-2007, 14:42
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Und einfach alles zwischen <script type="text/javascript" ... > und </script> entfernen ist nicht genug ?
Mit Zitat antworten
  #3 (permalink)  
Alt 09-07-2007, 14:47
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von jahlives
Und einfach alles zwischen <script type="text/javascript" ... > und </script> entfernen ist nicht genug ?
<a href="/impressum/" onclick="window.location = 'http://www.google.de'">test</a>
Mit Zitat antworten
  #4 (permalink)  
Alt 09-07-2007, 14:58
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Quick and Dirty:
Einfach alle Events mittels str_replace() mit 'x' ersetzen. So funzt garantiert kein JS mehr
Mit Zitat antworten
  #5 (permalink)  
Alt 09-07-2007, 15:31
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Für mich stellt sich da erst mal die Frage, ob man da mit preg rangehen will - oder nicht lieber mit einem DOM-Parser?

Kann Tidy auch wohlgeformtes XHTML "erzeugen"?
Dann würde ich da nachher drüberlaufen, und mit on beginnende Attribute rauslöschen.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #6 (permalink)  
Alt 09-07-2007, 17:07
tontechniker
 PHP Senior
Links : Onlinestatus : tontechniker ist offline
Registriert seit: Jul 2005
Beiträge: 1.972
tontechniker ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Kann Tidy auch wohlgeformtes XHTML "erzeugen"?
Was bei Tidy rauskommt ist Standard konform - das sollte auch mit XHTML gehen. Schnell ist das aber keines Falls.
Dom-Parser ist auch eine Idee, einfacher ist aber wohl Tidy mit vorherigem entfernen von Events und Skript Tags.
__________________
Die Regeln | rtfm | register_globals | strings | SQL-Injections | []
Mit Zitat antworten
  #7 (permalink)  
Alt 09-07-2007, 19:31
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
... einfacher ist aber wohl Tidy mit vorherigem entfernen von Events und Skript Tags.
vorher ist es aber evtl. nicht konform, deswegen wahsagas vorschlag.
Mit Zitat antworten
  #8 (permalink)  
Alt 09-07-2007, 20:24
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von tontechniker
einfacher ist aber wohl Tidy mit vorherigem entfernen von Events und Skript Tags.
Darauf wird es jetzt wohl auch hinaus laufen... da ich nicht endlos Zeit habe (bzw. eigentlich schon, das Projekt aber trotzdem endlich fertig kriegen will), nutze ich da eine bereits vorhandene Funktion in PHP für, die irgendeiner der anderen Programmierer mal genau für diesen Zweck geschrieben hat, und die setzt genau auf diese Kombination ^^

Trotzdem finde ich es verwunderlich, dass dafür nirgends was fertiges existiert oo;
nyo~
Mit Zitat antworten
  #9 (permalink)  
Alt 09-07-2007, 23:41
tontechniker
 PHP Senior
Links : Onlinestatus : tontechniker ist offline
Registriert seit: Jul 2005
Beiträge: 1.972
tontechniker ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Trotzdem finde ich es verwunderlich, dass dafür nirgends was fertiges existiert oo;
Im Prinzip fehlt nur eine passende Option für Tidy. Dort wird der DOM Baum sowieso durchgegangen. Hab gerade mal gesucht - hast du dir Detagger schon einmal angeschaut?
__________________
Die Regeln | rtfm | register_globals | strings | SQL-Injections | []

Geändert von tontechniker (09-07-2007 um 23:45 Uhr)
Mit Zitat antworten
  #10 (permalink)  
Alt 10-07-2007, 00:25
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von tontechniker
Im Prinzip fehlt nur eine passende Option für Tidy. Dort wird der DOM Baum sowieso durchgegangen. Hab gerade mal gesucht - hast du dir Detagger schon einmal angeschaut?
Ne kannte ich auch nicht - ja an sowas in der Art dachte ich; nur halt kostenlos ^^;
Mit Zitat antworten
  #11 (permalink)  
Alt 10-07-2007, 00:37
pekka
 PHP Master
Links : Onlinestatus : pekka ist offline
Registriert seit: Jun 2001
Ort: Köln
Beiträge: 6.608
pekka befindet sich auf einem aufstrebenden Ast
Standard

Ich würde auf jeden Fall was DOM-Basierendes empfehlen, das jedes Tag auseinandernimmt, wieder zusammenbaut und den Inhalt mit htmlentities kodiert. Einfache regexe kann man zu leicht mit irgendwelchen <SC\RIPT>-tricksereien täuschen, die am Ende dann doch vom Browser interpretiert werden.
Mit Zitat antworten
  #12 (permalink)  
Alt 10-07-2007, 01:14
tontechniker
 PHP Senior
Links : Onlinestatus : tontechniker ist offline
Registriert seit: Jul 2005
Beiträge: 1.972
tontechniker ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Eigentlich könnte man sowas doch recht einfach mit PHP / DOM realisieren. Die Frage ist ob man auch versucht den Code zu validieren (ist das über DOM überhaupt möglich?) oder dafür Tidy verwendet.
__________________
Die Regeln | rtfm | register_globals | strings | SQL-Injections | []
Mit Zitat antworten
  #13 (permalink)  
Alt 10-07-2007, 06:08
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich versuche gerade jTidy für meine Zwecke dahingehend aufzubohren~
Ist leider alles gerade nicht ganz so einfach - was allein damit anfängt, dass mein größtes Projekt in Java bisher ein Parser-Bin-Baum war, den ich nur von Delphi portiert hab - und der Code ist auch nicht gerade etwas, was ich als "wunderbar" oder "vorbildlich" bezeichnen würde ... Kapselung unmöglich, weil die Klassen von außerhalb des packages praktisch unbenutzbar sind (die paar public-Methoden - das hätte man sich echt schenken können...) ja allein die Tatsache, dass die meisten (/alle?) Copyright-Hinweise nur bis zum Jahr 2000 reichen und ungefähr 300 Warnings allein wegen alter Coding-Stile kommen macht die Sache prekär _-_
Naja, mal später weiter gucken...
Mit Zitat antworten
  #14 (permalink)  
Alt 11-07-2007, 18:30
Schnoop
 PHP Senior
Links : Onlinestatus : Schnoop ist offline
Registriert seit: Apr 2003
Beiträge: 1.049
Schnoop ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Das was du suchst könnte des hier sein: http://htmlpurifier.org/

Wir setzen das Teil in produktiv Systemen ein. Theoretisch wäre auch das Implementieren eines Webservices sinnvoll wenn es auf mehreren Auftritten eingesetzt werden soll.
Mit Zitat antworten
  #15 (permalink)  
Alt 13-07-2007, 00:44
tontechniker
 PHP Senior
Links : Onlinestatus : tontechniker ist offline
Registriert seit: Jul 2005
Beiträge: 1.972
tontechniker ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Das was du suchst könnte des hier sein: http://htmlpurifier.org/
Sieht eigentlich ganz nett aus, es gibt Unittests und Objektorientiert ist es auch ... aber soviel Regex - ob das gut ist?
__________________
Die Regeln | rtfm | register_globals | strings | SQL-Injections | []
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 08:17 Uhr.