Jump to content
php.lv forumi

Botu atpazīšana PHP pusē


jurchiks

Recommended Posts

Izveido .js pusē cilvēka validāciju. Piem., skaiti peles nobrauktos mm ,ja touch, tad touch eventos start end nobraukto distanci. Šifrē saites, lai nav atklātā veidā pieejamas pirmkodā. Idejas vairāk kā vajag.. :D

Traks neesi? Tas jau nu ir galīgi priekš paranoiķiem.

Man vajag, lai search crawleri neuzrādās, ne jau burtiski visi eksistējošie boti, neiešu tak laiku tērēt.

Ar rel="nofollow" pietiek redirektiem uz ārējām lapām, bet vēl jāatrisina tas pats, kad crawleris meklē kaut ko manā lapā - meklējamais kritērijs un rezultātu skaits saglabājas datubāzē, bet vajag, lai crawleru meklējumi neskaitās.

Link to comment
Share on other sites

Šajā gadījumā nofollow neder, search crawleris crawlo viņam zināmos URLus, kas ir meklējumi manā saitā vai "others searched for" linki rezultātu apakšā. Man vajag, lai bots šīs lapas indeksē, bet man nevajag, lai logos uzrādītos visi bota radītie meklējumi, tikai tie, kurus veikuši reāli cilvēki.

Tāpēc arī JS čekošana neder, jo reāli tas pieprasījums tiek ielogots jau pirms tiek parādīta lapa.

Edited by jurchiks
Link to comment
Share on other sites

Vienkāršs bet pietiekami efektīvs variants varētu būt sesijas uzsetošana ar last_visited laiku un čekot pieprasījumu intervālu. Ja iet zem pāris sekundēm,tad ielogo kā botu. Savukārt nekādas user agent listes vai javascripti nepalīdzēs,ja tavs saturs ir tik vērtīgs ka kāds būs nopietni nolēmis to iegūt. Tādus botus raksta uz pasūtījumu,un neatšķirsi no parasta usera tāpat.

Link to comment
Share on other sites

Saturs nav vērtīgs, par to var neuztraukties. Parasts search engine.

@Zefirs - vai visiem populārajiem crawleriem/botiem vispār palaižās JS? Es par botiem zinu gaužām maz.

 

Bet anyway, topika jautājums ir "bota atpazīšana PHP pusē", nafig visi man grūž JS? Tā nav atbilde uz jautājumu, tā ir alternatīva, par kuru es nevēlos domāt. Es client-side vispār neuzticos.

Edited by jurchiks
Link to comment
Share on other sites

  • 2 weeks later...

Es filtrēju ļoti primitīvi, jo filtrēt pēc IP range katru meklējumu patērē nevajadzīgi daudz laika:

if (preg_match('/crawler|bot|spider|http:/iu', $_SERVER['HTTP_USER_AGENT']))
{
    // ir bots vai kkāds parseris
}

Logoju visus user agentus, kas tiek šim cauri, pagaidām izskatās, ka pietiek, bijuši tikai pāris dīvaiņi: "Java 1.7.0_01", "python-urllib", "siclab ([email protected])" un "VB Project" + vēl "Mozilla/4.0" bez nekā cita.

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...