Versio

Tekst filter

Een filter voor het veilig plaatsen van ingevoerde content.


Voorbeelden:

- Filteren van 1 string

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$text
= 'Hier wat tekst';
print_r(Gestione_Escape::parse($text, '<b><i>'));
?>

De tags <b> en <i> zijn dus toegestaan.

- Filteren van bijvoorbeeld een post array

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
print_r(Gestione_Escape::parseFromArray($_POST, '<b><i>');
?>


Hij wijst zich allemaal vanzelf. Graag opbouwend kritiek.

Ik hoop dat mensen er wat aan hebben.

Gr,

Niels K.

Gesponsorde koppelingen

BHosted Hosting al vanaf € 1,- per maand

Controleer nu gratis jouw domeinnaam:

  

PHP script bestanden

  1. Escape.php

 

8 reacties op 'Tekst filter'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
PHP Jasper
PHP Jasper
2 jaar geleden
 
0 +1 -0 -1
Proper, kan handig zijn. Netjes gemaakt, zo zijn we het gewoon van jouw he.
Jelmer rrrr
Jelmer rrrr
2 jaar geleden
 
0 +1 -0 -1
In parse() gebruik je $this, maar dat 'kan niet' vanuit een static functie.
Niels Kieviet
Niels Kieviet
2 jaar geleden
 
0 +1 -0 -1
Ik krijg geen foutmelding?
Jelmer rrrr
Jelmer rrrr
2 jaar geleden
 
1 +1 -0 -1
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
Fatal error: Using $this when not in object context in untitled_26c..php on line 35

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$text
= 'Hier wat tekst';
print_r(Gestione_Escape::parse($text, array('<b>','<i>')));
?>


Best logisch, want naar welke instantie verwijst $this? Je bedoelt waarschijnlijk self::.

Hij gaat trouwens rare html maken wanneer je er bijv. Hier wat <i>tekst</e> in stopt.
Niels Kieviet
Niels Kieviet
2 jaar geleden
 
0 +1 -0 -1
@Jelmer..

Je hebt gelijk.. Aangepast.
Ok daar zou ik den even naar moeten kijken :)

Tnx!
Pim -
Pim -
2 jaar geleden
 
0 +1 -0 -1
Veilig? Je bedoelt veilig in html neem ik aan.

Maar helaas Niels, het mag opnieuw ;)...
Voor dit soort checks moet je eerst de domnode opbouwen en dan pas checken. Zo zorgt de slordigheid van je browser ervoor dat kwaadaardige code erdoorheen kan glippen.

Ook moet je oppassen voor JS in attributen.

En waarom check je de types zo vaak? Typehinting en doctypes zijn toch genoeg?
Niels Kieviet
Niels Kieviet
2 jaar geleden
 
0 +1 -0 -1
@Pim
Wat bedoel je met 'eerst domnode' opbouwen ?

JS in attributen worden gefilterd he ;) Test maar ;)

Ja, maar ik neem eigenlijk altijd het zekere voor het onzekere.
Pim -
Pim -
2 jaar geleden
 
0 +1 -0 -1
Dat je eerst de HTML omzet in correcte (X)HTML dmv in een SimpleXML achtige vorm, waarna je je checks doet en correcte HTML teruggeeft.

Bijvoorbeeld:
Quote:

Malformed IMG tags. Originally found by Begeek (but cleaned up and shortened to work in all browsers), this XSS vector uses the relaxed rendering engine to create our XSS vector within an IMG tag that should be encapsulated within quotes. I assume this was originally meant to correct sloppy coding. This would make it significantly more difficult to correctly parse apart an HTML tag:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<IMG '''><SCRIPT>alert('XSS')</SCRIPT>'>

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Get Adobe Flash player