php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 13.02.2012, 09:49  
Benutzer
 
Registriert seit: 14.10.2011
Beiträge: 81
PHP-Kenntnisse:
Anfänger
chickenburner ist zur Zeit noch ein unbeschriebenes Blatt
Standard bestimmte HTML-Tags zulassen

Hallo zusammen,

user können auf meiner website seiten erstellen. Den Inhalt können sie mit dem Tinymce-Editor erstellen. Nun ist meine Frage, wie ich diese Geschichte sicher gestallten kann mit maskierungen.

Wie trage ich die Eingaben in die Datenbank ein und wie gebe ich sie am besten wieder aus, wenn ich bestimmte HTML-Tags zulassen möchte.

Bspw. <strong></strong><h1></h1><h2></h2><br /><font color:#xxxx></font> sollen erlaubt sein, damit der User seinen Text gestallten kann.


Ich hoffe ihr könnt mit weiterhelfen.

Gruß
chickenburner ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 13.02.2012, 10:08  
BangkokInLove
Gast
 
Beiträge: n/a
Standard

Generell alles verbieten und dann mit ner Whitelist arbeiten. (Da ich mal davon ausgeh das du weniger als die Hälfte der zur Verfügung stehenden Elemente zulassen willst).
  Mit Zitat antworten
Alt 13.02.2012, 10:36  
Benutzer
 
Registriert seit: 14.10.2011
Beiträge: 81
PHP-Kenntnisse:
Anfänger
chickenburner ist zur Zeit noch ein unbeschriebenes Blatt
Standard

vielen Dank für deine Hilfe

ja, genau sowas in der Art schwirrte mir im Kopf herum, allerdings weiss ich nicht so ganz, wie das umgesetzt wird.

PHP-Code:
$allowed "<strong>,</strong>,<h1>,</h1>,...";
$usereingabe $_POST['usereingabe'];
$sichereeingabe strip_tags($usereingabe$allowed);

$mysql_real_escape_string($sichereeingabe); <- Dies kann nun in der DB gespeichert weren
ungefähr so?
und wie gebe ich das am besten aus? oder reicht dann nur noch echo $sichereeingabe; (also ohne maskierung)?
chickenburner ist offline   Mit Zitat antworten
Alt 13.02.2012, 10:45  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.874
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

Generell:
http://www.shiftedwork.de/blog/2011/...pting-mit-php/

Gutes Werkzeug zum Post-Patching von User-Eingaben die HTML enthalten dürfen:
http://htmlpurifier.org/
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist offline   Mit Zitat antworten
Alt 13.02.2012, 12:57  
Benutzer
 
Registriert seit: 14.10.2011
Beiträge: 81
PHP-Kenntnisse:
Anfänger
chickenburner ist zur Zeit noch ein unbeschriebenes Blatt
Standard

vielen Dank für die Hilfe.

In meinem Fall sind es nur wenige Html-codes, die zugelassen werden. Die Geschichte mit dem BB-Code in deinen Links finde ich sehr interessant.

Wäre es eine sinnvolle idee, die wenigen codes, die ich zulasse, mit preg_replace in bb-codes umzuwandeln, dann die eingabe mit htmlspecialchars bearbeiten, so dass die nichtzugelassenen codes, unwirksam werden und das dann in die db speichern?
Beim Ausgeben, die bb-codes mit preg_replace wieder umwandeln in html-codes?

Also:
PHP-Code:
preg_replace(<b>, [b], $usereingabe);
preg_replace(<h1>, [h1], $usereingabe);
preg_replace(<h2>, [h2], $usereingabe);
preg_replace(<font color='(.*)'>, [font color='(.*)'], $usereingabe);
htmlspecialchars($usereingabe); <-in DB speichern

Ausgabe
:
preg_replace([b], <b>, $usereingabe);
preg_replace([h1], <h1>, $usereingabe);
preg_replace([h2], <h2>, $usereingabe);
preg_replace([font color='(.*)'], <font color=(.*)>, $usereingabe);

echo 
$usereingabe
chickenburner ist offline   Mit Zitat antworten
Alt 13.02.2012, 13:00  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.874
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

BBCode-Klasse nutzen, nicht das Rad neu repla...äh erfinden.

Des gibbet denn da: http://www.christian-seiler.de/projekte/php/bbcode/
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist offline   Mit Zitat antworten
Alt 13.02.2012, 15:35  
Benutzer
 
Benutzerbild von trollface
 
Registriert seit: 24.09.2011
Beiträge: 63
PHP-Kenntnisse:
Fortgeschritten
trollface befindet sich auf einem aufstrebenden Ast
Standard

Lass das <font> weg. Es ist schon seit Ewigkeiten als veraltet eingestuft und fliegt mit HTML5 endgültig raus.
trollface ist offline   Mit Zitat antworten
Alt 13.02.2012, 15:41  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.874
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

Zitat:
Zitat von trollface Beitrag anzeigen
Lass das <font> weg. Es ist schon seit Ewigkeiten als veraltet eingestuft und fliegt mit HTML5 endgültig raus.
Stattdessen <span> nutzen bzw. in deinem Fall:
HTML-Code:
<span style="color:#cc00cc">text</span> 
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist offline   Mit Zitat antworten
Alt 13.02.2012, 15:42  
meikel
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von chickenburner Beitrag anzeigen
Bspw. <strong></strong><h1></h1><h2></h2><br /><font color:#xxxx></font> sollen erlaubt sein, damit der User seinen Text gestallten kann.
EDIT:
<kill>
http://tr.php.net/strip_tags
string strip_tags ( string $str [, string $allowable_tags ] )
</kill>
siehe #10

Geändert von meikel (13.02.2012 um 15:56 Uhr).
  Mit Zitat antworten
Alt 13.02.2012, 15:50  
fab
Erfahrener Benutzer
 
Benutzerbild von fab
 
Registriert seit: 28.07.2010
Beiträge: 2.308
PHP-Kenntnisse:
Fortgeschritten
fab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblick
Standard

Der BBCode-Ansatz ist schon ganz sinnvoll, strip_tags ist keine brauchbare Funktion für Benutzereingaben.
fab ist gerade online   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Xpath Node Value mit HTML Tags befüllen CarlitoPhp PHP Einsteiger 2 08.09.2011 00:40
[Erledigt] HTML Tags (dynamisch) entfernen paolo PHP Einsteiger 75 11.08.2011 17:02
[JSON] HTML tags nicht interpretieren cargos JavaScript, Ajax und mehr 8 17.05.2010 21:36
HTML Tags in Funktion oder Variabler Tracker PHP Tipps 2010 7 19.04.2010 11:52
[Erledigt] HTML tags verbieten spikytux PHP Tipps 2009 6 07.02.2009 13:48
Posix Regex: Problem beim HTML Tags suchen PHP Tipps 2005 2 13.09.2008 17:57
mehrere html tags in sql abfrage THP Datenbanken 11 19.07.2008 12:48
Nur bestimmten Html Code zulassen? litterauspirna PHP Tipps 2008 5 29.04.2008 12:30
[Erledigt] Validation Problem - HTML Tags in Javascript HTML, Usability und Barrierefreiheit 7 06.03.2006 23:38
HTML Tags als Text ausgeben? cebe PHP Tipps 2006 1 03.03.2006 15:50
html tags filtern mit regex UND string ergänzen PHP Tipps 2006 14 06.01.2006 02:02
html tags anzeigen me HTML, Usability und Barrierefreiheit 7 20.01.2005 22:22
[Erledigt] Frage: Text abschneiden aber auf html tags achten PHP-Fortgeschrittene 1 19.01.2005 20:46
Formatierung und HTML Tags in mySQL Text via PHP Datenbanken 4 11.01.2005 15:16
strip_tag() - bestimmte html befehle trotzdem zulassen PHP Tipps 2004 13 02.06.2004 20:38

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
tinymce html erlöauben, tinymce bestimmte html nicht zulassen, php bestimmte tags lassen, tinymce bestimmte html tags zulassen, tags zulassen php, php bestimmte html elemente erlauben, style tag erlauben sicherheit editor, php bestimmte tags erlauben

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




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum