Jump to content
php.lv forumi

Recommended Posts

Posted

Hallo ! Ir viesugraamata, kuraa spamo viagras spamboti, laikam biju tik naivs, ka neuztaisiiju nevienu papildus nosaciijumu pie komentaara ievietoshas ( piemeeram vizuaalais apstiprinaajums ), no saakuma bija paaris ieraksti, peec tam jau desmitiem, piegriezaas un nonjeemu SUBMIT pogu nost ( lai nebuutu iespeeja pievienot komentaarus ), bet naakamajaa dienaa veru valjaa, un atkal pilns ar spamu ! Kaa tas ir iespeejams ? Un kaa tikt valjaa no bota, ja pat nav forma, kuraa var pievienot komentaarus ! Komentaari tiek pievienoti db !

  • Replies 31
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted

hmm, nevajadzētu tam tā būt. Uzliec kaut kādu vienkāršu aizsardzību, piemēram lai ievada kādu vārdu, ja nav miers, tad kaut kas nav riktīgi kodā.

Posted (edited)

<META NAME="ROBOTS" CONTENT="NONE">


// robots.txt

User-agent: *
Disallow /

 

+ Lieto CAPCHA

 

 

Nu laikam tad jau caurs skripts pilns ar bugiem ... skaties kur kas ir ...

Edited by 777
Posted

un kaa, piemeeram, paarbaudiit vai ir ievadiits tieshi, tas ko veelos, piemeeram, ievadi QWS, ar

if(strlen($name)<1){
die("Ievadi <b>niku</b> !");

kodu es paarbaudu lauka garumu, bet kaa paarbaudiit vai ir preciizi qws ?

paskatiishos, kas ar to formu

Posted
nonjeemu SUBMIT pogu nost ( lai nebuutu iespeeja pievienot komentaarus )

Tas jau nepalīdzēs pret spambotiem. Noņem skriptu, kas pieņem komentāru.

 

Vēl viens ātrais risinājums ir pielikt formai slēptu lauku un ar javaskriptu to pamainīt. Skripts, kas pieņem komentāru uztaisa nelielu pārbaudīti un vajadzības gadījumā paziņo: "Eu, čali, ieslēdz JS". (Par interaktivitāti tomēr jāmaksā ieslēdzot JS)

<form onsumbit="document.getElementById('checkspammers').value=0;">
<input id="checkspammers" type="hidden" name="checkspammers" value="1">

Posted

vispar vari lietot

 

<input type="hidden" name="SID" value="<?=session_id(); ?>">

 

un tad kad parbaudi

 

if(empty($_POST['SID']))
{ 
 echo "Bye bye BOT!";
}

Posted (edited)

andrisp, es vienkarsi pirmo reiz izlasiju kaut ka liiki, un likas ka vins par BOTIEM runa, tapec ari iemetu vinam, pec tam izlasiju kartiigak, un sapratu problemu ...

 

User-agent: * 
Disallow: /

 

nez, google rekomende sadi :) lietoju disallow tikai uz mapem kur glabajas configuracijas fails

Edited by 777
Posted (edited)

... un kaa ar to qws ?ja pievienoju paarbaudes lauku, cik ir 2 + 2, kaa lai paarbauda, ka ir ievadiits tieshi 4

Edited by sLiEkA
Posted (edited)

var generet katru ciparu atseviski

un pec tam

$security = ($value1+$value2);
if($_POST['sec_code'] != $security)
{
  echo "Matematika tev laikam iet gruuti!";
}

 

bet neesmu parliecinats ka tas ir vissefektivakais veids

 

pamekle interneta, ir jabut daudz taadu lietu, mekle pec varda CAPTCHA

Edited by 777
Posted

Tiešām tik grūti uztaisīt to drošības koda koda attēlu?

Un man nav nekādu iebildumu, likt apmeklētājiem rēķināt pirmās klases matemātiskus uzdevumus.

Posted (edited)

Nu robots.txt neko sliktu nedara, bet no spambotiem arī nepasargās.

Ar php uzlikt uzģenerētu vizuālo kodu jau nav grūti, nu tādu vienkāršu, taču tiem, kuri ar to nav nekad noņēmušies, nemaz tik vienkārši tas laikam nebūs.

Iemetu te primitīvs koda ģenerātors GIF.

Tas gan ģenerē tikai pašu kodu, lai to pārbaudītu vai lietotājs ievadijis pareizi, protams vajag arī kaut kur noglabāt uz laiku pašu kodu ar ko salīdzināt.

Edited by mounkuls
Posted

Boti neizpilda Javascript, bet zin, kas ir OCR.

<?php
$_SESSION['token']=md5(session_id().$_SERVER['USER_AGENT']);
<form action="kautkas.php" method="post" id="forma">
<script type="text/javascript">
	document.getElementById('forma').action = "addComment.php?token=<?=$_SESSION['token'];?>";
</script>
<noscript>
<p>Lai izmantotu formu, ieslēdz JavaSkriptu!</p>
</noscript>
	 <!--Visāda figņa-->
</form>

Savukārt, addComent.php pārbaudītu token'u

Posted

Papildus minētajiem ir variants formā izveidot lauku, kuru ieliek DIVā, kurš ar CSS padarīts neredzams. Parasts lietotājs to neaizpildīs, bet ir liela iespēja, ka spambots to aizpildīs (jo domās, ka tas ir spamojams lauks), tāpēc pie formas datu apstrādes vienkārši veic pārbaudi, vai attiecīgais lauks ir tukšs.


×
×
  • Create New...