php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 22-03-2007, 11:02
JimDaniels
 Newbie
Links : Onlinestatus : JimDaniels ist offline
Registriert seit: Jan 2004
Beiträge: 26
JimDaniels ist zur Zeit noch ein unbeschriebenes Blatt
Standard HTML Code bei Eingabe erlauben

hallo,

wahrscheinlich werden mich einige steinigen wollen für diese idee, ist aber notwendig bei mir.

ich möchte ein formular, wo der user einen html code eingeben kann. dieser wird in der db gespeichert und an anderer stelle wieder ausgegeben (als htmlcode, also ohne htmlspecialchars etc.)

das wär ja nicht so schwer, wenn nur meine ganzen sicherheitsbedenken nicht wären. was für unsicherheitsfaktoren gibt es denn?? wenn ich php code eingebe, wird dieser ja ganz einfach ausgegeben und nicht ausgeführt. gibt es sonst noch dinge, auf die ich achten muss??

Ach ja, mysql_real_escape_string werde ich schon verwenden.

Geändert von JimDaniels (22-03-2007 um 11:05 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 22-03-2007, 11:19
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard Re: HTML Code bei Eingabe erlauben

Zitat:
Original geschrieben von JimDaniels
das wär ja nicht so schwer, wenn nur meine ganzen sicherheitsbedenken nicht wären. was für unsicherheitsfaktoren gibt es denn??
Den hier:
Zitat:
ich möchte ein formular, wo der user einen html code eingeben kann.
Da du das nicht genauer spezifiert hast, darf der Nutzer also alles mögliche eingeben.

Ich könnte also bspw. per Iframe fremde Inhalte einbinden, oder auch Javascript, womit ich dann bspw. die Zieladresse eines Loginformulares auf deiner Seite auf ein Script auf meinem Server ändere, so dass ich die Daten deiner Nutzer ausspähen kann, etc. pp.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #3 (permalink)  
Alt 22-03-2007, 11:40
JimDaniels
 Newbie
Links : Onlinestatus : JimDaniels ist offline
Registriert seit: Jan 2004
Beiträge: 26
JimDaniels ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Na schön, das sind doch schon mal 2 dinge, ich fange also einfach die tags <script> und <frame> oder <iframe> ab. sollte doch reichen, oder??

sonst noch etwas, mir macht das ganze mit php ein bißchen sorgen. werden die befehle wirklich nicht ausgeführt, wenn man sie einfach so eingibt, oder gibt es nicht doch eine möglichkeit, wie der user es fertig bringt, das die befehle als php interpretiert werden.
Mit Zitat antworten
  #4 (permalink)  
Alt 22-03-2007, 11:46
Benny-one
 Master
Links : Onlinestatus : Benny-one ist offline
Registriert seit: Jan 2002
Ort: Fulda
Beiträge: 5.700
Benny-one ist zur Zeit noch ein unbeschriebenes Blatt
Benny-one eine Nachricht über ICQ schicken
Standard

@Jim: Nimm strip_tags und erlaube einfach nur Tags wie z.B. b, strong, p, a, i, u, span, blockqoute, ul, li, div, img, table, tr, td, th, tbody
Das sollte ausreichen.
Mit Zitat antworten
  #5 (permalink)  
Alt 22-03-2007, 13:19
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von JimDaniels
Na schön, das sind doch schon mal 2 dinge, ich fange also einfach die tags <script> und <frame> oder <iframe> ab. sollte doch reichen, oder??
Nein.
Zitat:
sonst noch etwas, mir macht das ganze mit php ein bißchen sorgen. werden die befehle wirklich nicht ausgeführt, wenn man sie einfach so eingibt
Wenn du die Daten als reinen Text behandelst, werden sie nicht als PHP geparst.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #6 (permalink)  
Alt 23-03-2007, 09:03
JimDaniels
 Newbie
Links : Onlinestatus : JimDaniels ist offline
Registriert seit: Jan 2004
Beiträge: 26
JimDaniels ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ich werde es einfach mal so probieren. Und die idee mit strip_tags hört sich gar nicht schlecht.

danke euch allen.
Mit Zitat antworten
  #7 (permalink)  
Alt 29-02-2008, 16:24
Blitzschlag
 Newbie
Links : Onlinestatus : Blitzschlag ist offline
Registriert seit: Jul 2007
Beiträge: 29
Blitzschlag ist zur Zeit noch ein unbeschriebenes Blatt
Standard

wow ist ja schon alt der Thread *g

Naja aber bevor ich einen neuen aufmache will ich es hier etwas weiterführen.

Ich möchte auch, dass meine User HTML benutzen können sollen und dürfen sie auch. Wegen der Benutzerfreundlichkeit benutze ich TinyMCE Editor.

Klar weiß ich, dass ich Javascript ausschalten kann und mir der User doch bösartiges unterschieben kann.

Deswegen mache ich das bis jetzt so: hoffe ihr seit damit zurfrieden.

Alles was vom TinyMCE Editor kommt:

Um SQL Injection zu vermeiden adslashes();
Um JavaScript uns sonstiges zu vermeiden striptags(); Bei striptags erlaube ich dann fast alle HTML tags ausser die frame geschichte und so weiter.

FRAGE: Wie sehr kann ich mich auf striptags verlassen ?
Es ist egal ob der user seine seite verunstalten kann mir ist nur wichtig, dass er mir kein javaScript unterschieben kann.

Was könnte man noch in Bezug auf Sicherheit und TinyMCE Editor tun für alle die denn nicht kennen ist so ein ähnlicher Editor wie FCKEditor

Geändert von Blitzschlag (29-02-2008 um 16:27 Uhr)
Mit Zitat antworten
  #8 (permalink)  
Alt 29-02-2008, 16:35
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

Zitat:
Um SQL Injection zu vermeiden adslashes();
Besser gleich mysql_real_escape_string() verwenden.
Zitat:
Es ist egal ob der user seine seite verunstalten kann mir ist nur wichtig, dass er mir kein javaScript unterschieben kann.
Dann ist imho strip_tags() ein etwas zu grobes Geschütz. Dann wäre es für mich einfacher einfach einen regExp zu machen
PHP-Code:
preg_replace('/<script[^>]*>.*<\\/script>/isU','',$string); 
Gruss

tobi
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #9 (permalink)  
Alt 29-02-2008, 16:39
Blitzschlag
 Newbie
Links : Onlinestatus : Blitzschlag ist offline
Registriert seit: Jul 2007
Beiträge: 29
Blitzschlag ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Besser gleich mysql_real_escape_string() verwenden.
Mache ich sonst auch immer nur leider verändert er das so scharf, dass ich dann nicht mehr stripslashes drauf anwenden kann. HTML soll ja im enddefekt durchkommen.

Man Reguläre Ausdrücke sind immer so schwer *g aber ich habe mich auch damit auseinander gesetzt.

Die möglichkeit habe ich auch schon benutzt dachte, (nachdem ich nicht schlafen konnte weil ich dachte alles wäre unsicher) dann aber och ich weiß ja was sie dürfen und was nicht also striptags() dann kann ich sicher sein, dass ich nichts vergessen habe.
Mit Zitat antworten
  #10 (permalink)  
Alt 29-02-2008, 16:46
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

Zitat:
Mache ich sonst auch immer nur leider verändert er das so scharf, dass ich dann nicht mehr stripslashes drauf anwenden kann. HTML soll ja im enddefekt durchkommen.
Ähm strip_slashes() brauchst du auch nicht bei einem String der mit mysql_real_escape_string() bearbeitet wurde.
Und
Zitat:
Hinweis: Ist magic_quotes_gpc aktiviert, wenden Sie zuerst stripslashes() auf die Daten an. Das Bearbeiten bereits in irgend einer Form maskierter Daten durch mysql_real_escape_string führt ansonsten dazu, dass bereits Maskiertes doppelt maskiert wird.
die magic_quotes_gpc solltest du auf off haben oder sonst zuerst ein strip_slashes() drüber.
Zitat:
Man Reguläre Ausdrücke sind immer so schwer *g aber ich habe mich auch damit auseinander gesetzt.
Sind kompliziert aber brutal mächtig

Gruss

tobi
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #11 (permalink)  
Alt 29-02-2008, 16:52
Blitzschlag
 Newbie
Links : Onlinestatus : Blitzschlag ist offline
Registriert seit: Jul 2007
Beiträge: 29
Blitzschlag ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Der Hinweis ist cool. Vielleicht löst das Probleme mit denn ich umständliche Lösungen gefunden hatte *lach.

Danke aufjedenfall für deine Antworten.

Ohja sehr mächtig sogar benutze nur die leichten für mod_rewrite

Naja aber wie es aussieht kann ich mich auf jeden fall auf stripTags verlassen das ist ja meine größte sorge gewesen.

Gruss
Mit Zitat antworten
  #12 (permalink)  
Alt 29-02-2008, 17:14
3DMax
 PHP Senior
Links : Onlinestatus : 3DMax ist offline
Registriert seit: Jan 2004
Beiträge: 1.916
3DMax ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Blitzschlag
Naja aber wie es aussieht kann ich mich auf jeden fall auf stripTags verlassen das ist ja meine größte sorge gewesen.
da bin ich anderer meinung, selbst mit regulären dingen wird es unmöglich sein alle fälle abzudecken, js einzuschleusen. zumindest, wenn du html zulässt.
z.b. js als bild verkleidet: <IMG SRC="javascript:alert('XSS');">
Mit Zitat antworten
  #13 (permalink)  
Alt 29-02-2008, 17:24
Blitzschlag
 Newbie
Links : Onlinestatus : Blitzschlag ist offline
Registriert seit: Jul 2007
Beiträge: 29
Blitzschlag ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
z.b. js als bild verkleidet: <IMG SRC="java script:alert('XSS');">
Habe ich mir auch schon überlegt. Aber meinste mann kann auch komplizierten gefährliches Javascript einschleusen ?
Mit Zitat antworten
  #14 (permalink)  
Alt 29-02-2008, 20:04
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Habe ich mir auch schon überlegt. Aber meinste mann kann auch komplizierten gefährliches Javascript einschleusen ?
Wie oben erwähnt wurde, zum Beispiel die Zieladresse eines Formulars ändern. Dem Skript ist ziemlich Wumpe, von wo aus es ausgeführt wird. Das Schlimme ist, das es ausgeführt wird bzw. du es nicht raussortierst!!
Und es bleibt ja nicht nur bei JavaScript. Du kannst ja auch weitere CSS-Dateien über @import nachladen. Da kannst du sicherlich auch wieder Skripte einschleusen!
Mit Zitat antworten
  #15 (permalink)  
Alt 29-02-2008, 20:27
Blitzschlag
 Newbie
Links : Onlinestatus : Blitzschlag ist offline
Registriert seit: Jul 2007
Beiträge: 29
Blitzschlag ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ok ich habe es begriffen dan wäre es ja quasi unmöglich ausser einen bomben sicheren regulären Ausdruck.

MMM was denkst du was man dagen tun könnte ?
Inzwischen weiß ich ja was man so damit anstellen könnte aber eine wirklilche Problemlösung habe ich
nicht.
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

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:49 Uhr.