Terve, tarvitsisin sellaisen koodin, joka näyttää jonkin tekstin (esim. S5DF32) ja siinä olisi tommoinen laatikko, johon pitää kirjoittaa tämä. Jos se menee oikein, lomakkeen voi lähettää, jos väärin, ei voi lähettää.
Kannattaisi vihdoinkin jo opetella käyttää sitä PHP:tä edes vähän. Tuollaiset luonnistuu sillä aika helposti...
Jos jonkinlaista captchaa meinasit niin netti on pullollaan valmiita virityksiä kuin myös tutoja, joten googlen kautta..
Tämä tarkistus kannattaa tehdä palvelinpuolella (eli PHP:lla), koska asiakaspuolella se on aina kierrettävissä. Eli lomake lähetetään joka tapauksessa, mutta sitä ei käsitellä, ellei tarkistus onnistu.
Tehtävä on siinä määrin helppo, että suosittelen lämpimästi PHP:n alkeisiin tutustumista.
<?php if(!$_POST['teksti']) { $lol = rand(1, 10); setcookie("asd", $lol); } $tark = $_COOKIE['asd']; if($tark == $_POST['tarkistus']) echo "Jeespox, läpi meni"; else // TÄHÄN HTML echo "äksdee"; ?>
Oon nyt vähän perjantai-illan tuiskeessa ja en jaksanu tarkistaa toimiiko tuo,
mut kuha huvikseen väänsin. :P
Smuliii kirjoitti:
Jos jonkinlaista captchaa meinasit niin netti on pullollaan valmiita virityksiä kuin myös tutoja, joten googlen kautta..
Harmi vaan, että en tiedä noita nimiä, joten vaikea etsiä Googlella.
Kuten ennenkin olen sanonut, katson ensin Googlesta ja sitten kysyn.
Triton:
Sitä PHP'tä ei opetella ihan yhdessä tunnissa.
Rocceri kirjoitti:
Smuliii kirjoitti:
Jos jonkinlaista captchaa meinasit niin netti on pullollaan valmiita virityksiä kuin myös tutoja, joten googlen kautta..
Harmi vaan, että en tiedä noita nimiä, joten vaikea etsiä Googlella.
Kuten ennenkin olen sanonut, katson ensin Googlesta ja sitten kysyn.
Sen takia varmaankin tuo olikin lihavoituna, että tämä se avainsana on.
Rocceri kirjoitti:
Triton:
Sitä PHP'tä ei opetella ihan yhdessä tunnissa.
Jos ensimmäisen kysymyksesi sijaan tällä foorumilla olisit ruvennut opiskelemaan PHP:ta, osaisit jo yhtä sun toista.
Kannattaa mieluummin tehdä kuva GD-kirjaston avulla.
Ihan sattumalta törmäsin netissä erinomaiseen captcha-tutoon ja jaanpa linkin kaikille: http://www.bitrepository.com/web-programming/php/a-basic-captcha-with-refresh-feature.html
Kamoon, miksei mun skripti käy??
ankzilla kirjoitti:
Kamoon, miksei mun skripti käy??
Tarviiko siinä evästeillä lähteä leikkimään?
@ankzilla: Tuollaisen evästeen sisällön voi automaattisella spämmiskriptillä ohittaa lisäämällä sen serverin antaman merkkijonon aina siihen tarkistuskenttään. Ei tarvitse edes kuvasta tunnistaa niitä merkkejä, kun palvelin lähettää oikean merkkijonon täysin selkokielisenä!
Parempi tapa on säilyttää captchan oikea vastaus serverillä SESSION:n avulla.
Mun mielestä näppärin tapa että tarkistuskoodi kirjoitetaan tekstikenttään, johon ei voi kirjoittaa, ja siitä pitää kopioida esim. 1., 3. ja viimeinen merkki tarkistuskenttään ja tarkistaa PHP:llä menikö oikein.
Rocceri kirjoitti:
Triton:
Sitä PHP'tä ei opetella ihan yhdessä tunnissa.
Nää asiat, mitä sä olet kysynyt PHP:n osalta, niin onnistuu tehdä lukemalla
Putkan php-oppaat läpi ja ne kyllä ehtii lukemaan tunnissa parissa...
Sessionit on mahdollista ottaa pois selaimesta käytöstä => käyttäjä ei saa lomaketta vaan lähetettyä. Ainoa, ehkä toimiva tapa, on tekstitiedostoon kirjoittaminen. Joten tekstitiedostoon pitäisi laittaa tyyliin:
123.123.123|AQ3jO2l 321.321.321|ejI3Ol2
Olli kirjoitti:
Sessionit on mahdollista ottaa pois selaimesta käytöstä => käyttäjä ei saa lomaketta vaan lähetettyä. Ainoa, ehkä toimiva tapa, on tekstitiedostoon kirjoittaminen. Joten tekstitiedostoon pitäisi laittaa tyyliin:
123.123.123|AQ3jO2l 321.321.321|ejI3Ol2
Ei ei ei, et voi ottaa sessioita selaimesta pois päältä ottamatta myös keksejä pois, ei selain tiedä että juuri tämän keksin sisältöä käytetään johonkin sessiotunnistukseen. Kerropas miten tuossa käy jos samasta ip:stä on useita yhtäaikaa? Veikkaanpa että pieleen menee. Kerropas sitten se että miksi käyttäjällä ei olisi keksejä enabloituna jos johonkin rekisteröityy ja niitä tarvitaan kirjautuniseen. Vai tähänkinkö tuollainen purkka? Se olisi jo selvä tietoturvariski, ip:t kun vaihtuvat.
Aihe on jo aika vanha, joten et voi enää vastata siihen.