8:52
5/3/2013

Czyli prezentacja o tym, czy escaping jest dobrym sposobem na poradzenie sobie ze wstrzyknięciami (SQLi, XSS).

Ten wpis pochodzi z naszego linkbloga *ptr, dlatego nie widać go na głównej.
*ptr możesz czytać przez RSS albo przez sidebar po prawej stronie serwisu.

Dowiedz się, jak zabezpieczyć swoje dane i pieniądze przed cyberprzestępcami. Wpadnij na nasz kultowy ~3 godzinny wykład pt. "Jak nie dać się zhackować?" i poznaj kilkadziesiąt praktycznych i przede wszystkim prostych do zastosowania porad, które skutecznie podniosą Twoje bezpieczeństwo i pomogą ochronić przed atakami Twoich najbliższych. Uczestnicy tego wykładu oceniają go na: 9,34/10!

Na ten wykład powinien przyjść każdy, kto korzysta z internetu na smartfonie lub komputerze, prywatnie albo służbowo. Wykład prowadzimy prostym językiem, wiec zrozumie go każdy, także osoby spoza branży IT. Dlatego na wykład możesz spokojnie przyjść ze swoimi rodzicami lub mniej technicznymih znajomych. W najbliższych tygodniach będziemy w poniższych miastach:

Zobacz pełen opis wykładu klikając tutaj lub kup bilet na wykład klikając tu.

4 komentarzy

Dodaj komentarz
  1. dzieki

  2. Wielka rzecz. Wywalić znaki większości/mniejszości z zmiennych które są później używane w kwerendach oraz apostrofy/cudzyslowy i jedziem. W PHP jest o tyle dobrze, że jest funkcja htmlspecialchars(), która to robi za nas. Nie wiem czy w Javie jest ekwiwalent (bo dokument jest głównie o Javie i JSP).

    • I najlepiej poprosić użytkowników przy formularzu, żeby nie używali apostrofów, bo mogą zepsuć bazę :->. Ale poważnie – po pierwsze nie można usuwać znaków, które niekoniecznie są używane do hackowania (szukanie “it’s” jest jak najbardziej legalne). Po drugie w różnych serwerach SQL masz różne znaki, które są groźne i jeśli nie jesteś 100% pewien, że je znasz, to powinieneś użyć biblioteki kogoś kto wiedział ;-). A w razie wątpliwości trzeba użyć prepare/exec, co powoduje z grubsza przypisanie danemu miejsca w zapytaniu odpowiedniego typu danych. To może być kosztowane jeśli chodzi o wydajność, ale jeśli inaczej nie ma się 100% pewności…

  3. Po prostu trzeba robić escapowanie odpowiednie dla danego rodzaju serwera i używanej biblioteki. PHP ma dla MySQL mysql_real_escape_string i używanie czegokolwiek innego dla ciągów znaków owszem jest ryzykowne. Oczywiście można próbować zawsze robić zapytania poprzez prepare/exec, ale to nie jest najwydajniejsza metoda w wielu wypadkach. Poza tym warto nie dać się zwariować i jak mamy do czynienia z intem itp, to wystarczy zmienną zrzutować i wtedy ma się pewność, że ma ten typ co trzeba.

Twój komentarz

Zamieszczając komentarz akceptujesz regulamin dodawania komentarzy. Przez moderację nie przejdą: wycieczki osobiste, komentarze nie na temat, wulgaryzmy.

RSS dla komentarzy: