| Et non pour résoudre le problème il faut remplacer à la fin:
else
{
echo '';
}
par
else
{
header('Location: index.php');
}
Et voilà le robot moteur de recherche detectera alors qu'il a déjà visité l'index, il ne va pas l'indexer puisque c'est une boucle ;) Répondre à Benjamincom | 16 dcanl, le 29 déc 2008 à 17:13:35Le test n'est toujours pas bon...
Si le mail arrive à s'envoyer, alors affichage du message.
Sinon retour à l'index.
En quoi le fait que ce soit un moteur de recherche qui accède à la page empêcherait le mail de s'envoyer ???
Et puis, petite faute de frappe : ce n'est pas Form mais From qu'il faut lire dans la fonction mail. ;)
Quand la merde tombe du ciel, le malchanceux n'a pas de chapeau.
Répondre à dcanl | Le but n'est pas d'empecher le mail de s'envoyer mais d'empecher le robot d'indexé cette page dans ces résultats ;)
Pour From, une petite faute de frappe peu arriver. Répondre à Benjamincom | 18 dcanl, le 29 déc 2008 à 21:56:48Oui et bien justement, je ne vois pas en quoi cela empêche le robot d'indexer la page et de déclencher l'envoi de mail par la même occasion.
Le robot va trouver le lien, y aller, déclencher l'envoi du mail et indexer le contenu de la condition (le echo)...
A moins que je me plante auquel cas faut m'expliquer ! ;)
Je croyais que le but était de n'envoyer un mail qu'en cas d'aspiration par un logiciel aspirateur de site...
Là y'a aucun filtre, tout ce qui arrive sur cette page enverra le mail. Jamais on ne passera dans le else, sauf si la fonction mail ne fonctionne pas correctement.
Quand la merde tombe du ciel, le malchanceux n'a pas de chapeau.
Répondre à dcanl | Ok merci je viens de le mettre en ligne
mais ca ne marche pas j ai mis cela c est juste
<?php
$adresse = mon adresse.fr'; // Ton adresse email
$sujet = 'Une personne a aspiré votre site';
$message = 'Votre site a été aspiré avec '.$_SERVER['HTTP_USER_AGENT']."\\n";
$message = 'depuis '.$_SERVER['SERVER_ADDR'];
if(mail($adresse, $sujet, $message, 'From: noreply@php.net'))
{
echo '<h1>Vous avez aspiré ce site</h1>Un email vient d\'être envoyé au propriétaire de ce site pour lui signaler la réalisation d\'un copie de son site.';
}
else
{
header('Location: index.html');
}
?>
j ai essaier avec hhttrack
merci Répondre à audi68 | Audi =>
Teste comme ça:
<?php
$adresse = 'ton-adresse@email.com'; // Ton adresse email
$sujet = 'Une personne a aspiré votre site';
$message = 'Votre site a été aspiré avec '.$_SERVER['HTTP_USER_AGENT'];
$message. = ' depuis '.$_SERVER['SERVER_ADDR'];
if(mail($adresse, $sujet, $message, 'From: noreply@php.net'))
{
header('Location: index.html');
echo '<h1>Vous avez aspiré ce site</h1>Un email vient d\'être envoyé au propriétaire de ce site pour lui signaler la réalisation d\'un copie de son site.';
}
?>
Répondre à Benjamincom | 22 dcanl, le 30 déc 2008 à 09:39:21Il n'empêche que je ne vois toujours pas en quoi cela correspondrait à ce que vous voulez faire...
Ca enverra le mail dans tous les cas... Robot de moteur de recherche, utilisateur, aspirateur...
Sauf si la fonction mail ne fonctionne pas.
Quand la merde tombe du ciel, le malchanceux n'a pas de chapeau.
Répondre à dcanl | J'arrête la disscution ici puisque tu ne cherche pas à comprendre ce que j'ai dit plus haut, mais surtout tu n'a même pas suivi la disscution depuis le début. Je me retire de cette discussion ! Répondre à Benjamincom | Arreter de vous prendre la tete
moi je veut un truc efficace pour ne pas me faire aspirer le site c est tous
benjamino ton programme est tres bien je suis content mais par contre je n es tjrs pas eu un retour de mail
je l es nommé detect_asp.php
<?php
$adresse = 'mon mail@free.fr'; // Ton adresse email
$sujet = 'Une personne a aspiré votre site';
$message = 'Votre site a été aspiré avec '.$_SERVER['HTTP_USER_AGENT'];
$message. = ' depuis '.$_SERVER['SERVER_ADDR'];
if(mail($adresse, $sujet, $message, 'From: noreply@php.net'))
{
header('Location: index.html');
echo '<h1>Vous avez aspiré ce site</h1>Un email vient d\'être envoyé au propriétaire de ce site pour lui signaler la réalisation d\'un copie de son site.';
}
?>
prq ca ne marche pas?
Merci de ton aide Répondre à audi68 | SALUT
tu peux le faire avec le
RewriteCond %{HTTP_USER_AGENT}
Met cette list d aspirateurs dans ton .htacess
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} "Collage" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "Custo" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "Download Wonder" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "ESIRover" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "GetBot" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "GetURL" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "GetWeb" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "HavIndex" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "httrack" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "InfoSpiders" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "Internet Explore" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "Jeeves" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "jpeg hunt" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "KDD Explorer" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "LightningDownload" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "PBWF" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "Shai'Hulud" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "SpiderBot" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "ssearcher100" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "Templeton" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "vobsub" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "w3mir" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "WebBandit" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "WebCatcher" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "webcopier" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "WebCopy" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "WebFetcher" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "WebMirror" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "WebReaper" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "webvac" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "WebWalk" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "wGet" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "xGet" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "atSpider" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "autoemailspider" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "cherrypicker" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "DSurf" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "DTS Agent" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "EliteSys Entry" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "EmailCollector" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "EmailSiphon" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "EmailWolf" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "Mail Sweeper" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "munky" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "Roverbot" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "eCatch" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "MemoWeb" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "Teleport Pro" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "WebCopier" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "WebZIP" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "WebEmailExtrac" [NC]
RewriteRule .* - [F,L]
on peut passer outre en modifiant l'UA utilisé mais ca devrais bloquer 99% des utilisateurs d aspirateurs qui ne savent pas les configurer pour cela :-))
RAD
♣ La plus grande erreur que puisse faire un homme est d'avoir peur d'en faire une. ♣ Répondre à RAD ZONE | Merci rad de ta reponse j ai copier comme tu l as mis
et mis dans un fichier .htaccess a la racine du site
le probleme c es qu il ne s affiche plus Répondre à audi68 |
| Merci rad de ta reponse j ai copier comme tu l as mis
et mis dans un fichier .htaccess a la racine du site
le probleme c es qu il ne s affiche plus Répondre à audi68 |
| Tu est chez free ??
♣ La plus grande erreur que puisse faire un homme est d'avoir peur d'en faire une. ♣ Répondre à RAD ZONE |
|
|
| 31 dcanl, le 30 déc 2008 à 16:08:31Benjamincom, tu es bien nerveux... J'ai bien suivi la conversation depuis le début contrairement à ce que tu affirmes. Je suis même le premier à avoir répondu. Et j'ai lu tous les posts du topic. Je crois par contre que c'est toi qui ne cherche pas à comprendre où je veux en venir.
Ton truc d'envoi de mail, je le trouve pas fiable puisque n'importe quoi peut déclencher ce mail, même un utilisateur quoique tu en penses (noir sur noir, peu importe, suffit d'une fois, tu sélectionnes tout et voilà).
Le mieux serait pourtant bien de pouvoir contrôler ce qui déclenche le script. Donc si tu avais donné une solution avec une condition filtrant les principaux moteurs de recherche, cela aurait été mieux à mon sens.
Maintenant, celui qui pose la question, c'est audi68. Pourquoi partir de cette discussion au détriment de celui-ci ?
Bref, passons.
Audi68, si le mail ne s'envoie pas, ce qui apparemment est le cas, essaie en faisant cela (je ne ferai aucun commentaire quant à ce que je pense de ce script puisque son auteur est trop susceptible pour les accepter) :
<?php
$adresse = 'mon mail@free.fr'; // Ton adresse email
$sujet = 'Une personne a aspiré votre site';
$headers='From:'.$adresse ."\r\n".'To:'.$adresse ."\r\n".'Subject:'.$sujet."\r\n".'Content-type:text/plain;charset=is-8859-1'."\r\n".'Sent:'.date('l, F d, Y H:i');
$message = 'Votre site a été aspiré avec '.$_SERVER['HTTP_USER_AGENT'];
$message. = ' depuis '.$_SERVER['SERVER_ADDR'];
if(mail($adresse, $sujet, $message, $headers))
{
header('Location: index.html');
echo '<h1>Vous avez aspiré ce site</h1>Un email vient d\'être envoyé au propriétaire de ce site pour lui signaler la réalisation d\'un copie de son site.';
}
?>
Je ne suis pas très habile avec l'URL rewriting (solution de RAD ZONE), je ne peux donc juger de la qualité de la solution.
Ceci dit, je tiens à signaler que si tu es hébergé chez free, cette fonctionnalité n'est pas activée sur les serveurs, et cette solution ne pourra donc fonctionner.
Par ailleurs, j'ai eu moi aussi pas mal de problème avec la fonction mail chez free. J'ai du passer par d'autres méthodes pour m'envoyer des e-mails (toujours par php mais en utilisant des classes spécifiques, phpmailer et class.smtp en l'occurence).
Peut-être creuser de ce côté, voir sur les newsgroups de free (s'ils existent toujours) si d'autres utilisateurs rencontrent des problèmes avec la fonction mail...
Toujours si tu es chez free, essaie également de passer sur le moteur php5 en ajoutant en première ligne de ton fichier .htaccess à la racine de ton site la ligne
php 1
La fonction mail fonctionne peut-être mieux avec cette version de php chez free.
@+
Quand la merde tombe du ciel, le malchanceux n'a pas de chapeau.
Répondre à dcanl | Merci de ta reponse mais ca ne vas tjrs pas
pour l instant je n avais pas de probleme avec l envoi de mail
moi ce que j aimerais c es un fichier comme rad a donnée c es ca que je recherhce
Mais bon savoir si le site est aspiré c es aussi bien Répondre à audi68 | 34 dcanl, le 30 déc 2008 à 16:26:44Tu peux aussi faire des conditions en php...
Tu crées un tableau qui contient les UA indiqués par RAD.
Et tu testes...
Si l'UA du visiteur est présent dans le tableau
alors tu rediriges vers une page avec un message comme quoi tu as détecté l'aspiration
@+
Quand la merde tombe du ciel, le malchanceux n'a pas de chapeau.
Répondre à dcanl |
| 35 dcanl, le 30 déc 2008 à 16:34:02Pour illustrer mes propos, exemple :
<?php
$aspirateurs = ("Collage", "Custo", "ESIRover" ................); // liste de tous les UA que tu souhaites bloquer
if(in_array($_SERVER['HTTP_USER_AGENT'], $aspirateurs)) // si l'UA est dans la liste des interdits
{
echo "Vous avez aspiré ce site en utilisant ".$_SERVER['HTTP_USER_AGENT'];
echo "Ceci est interdit !";
// éventuellement tu peux t'envoyer un mail
}
else
{
?>
<!-- LE CODE HTML DE TOUTE TA PAGE -->
<?php
}
?>
@+
Quand la merde tombe du ciel, le malchanceux n'a pas de chapeau.
Répondre à dcanl |
|
|
|
|
|
|
| Ralalalala c'est pas vrai ? Pfff si a la base le lien pointant vers cette page est noir (par exemple) sur un fond noir comment veux tu qu'un visiteur clique dessus ? Donc il n'y aura que des robots qui ouvriront se lien et de toute façon tu peux vérifier si c'est un robot ou un visiteur puisque c'est marqué dans l'email. Et si c'est un moteur de recherche et beh là il va detecter que ce lien pointe vers index.html (puisqu'il y a redirection immédiate) et il va se souvenir qu'il a déjà indexé l'index donc pas de prob. Ok ? Répondre à Benjamincom |
|
|
|
|