Mr.Key Posted June 6, 2008 Report Share Posted June 6, 2008 visur kur skatos, ir vieniigi maksas CAPTCHA, un par to ciparu uzgjenereeshanu, varbuut var paluugt kaadu piemeeru ? http://www.hotscripts.com/Detailed/61803.html Link to comment Share on other sites More sharing options...
Grey_Wolf Posted June 6, 2008 Report Share Posted June 6, 2008 Ir viesugraamata, kuraa spamo viagras spamboti, ? Un kaa tikt valjaa no bota, ja pat nav forma, kuraa var pievienot komentaarus ! Komentaari tiek pievienoti db ! 1. Dodu lielu % ka izmantoji jau gatavu kodu ... 2. Lai nosuutiitu datus uz Serveri forma nebuut nav nepieciesama Tu tachu nedomaa , ka SpamBotts ar klaviaturas paliidziibu ! aizpilda formu --> nu taads Robotinsh ;) Pietiek 1 reizi nokonstateet formas uzbuuvi un viss .... 3. forma visus laukus kas norada uz user vardu (parasti name/nick utt... nomaini uz Vards_xx E_pastcc utt ... tas ir Uz LATviskiem terminiem .... (50% spamboti nokausies pashi par sevi ...) 4. CHAPTI kas sastav no vienkarshiem skaitljiem/simboliem parasti ipashi nepaliidz ..... Izmanto metodes ko var veikt tikai cilveks , teiksim izvadi 3 bildiites ar Dazadiem! prieksmetiem un paluudz ievadiit bildiites Nr kur attlots teiksim Kakjis .... --> spambots Shadu operaciju tiiri fiziski nespej veikt ..... -------- Bet vislabakaa Aizsardziiba ir uzrakstiit formu pasham .... neizmantojot Nekaadus gatavus skriptus .... Cik esmu taisiijis, nesmu vel uzduries ka ciemos naktu Spamboti .... Link to comment Share on other sites More sharing options...
andrisp Posted June 6, 2008 Report Share Posted June 6, 2008 CHAPTI kas sastav no vienkarshiem skaitljiem/simboliem parasti ipashi nepaliidz ..... Vai tieshaam ? Es saprotu, ka ja kaads speciaali tavai formai rakstiis spambotu, tad vienkaarshu captchu nebuus gruuti atpaziit, bet vai tad "general" spamboti speej atpaziit captchas. Kaa arii noteikt, ka tas un tas atteels vot ir captcha, un shii atteela vaartiiba jaaievada tajaa un tajaa laukaa. Bet vislabakaa Aizsardziiba ir uzrakstiit formu pasham .... neizmantojot Nekaadus gatavus skriptus ....Cik esmu taisiijis, nesmu vel uzduries ka ciemos naktu Spamboti .... Kaa tad tu to formu raksti, ka spamboti nenaak ciemos ? Link to comment Share on other sites More sharing options...
bubu Posted June 6, 2008 Report Share Posted June 6, 2008 Bez captčām var mierīgi iztikt. Reku divi visai efektīvi veidi: http://laacz.lv/2005/10/05/piedrlzot-visu-juzabiliti/ http://caurums.lv/Iedarbigs-komentaru-spama-kerajs/ Apvieno abus kopā un dabūsi tuvu (ja pat ne visus) 100% pret-spama aizsardzībai. Link to comment Share on other sites More sharing options...
Aleksejs Posted June 6, 2008 Report Share Posted June 6, 2008 Vēl viens eksotiskāks variants, ja pieļaujama JavaScript izmantošana. Ar pāris ātro pirmskaitļu testu palīdzību uzģenerējam (pareizāk sakot pārbaudam vai randomā uzģenerētie skaitļi varētu būt pirmskaitļi) divus pietiekami lielus (bet ne pārāk lielus) pseidopirmskaitļus (mums nav pat īpaši jāiespringst uz to pirmskaitlīgumu - vismaz ne šī brīža situācijā ciņai ar spambotiem). Atceramies šo skaitļu reizinājumu un aizsūtam to klienta formai, kas ar Javascriptu (te mēs varam iedot klentam kaut vai Eratastena sietu) to sadala pirmreizinātājos (ja klientam paveicas kāds no mūsu uzģenerētajiem skaitļiem nebija pirmskaitlis - tad viņam vajag mazāk resursus) un hidden laukā ieraksta ar komatiem atdalītus pirmreizinātājus. Uz servera sareizinām atsūtītos (ja ir vispār atsūtīti) un pārbaudām, vai sanāk mūsu sūtītais reizinājums (atsūtītie skaitļi var arī nebūt divi, jo kā jau teicu, aizsūtījām pseidopirmskaitļus). Rezultāts - uz servera algoritma sarežģītība zema - uz klienta augsta - tādēļ spambotam, lai izsūtītu daudz spamus ir jāspēj ne tikai aizpildīt pareizie lauki, bet arī jāiegulda skaitļošanas resursi. Parastajam klientam būs novērojama maza aizture (atkarībā no tā cik maniakāli lielus skaitļus mēs aizsūtījām). Man gan šķiet, ka šobrīd pat nevajag iespringt uz lielu pseidopirmskaitļu ģenerēšanu. Kamēr boti nav iemācījušies, var vienkārši ģenerēt 6 ciparu skaitli un prasīt pretī sadalījumu - tas vispār klienta pusē būs nemanāmi. Tātad apvienojot visas iepriekš minētās lietas kopā - uzģenerējam smuku bildīti ar reizinājumu ar skaidri salasāmiem, glītiem cipariem, lūdzam, lai cilvēks tos ieraksta lauciņā. Pie formas nosūtīšanas JavaScripts uzģenerē kanonisko sadalījumu, uz servera pārbaudām, vai tiešām atsūtītie reizinātāji dod gaidīto reizinājumu (ja gribam ļoti iespringt, tad vēl varam katru reizinātāju pārbaudīt, vai tas nav salikts skaitlis). Link to comment Share on other sites More sharing options...
bubu Posted June 6, 2008 Report Share Posted June 6, 2008 Es neteiktu vis, ka uz klienta sanāktu augsta algoritma sarežģītība. Ja pieņem, ka skaitlis ielien 32-bitos, tad tādam atrast divus pirmreizinātājus ir nieks. To var ļoti ātri. Taču, ja skaitlis lielāks par 32-bitu integeru, tad atkal lielāks čakars to visu pašam realizēt. Link to comment Share on other sites More sharing options...
Aleksejs Posted June 6, 2008 Report Share Posted June 6, 2008 Augstāka pēc definīcijas :) Bet nu ok - tas tā, kā jau teicu - eksotiskāka metode. Bez tam - ja klientam pasaka, rēķini ar šo algoritmu un viņš nabags metās rēķināt, tad vari algoritmu padarīt tik sarežģītu, cik gribi :) Link to comment Share on other sites More sharing options...
nemec Posted June 6, 2008 Report Share Posted June 6, 2008 es ko tādu ielieku un uz šo brīdi man pietiek function bot_slower($str) { $org = $str; $js_name = 'my' . rand( 1, rand(1, 100000) ); $js_name1 = 'm' . rand( 1, rand(1, 100000) ); $js_name2 = 'y' . rand( 1, rand(1, 100000) ); $f_symbols = rand( 1, rand(1, 40) ); $f_symbols2 = rand( 1, rand(1, 40) ); $replacement = "\n <script type='text/javascript'>"; $replacement .= "\n <!--"; $replacement .= "\n var $js_name='". substr($str, 0, $f_symbols)."';"; $replacement .= "\n var $js_name1='". substr($str, $f_symbols, $f_symbols2)."';"; $replacement .= "\n var $js_name2='". substr($str, $f_symbols2+$f_symbols)."';"; $replacement .= "\n document.write( $js_name );"; $replacement .= "\n document.write( $js_name1 );"; $replacement .= "\n document.write( $js_name2 );"; $replacement .= "\n //-->"; $replacement .= "\n </script>"; return $replacement; } echo bot_slower('<input type="hidden" name="bot-check" value="i-am-not-bot" />'); Link to comment Share on other sites More sharing options...
andrisp Posted June 6, 2008 Report Share Posted June 6, 2008 rand( 1, rand(1, 100000) ); :> Link to comment Share on other sites More sharing options...
Mikijs Posted June 6, 2008 Report Share Posted June 6, 2008 Man agrak arii bija problema ar spemmeriem tad es uzliku tadu ka intervalu <? // Shitas viss notiek pec submita // ir 3 ievadlauki (vards, epasts, komentars) $sezona="aktiva_sezona"; $intervals=20; # sekundes $tabula="komentari"; if($_POST[vards] && $_POST[komentars]){ if($_POST[epasts]) $email=htmlspecialchars($_POST[epasts]); else $email=""; if($_SESSION[$sezona]){ $uzlikta=$_SESION[$sezona]+$intervals; if($uzlikta<=time()) die("Komentāru intervāls $intervals sekundes!"); else $_SESSION[$sezona]=time(); }else $_SESSION[$sezona]=time(); $vards=htmlspecialchars($_POST[vards]); $komentars=htmlspecialchars($_POST[komentars]); pg_query("insert into $tabula values('', '$vards', '$epasts', '$komentars', '".time()."')"); die("Komentārs pievienots!"); } ?> Link to comment Share on other sites More sharing options...
andrisp Posted June 6, 2008 Report Share Posted June 6, 2008 Mikijs, tik tiešām ir tik grūti iedziļināties problēmā, ja jau centies atbildēt ? Link to comment Share on other sites More sharing options...
Toms Posted June 6, 2008 Report Share Posted June 6, 2008 Neviens spameris nav vēl ticis klāt pēc šādas metodes: HTML + JS: <input type="hidden" name="qwerty" id="qwerty" value="ok"/> <input type="submit" name="add_comment" value="Pievienot" onclick="document.getElementById('qwerty').value='derigs'"/> PHP: if ($_POST['qwerty'] == 'derigs') { // pievienojam } Bubu minētajos linkos - paslēpšanas metode dažreiz nestrādā, jo ne visi boti vienmēr visu aizpilda. Manā gadījumā nav svarīgi vai aizpilda, jo jābūt "derigs". Link to comment Share on other sites More sharing options...
sLiEkA Posted June 6, 2008 Author Report Share Posted June 6, 2008 nesaprotu kpc neiet : Notice: Undefined index: poga in c:\program files\easyphp1-8\www\gb.php on line 3, bet ir tachu nodefineets, name"poga" <input type="text" name="poga" /> <? if($_POST['poga']!= 'lalala') { die("dirst ej"); } ?> Link to comment Share on other sites More sharing options...
Toms Posted June 6, 2008 Report Share Posted June 6, 2008 if (isset($_POST['add_comment'])) { if ($_POST['qwerty'] == 'derigs') { // ievieto } } Link to comment Share on other sites More sharing options...
pilots Posted June 6, 2008 Report Share Posted June 6, 2008 (edited) man palīdz http://vanhegan.net/software/akismet/#download ātri un nesāpīgi ieviešams. komentu apstrādājot ar php: $vars = array(); foreach ( $_SERVER as $key => $val ) { $vars[ $key ] = $val; } $vars["user_ip"] = $ip; $vars["user_agent"] = $_SERVER["HTTP_USER_AGENT"]; $vars["comment_content"] = $komentars; $vars["comment_author"] = $autors; if(akismet_check($vars)){ //spams } else{ //pievienojam } + protams funkcija jāizmanto no manis dotā linka. Edited June 6, 2008 by pilots Link to comment Share on other sites More sharing options...
Recommended Posts