Originariamente inviato da stefano3804
Saibal che te frega te generi un numero random e te lo salvi in sessione :
[/php]
scusa, forse non ho capito io. ma dove lo stampi il numero da immettere?![]()
così non risolvi mica
Originariamente inviato da stefano3804
Saibal che te frega te generi un numero random e te lo salvi in sessione :
[/php]
scusa, forse non ho capito io. ma dove lo stampi il numero da immettere?![]()
così non risolvi mica
w la topa
anzi ... per come fa lui basta far leggere al programma quel codice e via ... e si aggira subito subito il problemaOriginariamente inviato da saibal
scusa, forse non ho capito io. ma dove lo stampi il numero da immettere?![]()
così non risolvi mica![]()
The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand
E come lo passi il codice oscurato che calcoli random da js a php?Originariamente inviato da saibal
ovviamente no. il controllo viene effettuato anche dopo. se uno disabilita javascript non può entrare.
sinceramente però chi disabilita javascript non merita di navigare su internet, quindi non mi preoccupa![]()
Sì, ma gli spambot "navigano" tutti con il js disattivato :E
"Nei prossimi tre anni col mio governo vogliamo vincere anche il cancro, che colpisce ogni anno 250.000 italiani e riguarda quasi due milioni di nostri concittadini"
Originariamente inviato da chris
E come lo passi il codice oscurato che calcoli random da js a php?
Sì, ma gli spambot "navigano" tutti con il js disattivato :E
è semplice.
nel form ci sono due campi
<input type="hidden" name="securcode" id="securcode" />
(dove viene messo il codice generato a video)
e un altro dove l'utente mette il codice.
se il primo campo è vuoto vuol dire che javascript è disabilitato e il controllo non va a buon fine
w la topa
loré
tieni in considerazione però che ad esempio usando il motore di ff è possibile aggirare facilmente questa protezione
intendiamoci ... per un uso normale va più che bene, però non puoi usarla in contesti dove la sicurezza è in prima posizione
immaggina il caso dove il motore dello spambot sia fatto in C++ in XUL per farlo andare con FF e poi ci siano dei moduli aggiuntivi in javascript per queste cose ... sarebbe una tragedia dato che tu programmatore dopo che vedi nell'albero del dom dove sta il codice ci stai 1 secondo a dire a js di leggere il valore da li
però ovviamente ripeto ... dipende le situazioni e dai casi
cmq se il tuo problema è usare SOLO codice php senza usare estensioni potresti benissimo generare tu l'immagine!
Potresi limitarti a creare un bmp tramite php senza compressione, neanche RLE, in bianco e nero, o magari la fai a scala di grigi se vuoi aggiungere disturbi o altro ottenendo comunque un'immagine piccole, nell'ordine di qualche kb, fatta sempre con php, e + sicura rispetto a questa soluzione
usando BMP+FNT (come font, lascia perdere i TTF troppo complessi da renderizzare se non si ci vuol perdere tempo) ottieni una soluzione leggera per php e senza sbattimenti da utilizzare
FNT:
http://support.microsoft.com/default...B;en-us;q65123
http://www.descent2.com/ddn/specs/fnt/
http://www.vsoft.nl/software/utils/win/fontedit/
http://www.fortunecity.com/skyscrape...ml/appendc.htm (cerca FNT all'intero, cmq questo è quello che a primo impatto da maggiori informazioni sul file)
BMP:
http://www.wotsit.org/search.asp?s=graphics (qui c'è ne sono svariati, ma lascia perdere quello per OS/2)
http://www.fortunecity.com/skyscrape.../bmpffrmt.html
http://www.daubnet.com/formats/BMP.html
http://astronomy.swin.edu.au/~pbourke/dataformats/bmp/ (questo secondo me è il + semplice)
The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand
ovviamente nulla è sicuro al 100%. anche le immagini non abbiamo la certezza che non possano essere lette. e più le sporchiamo più diventa difficile anche per l'occhio umano leggerle.Originariamente inviato da daniele_dll
immaggina il caso dove il motore dello spambot sia fatto in C++ in XUL per farlo andare con FF e poi ci siano dei moduli aggiuntivi in javascript per queste cose ... sarebbe una tragedia dato che tu programmatore dopo che vedi nell'albero del dom dove sta il codice ci stai 1 secondo a dire a js di leggere il valore da li
bisogna scegliere una via di mezzo.
w la topa
ho fatto delle prove anche con js disabilitato e non si entra... almeno un utente normale. poi può essere che il sistema è facilmente aggirabile con spambot sofisticati![]()
w la topa
si quello è vero ... ma si proverebbe a bucare in altro modoOriginariamente inviato da saibal
ovviamente nulla è sicuro al 100%. anche le immagini non abbiamo la certezza che non possano essere lette. e più le sporchiamo più diventa difficile anche per l'occhio umano leggerle.
bisogna scegliere una via di mezzo.
tieni in considerazione che per leggere il testo scritto su un'immagine hai bisogno di un'ocr decente (che ti sei scritto tu cracker o che hai acquistato ed integrato nel tuo spambot) e comunque una notevole potenza di calcolo in + ... almeno un centinaio di volte in +
anche se io sono dell'idea che all'accoppiata user+pass ci dovrebbe stare il ban dell'ip per 24 ore
anche perché ho trovato un bellissimo sistema inteliggente per farlo
su apache le rewrite rules possono andare con delle liste, normali file di testo ... se ogni ora questi file vengono rielaborati si potrebbe creare un'elenco di indirizzi ip che tramite i quali si ridirige un'utente ad una pagina precisa, standard
per intenderci:
RewriteMap banned-ips txt:/path/to/banned_ips
RewriteCond ${banned-ips:%{REMOTE_ADDR}|NOT-FOUND} !=NOT-FOUND
RewriteRule ^/.* /path/to/banned_ips.html [F]
tramite questo hai un sistema leggerissimo perché il file comunque viene mantenuto snello e a generarlo si ci mette un secondo dato che può essere generato tramite cron (o webcron) ed uno script php che non deve far altro che prendere i dati da una lista e creare un'elenco del tipo
IP -
(ovvero indirizzo ip poi uno spazio e per finire un trattino, che serve solo a far dare per valida la lista ad apache)
penso che le due cose messe insieme diano una certa sicurezza
(la classe per generare le bmp è quasi pronta, devo risolvere qualche errore strano e poi è ok)
The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand
finita la classe per generare bitmap
ora mi dedico alla classe per gestire i file in formato fntcodice:$tmp = new BMPGenerator(); $tmp->SetImageInfo(200, 60, 24); $imageData = array(); for($y = 0; $y < $width; $y++) { $imageData[$y] = array(); for($x = 0; $x < $height; $x++) { $imageData[$y][$x] = chr(mt_rand(0, 255)) . chr(mt_rand(0, 255)) . chr(mt_rand(0, 255)); } } $tmp->SetImageData($imageData); $tmp->OutputData();
anche xche se va è possibile generare dei captcha in maniera veloce, senza necessità di usare estensioni e comunque si possono generare basi di partenza interessanti
ad esempio potrei aggiungere un bel metodo statico che inizializza un'oggetto BMPGenerator partendo da una bitmap esistende ed in questo modo selezioni lo sfondo e poi imposti i colori solo dove vuoi
The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand
Originariamente inviato da daniele_dll
ad esempio potrei aggiungere un bel metodo statico che inizializza un'oggetto BMPGenerator partendo da una bitmap esistende ed in questo modo selezioni lo sfondo e poi imposti i colori solo dove vuoi
ok... oppure potresti trombare un po'![]()
grazie mille daniè!
w la topa