Jump to content
php.lv forumi

Botu atpazīšana PHP pusē


jurchiks

Recommended Posts

Man lapā ir redirektošana uz citām lapām caur PHP skriptu, kurš logo klikšķus, un vajag izfiltrēt ārā botus.

 

Skatos, ka botus/crawlerus var diezgan vienkārši atpazīt, pārbaudot $_SERVER['HTTP_USER_AGENT'], vai, trakāk, čekojot IP adreses.

Gribētu pajautāt, vai kādam nav jau gatavs risinājums šai problēmai, jeb, konkrētāk, saraksts ar botu user agentiem/relevant fragmentiem.

Pēc IP adresēm galīgi negribās čekot, liekas bik pa traku un IMO tas var pamatīgi nobremzēt redirektu, ja brauc cauri masīvam sarakstam ar user agentiem un IP adresēm.

 

Ieteikumi efektīvākai atpazīšanai arī ir vēlami.

 

Nu un tā, kā šī tēma, domājams, interesē daudzus, ne tikai mani, tad būtu lūgums iztikt bez offtopic.

Edited by jurchiks
Link to comment
Share on other sites

Nu un tā, kā šī tēma, domājams, interesē daudzus, ne tikai mani, tad būtu lūgums iztikt bez offtopic.

 

Kuru tad tas vēl varētu ineteresēt, ja normāli cilvēki izmanto gatavus analītikas rīkus, kā google analytics, awstats vai newrelic.

Link to comment
Share on other sites

Boti iet cauri visiem linkiem, atsevišķi linki redirekto uz ārējām lapām, es logoju šos konkrētos redirektus.

Tas, ka bots burtiski neklikšķina uz pelītes kreisā taustiņa, nenozīmē, ka es te kaut ko melšu.

Normāliem lietotājiem tie ir klikšķi uz linkiem.

Edited by jurchiks
Link to comment
Share on other sites

Dari gudri - href saite lai ir īstā ārējā saite un jebkurš bots uzreiz ies uz īsto, bet lietotājiem pārķer mousedown eventu ar javascriptu, ielogo (vienalga kā ,vai caur redirectu, vai ajaxu ar saviem vai gataviem analītikas tūļiem) un tikai tad sūti uz ārejo lapu. Tā kā 99,9% lietotāju ir ar ieslēgtu js, tad šāda sistēma strādā gandriz nevainojami. Pat google tā dara.

Edited by codez
Link to comment
Share on other sites

T.i. ja man ir šāds kods:

<a href="http://rofl.mao/blabla" class="redirect">somelink</a>
<script type="text/javascript">
$('.redirect').click(function()
{
    //log click via ajax
});
</script>

 

tad man neviens bots garantēti neparādīsies? Mousedown gluži neder, jo, cik zinu, tad anchor neredirekto, ja tu uzklikšķini uz viņa, pakustini peli un atlaid pogu kaut kur citur.

 

+ otra lieta - ja man lapā ir oriģinālais links, tad manai lapai samazinās page rank un tai lapai, uz kuru iet links, tas paaugstinās.

Edited by jurchiks
Link to comment
Share on other sites

T.i. ja man ir šāds kods:

<a href="http://rofl.mao/blabla" class="redirect">somelink</a>
<script type="text/javascript">
$('.redirect').click(function()
{
    //log click via ajax
});
</script>

 

tad man neviens bots garantēti neparādīsies? Mousedown gluži neder, jo, cik zinu, tad anchor neredirekto, ja tu uzklikšķini uz viņa, pakustini peli un atlaid pogu kaut kur citur.

 

+ otra lieta - ja man lapā ir oriģinālais links, tad manai lapai samazinās page rank un tai lapai, uz kuru iet links, tas paaugstinās.

 

Prakstiski tas ir garantēts. Nezinu tādu botu, kurš pēksņi no koda sāk saukt js funkcijas ar ajax requestiem, kaut teroētiski protams tas ir iespējams. Tad jau tev būs vairāk botu, kurus nevarēs atšķirt no lietotājiem dēl useragent un ip.

Es domāju, vislabāk izpēti, kā to dara google savā search lapā, kur uz linka vienmēr ir ārējās lapas saite, bet uz mousedown tiek nomainīts href pret logošanas saiti. Tad pat paņemot linku un ievelkot jaunā tabā, nostradā logošana.

 

Īstenībā šādai praksei ir ari labums tāds, ka lietotāji uzbraucot ar peli virsū, redz īsto ārējo saiti.

Edited by codez
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...