Werni_32 Skrevet 12. november 2005 Del Skrevet 12. november 2005 Har lest PHP i bare 1 dag nå og har laget et script helt fra scratch. Håper noen får bruk for det og håper på kritikk... Hvis du bruker det så plz give credits 2 me on ur page . NumProtect.zip Lenke til kommentar
Loomy Skrevet 12. november 2005 Del Skrevet 12. november 2005 (endret) Godt forsøk men det der er nok ubrukelig med tanke på at det genererte tallet faktisk ligger som ren tekst i HTMLen: <input type = "hidden" name = "truenumbers" value = "9245"> EDIT: Dessuten kan man gå rett til check.php, og få godkjent tallene selv om man ikke har skrevet inn noe som helst. Endret 12. november 2005 av Loomy Lenke til kommentar
Zic0 Skrevet 12. november 2005 Del Skrevet 12. november 2005 Kan jeg få bruke bildene dine for å lage en bedre en? Lenke til kommentar
???????? Skrevet 12. november 2005 Del Skrevet 12. november 2005 Hei, regner med at du har litt kjennskap til programmering - siden scriptet ditt er ikke det verste nybegynnerscriptet jeg har sett. Der i mot så er det nok desverre ikke mange som burde bruke dette scriptet på sine hjemmesider, for det er en del mangler ved scriptet. 1. I path til bildene så starter du med / Dette kan medføre problemer dersom bildene da ikke legges i en mappe direkte under domenet. Legger man scriptet ditt en en mappes, som f.eks. "login" så vil adressen til scriptet være http://domene.no/login, problemet er at da forventer browserene at images mappen skal befinnes seg her: http://domene.no/images. Bytt ut /images med ./images. 2. Som Loomy sier så legger du inn passordet i et skjult felt. Dette vil nok være et av de første stedene en litt avansert bruker eller bot også vil lete. 3. Navnet på bildene refererer direkte til hvilket nummer det er, igjen vil en avansert bruker bot finnet lett ut av dette. 4. Tallene vil være lette for et OCR program å lese. Når du har registrert deg på forskjellige steder har du sikkert sett at teksten er enten forvridd eller så er det mange forstyrrende elementer i bakgrunnen - dette er for å hindre boter tilgang. 5. Kanskje mest vesentlig er det som Loomy påpeker i sin edit kommentar! Dette unngår det ved å sjekke variabelene med is_set() eller empty(). For å rette opp på problemene anbefaler jeg deg å kikke på sessions og GD funksjonene til PHP for å opprette til bilde. Lenke til kommentar
Werni_32 Skrevet 12. november 2005 Forfatter Del Skrevet 12. november 2005 Takk for tipsene, og ja Zico. Ta bildene og bruk de til hva du vil, jeg lagte de på 5 min ^^ . Lenke til kommentar
Zic0 Skrevet 12. november 2005 Del Skrevet 12. november 2005 ?: Synes du er best med kryptert kode med <input type="hidden"> eller session til slikt? Lenke til kommentar
???????? Skrevet 12. november 2005 Del Skrevet 12. november 2005 ?: Synes du er best med kryptert kode med <input type="hidden"> eller session til slikt? 5145376[/snapback] Tja... Ved å velge et hidden felt med kryptert innhold visere du for alle surfere en hash. Dette gjør at det vil være mulig å knekke den. På den andre siden så er dette snakk om et BOT script og ikke en avnasert login, så jeg ser ikke hensikten med at sikkerheten skal økes noe utover <input type="hidden"... så lenge innholdet er kryptert. Sessions tar ikke lang tid å sette opp, og har de siste par årene blitt mye mer stabile - så dette vil være en tryggere løsning. Likevel, dersom du lager et script folk skal kunne integrere på sine sider så unngå sessions. Det finnes mange poster her med nybegynnere som ikke forstår hvorfor de får feilmelding dersom det har output før session_start(). Lenke til kommentar
Zic0 Skrevet 13. november 2005 Del Skrevet 13. november 2005 (endret) Sånn da er jeg ferdig. Bare å skrive hvis dere finner noen bugs eller sikkerhetshull. Godt å bemerke seg at O ikke fins og det er 0 dere ser... Kan testes Her Edit: Som jeg skulle edite for sånn liten greie da... Bare så det er sagt på forhånd er ikke dette scripet for den som ALDRI har vært borti PHP før, med mindre noen av dere vil skrive en idiotsikker guide. Updates: -I er borte. Er l (altså L i småbokstav) dere ser der... -Fjernet unødvendig bilde i pakka -Lagt til font mappa jeg glemte antibot.zip Endret 13. november 2005 av Zic0 Lenke til kommentar
stian90_2 Skrevet 13. november 2005 Del Skrevet 13. november 2005 Hva gjør det scriptet da ? Lenke til kommentar
Zic0 Skrevet 13. november 2005 Del Skrevet 13. november 2005 Altså det scriptet jeg ga ut her er ren grunnkode. Det vil si at man må kunne php for å få noe ut av scriptet. Det, det gjør er å sørge for at boter f.eks ikke spam-registerer seg... Lenke til kommentar
Ernie Skrevet 14. november 2005 Del Skrevet 14. november 2005 Sessions tar ikke lang tid å sette opp, og har de siste par årene blitt mye mer stabile - så dette vil være en tryggere løsning. Likevel, dersom du lager et script folk skal kunne integrere på sine sider så unngå sessions. Det finnes mange poster her med nybegynnere som ikke forstår hvorfor de får feilmelding dersom det har output før session_start(). 5145408[/snapback] ... og da drister jeg meg til å si at databaser er et godt alternativ. Primært av grunnen over (session lager "merkelige" feilmeldinger), men også fordi man merkelig nok har noen paranoide mennesker der ute (ja, de er i et suverent undertall) som ikke aksepterer cookie, noe man normalt tar i bruk i forbindelse med session. Uannsett, da er det bare å generere en ID + en kode, sette det inn i en tabell og vente på at brukerene taster inn den riktige kombinasjonene for tilslutt å slette den raden. Kan lønne seg å samtidig da slette steingamle rader, f.eks de som er over 2-3 timer gamle. Lenke til kommentar
???????? Skrevet 14. november 2005 Del Skrevet 14. november 2005 Tja... det er jo et alternativ. Det kalles forresten å skrive din egen "session handler" eller egen session håndtering for de som ønsker å søke litt på dette området. Problemet med dette er at det tar mye lengre tid å skrive et slikt script enn å bare bruke sessions. Bare vurderingene i forhold til optimalisering, databasestruktur, hva skal man bruke som brukergjenkjennelse og så i tilleg kommer den biten å skrive kodene - og så testing. Glem ikke at noe slik krever grundig testing. Fordelene er i mot er at du da kan få en session til å være gyldig selv om brukeren lukker browseren og kommer tilbake om et par timer, så jeg sier ikke at det ikke finnes fordeler ved dette også - men bare legg til i beregningene at dette tar litt tid Lenke til kommentar
Zic0 Skrevet 14. november 2005 Del Skrevet 14. november 2005 Noe tilbakemelding på scriptet mitt eller? Lenke til kommentar
???????? Skrevet 14. november 2005 Del Skrevet 14. november 2005 Jeg har ikke kikket på koden din, men fant fort en feil i testen din. Aldri bruk tegnene o, O og 0, I og l (skipp også 1). C, K, U, V og W kan også være vansklig å skille om den skal være liten eller stor - sjekk derfor NØYE med fonten din om det er lett å se forskjell. Jeg har gjennom tidene lagd et par sånne bilde kode scripts, og tro meg - der nybegynnere kan ta feil, der tar de feil!! Lenke til kommentar
???????? Skrevet 14. november 2005 Del Skrevet 14. november 2005 Jeg testet forresten effekten av vridningen du hadde på bokstavene med et OCR program, den var minimal! Opprett en forstyrrende bakgrunn og lignende tiltak - sånn som den er nå har den derfor også en minimal effekt på avanserte bot'er. Lenke til kommentar
Zoxc Skrevet 17. november 2005 Del Skrevet 17. november 2005 Her er ein klasse eg lagde for YAHONS en stund tilbake..... class ImageCodeGenerator { public $Code = ""; public function Execute(){ $image = @imagecreatetruecolor(130, 35); // Noise background for($x=0;$x<imagesx($image);$x++){ for($y=0;$y<imagesy($image);$y++){ if (rand(1,5) == 4 ) { $nm = rand(0, 80); } else{ $nm = rand(190, 230); } $col = imagecolorallocate($image, $nm, $nm, $nm); imagesetpixel($image, $x, $y, $col); imagecolordeallocate($image, $col); } } // Border $nm = rand(140, 160); $col = imagecolorallocate($image, $nm, $nm, $nm); imagerectangle($image, 0,0, imagesx($image)-1 , imagesy($image)-1, $col); imagecolordeallocate($image, $col); for($i=0;$i<4;$i++){ $nm = rand(0, 80); $col = imagecolorallocate($image, $nm, $nm, $nm); $str = substr($this->Code, $i, 1); if (rand(1,2)==1){ $str = strtolower($str); } else{ $str = strtoupper($str); } imagettftext($image, rand(16,24), rand(-10, 20), 13+(30*$i), rand(25, imagesy($image)-5 ), $col, "arial.ttf", $str); //imagestring($image, $font, 5+(26*$i), rand(2, imagesy($image)-30 ), $str, $col); imagecolordeallocate($image, $col); } return $image; } } Trur denne blir litt verre for ein bot å sjekke. Var litt N00B når eg skreiv den så..... Lenke til kommentar
Lurifaksen Skrevet 18. november 2005 Del Skrevet 18. november 2005 Sånn da er jeg ferdig. Bare å skrive hvis dere finner noen bugs eller sikkerhetshull. Godt å bemerke seg at O ikke fins og det er 0 dere ser... Kan testes Her 5147645[/snapback] Sikkerhetshull (hvis f.eks. det var mail-skjema): Samme koden kan brukes flere ganger dersom du trykker på "tilbake" knappen i nettleseren. Lenke til kommentar
Zoxc Skrevet 18. november 2005 Del Skrevet 18. november 2005 Zico, Ta vekk XHTML på CuteNews sida http://validator.w3.org/check?uri=http%3A%...D%26ucat%3D1%26 Litt off-topic må vi tåle xD 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å