Log des robots qui passent sur le site

Soyez le premier à donner votre avis sur cette source.

Snippet vu 6 121 fois - Téléchargée 18 fois

Contenu du snippet

Idée reprise d'un script PHP posté par etiennexxx9 (http://www.phpcs.com/code.aspx?ID=43368)

Ce petit script permet de prendre en note les robots qui passent sur le site.

Le principe est assez simple: on simule un fichier robots.txt. Pour ce faire, il suffit de créer un dossier de ce nom et d'y placer un index.php contenant le script de log. Lorsque les robots iront chercher le fichier robots.txt, le serveur exécutera le fichier robots.txt/index.asp et renverra le contenu d'un fichier robots.txt normal (configurable dans le code).

Source / Exemple :


<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
Option Explicit
Session.LCID = 4108    ' pour le format européen

Sub Ecrire_fic(name, root, quoi)
	Dim Fichier, Ecrirefichier, pathfile
	Set Fichier = Server.CreateObject("Scripting.FileSystemObject")
	pathfile = Server.mapPath(root & "\" & name)
	Application.Lock
	Set Ecrirefichier = Fichier.OpenTextFile(pathfile, 8, TRUE)
	Ecrirefichier.Write(quoi)
	Application.Unlock
	set Ecrirefichier = nothing
	set Fichier = nothing
End sub

dim HW, IP, UA, ligne

HW = Request.ServerVariables("HTTP_HOST")    ' dans le cas ou vous avez plusieurs alias de sites pointant sur le même espace serveur
IP = Request.ServerVariables("REMOTE_ADDR")
UA = Request.ServerVariables("HTTP_USER_AGENT")

ligne = HW & ": " & IP & " - " & now() & " - " & UA & VbCrLf

Call Ecrire_fic("robots.log", ".", ligne)
Response.Write("User-agent: *" & VbCrLf)
Response.Write("Disallow: " & VbCrLf)
%>

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.