Puster Skrevet 13. november 2010 Del Skrevet 13. november 2010 Hei, Tenker å lage en gjestebok, å den trenger da sikkerhet! Så finnes det en kommando som kan forby enkelte ord som for eks. "<meta>". Da stopper hele scripten? Så det ikke blir rot når det hentes ut. Noen andre tips? Takker for svar Lenke til kommentar
BlueEAGLE Skrevet 13. november 2010 Del Skrevet 13. november 2010 Tenker du på http://php.net/strip_tags eller liknende? Lenke til kommentar
Puster Skrevet 13. november 2010 Forfatter Del Skrevet 13. november 2010 (endret) ja, det jeg tenker på. Kan du forklare denne funksjonen? Kan man da legge til hvilke man vil ha osv? Endret 13. november 2010 av Puster Lenke til kommentar
Thomas. Skrevet 13. november 2010 Del Skrevet 13. november 2010 Holder å bruke htmlspecialchars() når du setter inn data'en din. Lenke til kommentar
BlueEAGLE Skrevet 13. november 2010 Del Skrevet 13. november 2010 ja, det jeg tenker på. Kan du forklare denne funksjonen? Kan man da legge til hvilke man vil ha osv? string strip_tags ( string $str [, string $allowable_tags ] ) This function tries to return a string with all NUL bytes, HTML and PHP tags stripped from a given str. It uses the same tag stripping state machine as the fgetss() function. str: The input string allowable_tags: You can use the optional second parameter to specify tags which should not be stripped. Return Values: Returns the stripped string. Hva mer trenger du å ha forklart? o.0 Lenke til kommentar
MikkelRev Skrevet 13. november 2010 Del Skrevet 13. november 2010 Dette et tredje tråden du har opprettet for samme spørsmål. Tips er å lese svarene og ta til deg hjelpen de forrige gangene du spurte om det samme: https://www.diskusjon.no/index.php?showtopic=1271767 https://www.diskusjon.no/index.php?showtopic=1272135 Lenke til kommentar
Matsemann Skrevet 13. november 2010 Del Skrevet 13. november 2010 Bryr du deg om sikkerhet kjøper du boken "Innocent Code - A security wake up call for web programmers". Du må validere input, slik at det ikke er mulighet for å kjøre SQL injections. Google er din venn her. Dessuten må du validere data når du viser det fra databasen. Ellers blir det mulighet for å ta full kontroll over siden din, evt. kjøre XSS. Tenker du på http://php.net/strip_tags eller liknende? Strip tags er ikke sikkert nok å bare kjøre sånn uten videre. Hva skjer om jeg i gjesteboken legger inn: <scr<script>ipt>// masse ond kode </scr</script>ipt> Kjøres strip_tags på den, fjernes <script> og </script>, men det gjør igjen at nye <script>-tags oppstår. Har sett og utnyttet denne feilen flere ganger. Blant annet brukte jeg den for å ta full kontroll over Nettby en gang i tiden. Dessuten ville bruk av strip_tags her på forumet faktisk gjort at innlegget mitt ble meningsløst. Så htmlspecialchars er en bedre løsning. 1 Lenke til kommentar
laserlars Skrevet 10. februar 2011 Del Skrevet 10. februar 2011 Kjøres strip_tags på den, fjernes <script> og </script>, men det gjør igjen at nye <script>-tags oppstår. Har sett og utnyttet denne feilen flere ganger. Blant annet brukte jeg den for å ta full kontroll over Nettby en gang i tiden. Dessuten ville bruk av strip_tags her på forumet faktisk gjort at innlegget mitt ble meningsløst. Så htmlspecialchars er en bedre løsning. Testa litt nå, og strip_tags() fjerna faktisk <scr<script>ipt> totalt. Kanskje det ikke fungerte på eldre versjoner av php ? Lenke til kommentar
Jonas Skrevet 10. februar 2011 Del Skrevet 10. februar 2011 (endret) Jeeez, her var det mye rart som ble sagt. Alt koker simpelthen ned til escaping. I hvert steg, så escaper man tegn som har spesiell mening og kan kludre til noe. Og ikke noe annet. Gjør du mer enn dette, så taper du rett og slett data. La meg komme med noen eksempler. Du kjører strip_tags ved visning av data på ett forum. Vel, hva om jeg faktisk ønsker å vise html-kode? Da er innlegget rendret fullstendig meningsløst. Jeg registrerer meg med brukernavnet <Superman>is-awesome. Du kjører htmlspecialchars ved innsetting av data i databasen. Hver gang forumet skal sende meg en notifikasjon på mail, så vil det stå <Superman>is-awesome. (Text/plain visning.) Ser ikke veldig elegant ut. Det finnes rett og slett et fasitsvar på hva man skal gjøre og det er helt utrolig at folk kommer med andre forslag. Ved innsetting i database, så kjører man data gjennom pg_escape_string, mysql_real_escape_string eller noe ekvivalent for din database. Ved visning av data på en nettside, så kjører man all brukerinput gjennom htmlentities eller htmlspecialchars. Ved utsending av mail, hvor ingen spesielle tegn har noen ekstra mening, så gjør man ingen ting. (Text/plain, igjen) Endret 10. februar 2011 av Jonas 1 Lenke til kommentar
BlueEAGLE Skrevet 11. februar 2011 Del Skrevet 11. februar 2011 Takk for at du deler av din enorme visdom Jonas. *lete etter noe støv å bøye seg i* Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå