Új hozzászólás Aktív témák

  • Taci

    addikt

    XSS elleni védelemben kérnék segítséget/tanácsot.

    Egyelőre csak 1 user inputos rész van az oldalon, a keresőmező. Ezt jelenleg így kezelem:

    - Kliens oldalon:
    strSearch = strSearch.replace(/&|!|\?|%|\*|\+|-|=|<|>|\(|\)|\[|\]|{|}|"|'|\||\/|\\|\^/g,"");
    Tehát kiszedek belőle minden speciális karaktert. (Aztán még pár feldolgozó művelet, mielőtt szerver oldalra át lenne küldve.)

    - Szerver oldalon:
    $strSearch=htmlspecialchars($_GET["searchString"], ENT_QUOTES, 'UTF-8');
    Aztán SQL-nek paraméterként vannak átadva a keresőszavak.

    Tehetek még ennél többet? Kell egyáltalán? Én úgy látom, ezekkel a lépésekkel a keresőmezőre vonatkozólag le van védve XSS (és SQL Injection) ellen is.

    Viszont ha rosszul látom, kérlek, javítsatok ki.

    ----------

    Illetve később majd lesz:
    - felhasználókezelés (tehát mezők felhasználónévnek, jelszónak, email címnek stb.)
    - kommentelés

    Oda ez a megoldás viszont már egészen biztosan kevés lesz.
    Nem akarok előre szaladni, előbb az legyen kész, amivel indulni akarok, de mivel egy téma (XSS, Cross Site Scripting), így azért ez is szem elé került.

    És hogy ezek a funkcióim is le legyenek majd védve, úgy láttam, kelleni fog egy "user input sanitizer". Utána olvasva nem egy egyszerű téma - vagy csak rossz/régi/bonyolult találatokat néztem.

    Furcsáltam, hogy nincs rá beépített megoldás, amikor is ezt találtam:
    Sanitizer.sanitize()
    Viszont ez még valami nagyon új feature lesz, egyelőre csak teszt változatban.

    Talán majd az encodeURI() / decodeURI() (Component) lehet majd hasznos.
    Na de majd ha odaértem.

    Az első részre ha tudnátok tanácsot/véleményt adni, azt megköszönném.

Új hozzászólás Aktív témák