Aktywne Wpisy

jarzynka +27

olo1917 +282
Kto pamięta rządy PO i zwłaszcza, gdzie zaczynali 2007-2009, rozpierdziel po pisie, historyczny kryzys, bezrobocie. A nie jak gimbus tylko lata 2013-2015, gdzie już wychodziło to na prostą. Ten wie, że nie było lepszego rządu niż ten PO w historii polskiej demokracji. Ludzie mieli okazję obserwować, również dzięki swojej pracy, epokową przemianę demoludu w zachodnie państwo. Efekty tych działań do teraz napędzają ten kraj. Po niepewnosci lat 90, baronach SLD, patologii politycznej





1. ZAWSZE zabezpieczaj w zależności od kontekstu. Jak wchodzę w projekt, to nie chcę się zastanawiać czy akurat zmienna
Xjest bezpieczna dla SQLa – chcę widziećescapei być pewnym, że jest.2. Przed SQLi zabezpieczasz przez
mysqli_real_escape_stringalbo – to drugie MOCNO zalecam – przez bindowanie parametrów (google prepared statements).3. Przestaw się na PDO do bazkowania.
4. Przed XSS zabezpieczasz przez
html_special_chars($napis, ENT_QUOTES | ENT_SUBSTITUTE, 'utf-8').5. Możesz olać
strip_tags()– przed niczym nie zabezpiecza.6. Możesz olać
htmlentities()– koduje wszystko co się da, wręcz nadmiarowo. Wygodniej kodować te kilka znaków, które mają znaczenie, przezhtml_special_chars()7. Wracając do punktu pierwszego – NIE koduj encji przed wsadzeniem do bazki – KODUJ TAM GDZIE KONTEKST. Czyli koduj encje htmlowe przy wyświetlaniu w HTMLu.
załóżmy coś takiego:
if isset($POST['id']){
}
HTML to tekst „interpretowany”. Przeglądarki nie wyświetlają HTMLa, tylko analizują go i wykonują różne operacje na jego podstawie.
Np sekwencja
**lol**przeglądarki rozumieją jako „wyświetl pogrubiony napis lol”. I tu się rodzi niebezpieczeństwo, że – jeśli pozwolisz użytkownikom wpływać na HTML – to mogą oni zrobić kuku sobie lub innym użytkownikom.Np zamiast
**mógłby to byćkod_js_kradnacy_sesje();@jaskowice1: I teraz w kontekście powyższego – jakie niebezpieczeństwo widzisz w tym kodzie? Bo jeśli chcesz zabezpieczać, to „przed czymś”.
html_special_chars– wszystkie te parametry co podałem muszą być przekazywane. Stąd najlepiej zrób sobie swoją funkcjęhtmlEscape($napis), która odpali odpowiedniohtml_special_chars– żebyś nie musiał się powtarzać.ALE będzie to bezpieczeczne dopiero przy spełnieniu kilku dodatkowych warunków.
Po pierwsze napisy faktycznie muszą być w UTF-8 – więc upewnij się, że pliki PHP masz tak zakodowane, że bazki masz