Eredmény: 1 - 6 (6) összesen

Téma: XSS elleni védelem.

  1. #1
    Hekker 0xFF logója
    Csatlakozott
    09-08-21
    Hozzászólás
    1.079
    Begyűjtött 168 köszönetet
    118 hozzászólásával

    Alapbeállítás XSS elleni védelem.

    Egy újabb próbléma ütötte fel a fejét, van egy wysiwyg-editorom, ami bizonyos HTML taggeket használ, ennek a textarea-nak az ertéke be fog kerülni egy adatbázisba, majd onann termeszétesen ki is, azt szeretném, ha kitudnám, szürni az XSS-t teljes mértékben.

    Amin en gondolkoztam, az az, hogy amielött bekerülne az adatbázisba először kicserélem az elemeket, pl a <P> ból [P] lesz stb majd ezután átmegy a htmlentities fügvényen, majd bekerül az adatbázisba, kiolvasáskor meg visszacserélem a [P] ból ujra <p> lesz.

    Ezzel az a problémám. hogy van <P> és <P align="center"> és még sok sok más letőség.

    Szerintem erre is van valami egyszerübb megoldás, vagy milyen más lehetőségek vannak, nem csak a <script> et szeretném szürni hanem mindent, IFRAME, onmouseover stb stb.



  2. #2
    Bölcs sitebuilder logója
    Csatlakozott
    09-08-23
    Hely
    Debrecen
    Hozzászólás
    1.005
    Begyűjtött 8 köszönetet
    5 hozzászólásával

    Alapbeállítás re: XSS elleni védelem.

    Miért bonyolítod túl? A '<' helyett '&lt;' -t írsz, de arra ott a htmlspecialchars() függvény...



  3. #3
    Hekker 0xFF logója
    Csatlakozott
    09-08-21
    Hozzászólás
    1.079
    Begyűjtött 168 köszönetet
    118 hozzászólásával

    Alapbeállítás re: XSS elleni védelem.

    Értem én, de akkor amikor kiolvasom akkor elveszik a formázás..



  4. #4
    Tag todi logója
    Csatlakozott
    09-12-22
    Hely
    Budapest
    Hozzászólás
    56
    Begyűjtött 0 köszönetet
    0 hozzászólásával

    Alapbeállítás re: XSS elleni védelem.

    2 lehetőséged van:
    - visszaolvasáskor visszakódolod a tartalmat
    - preg_replace() használata (html2text class-ra keress, ha mindent ki akarsz szedni, ami html, és csak szöveged lesz)



  5. #5
    Rubyist Geri logója
    Csatlakozott
    07-12-15
    Hely
    \x90
    Hozzászólás
    5.749
    Begyűjtött 1.432 köszönetet
    895 hozzászólásával

    Alapbeállítás re: XSS elleni védelem.

    a strip_tags függyvénynek át lehet adni paraméterként az engedélyezett html tag-eket és szerintem azzal tudod ezt legegyszerűbben megoldani.


    If debugging is the process of removing software bugs, then programming must be the process of putting them in.
    Ruby blog
    Give a man a fish and you feed him for a day. Teach a man to fish and you feed him for a lifetime.
    Respect all, fear none

  6. #6
    Hekker 0xFF logója
    Csatlakozott
    09-08-21
    Hozzászólás
    1.079
    Begyűjtött 168 köszönetet
    118 hozzászólásával

    Alapbeállítás re: XSS elleni védelem.

    Kib*szott jó ez a PHP, mindenre van egyszerü megoldás...
    Ha mást is érdekel akkor ez a megoldás:
    PHP kód:
    <?php 
    function strip_tags_attributes($string,$allowtags=NULL,$allowattributes=NULL){ 
        
    $string strip_tags($string,$allowtags); 
        if (!
    is_null($allowattributes)) { 
            if(!
    is_array($allowattributes)) 
                
    $allowattributes explode(",",$allowattributes); 
            if(
    is_array($allowattributes)) 
                
    $allowattributes implode(")(?<!",$allowattributes); 
            if (
    strlen($allowattributes) > 0
                
    $allowattributes "(?<!".$allowattributes.")"
            
    $string preg_replace_callback("/<[^>]*>/i",create_function
                
    '$matches'
                
    'return preg_replace("/ [^ =]*'.$allowattributes.'=(\"[^\"]*\"|\'[^\']*\')/i", "", $matches[0]);'    
            
    ),$string); 
        } 
        return 
    $string

    ?>
    Használat:
    PHP kód:
    <?php strip_tags_attributes($string,'<strong><em><a>','href,rel'); ?>
    És itt van egy lista a legáltalánosabb XSS szövegekről amiket érdemes ellenörizni:
    hxxp://ha.ckers.org/xss.html



A téma címkéi:

Könyvjelzők

Hozzászólás szabályai

  • Új témákat nem hozhatsz létre
  • Válaszokat nem küldhetsz
  • Fájlokat nem csatolhatsz
  • A hozzászólásaidat nem módosíthatod
  •