Astuces & SCRiPTS pour les webmasters - HTTrack
Copieur de site Web HTTrack - Navigateur hors ligne
Comment limiter les abus de réseau
Q : Comment bloquer les navigateurs hors ligne, comme HTTrack ?
R : C'est une question complexe, Ă©tudions-la.
D'abord, il y a plusieurs raisons Ă cela
. Pourquoi voulez-vous bloquer les navigateurs hors ligne ? :
pour les webmasters
Comment limiter les abus de réseau
FAQ sur le copieur de site Web HTTrack (mise Ă jour - BROUILLON)
Q : Comment bloquer les navigateurs hors ligne, comme HTTrack ?
R : C'est une question complexe, Ă©tudions-la.
D'abord, il y a plusieurs raisons Ă cela
. Pourquoi voulez-vous bloquer les navigateurs hors ligne ? :
- Parce qu'une grande partie de votre bande passante est utilisée par certains utilisateurs, qui ralentissent le reste
- En raison de questions de droits d'auteur (vous ne voulez pas que les gens copient des parties de votre site Web)
- Pour des raisons de confidentialité (vous ne voulez pas que les récupérateurs d'e-mails volent tous les e-mails de vos utilisateurs)
- Abus de bande passante :
de nombreux webmasters sont prĂ©occupĂ©s par l'abus de bande passante, mĂȘme si ce problĂšme est causĂ© par une minoritĂ© de personnes. Les outils des navigateurs hors ligne, comme HTTrack, peuvent ĂȘtre utilisĂ©s d'une mauvaise maniĂšre, et sont donc parfois considĂ©rĂ©s comme un danger potentiel.
Mais avant de penser que tous les navigateurs hors ligne sont MAUVAIS, considĂ©rez ceci : les Ă©tudiants, les enseignants, les consultants en informatique, les internautes et de nombreuses personnes qui aiment votre site Web, peuvent vouloir en copier des parties, pour leur travail, leurs Ă©tudes, pour enseigner ou dĂ©montrer aux gens pendant l'Ă©cole de classe ou les spectacles. Ils peuvent le faire parce qu'ils sont connectĂ©s via une connexion modem coĂ»teuse, ou parce qu'ils aimeraient consulter des pages en voyage, ou archiver des sites qui pourraient ĂȘtre supprimĂ©s un jour, faire de l'exploration de donnĂ©es, compiler des informations ("si seulement je pouvais trouver ce site J'ai vu un jour...").
Il existe de nombreuses bonnes raisons de mettre en miroir des sites Web, et cela aide beaucoup de bonnes personnes.
En tant que webmaster, vous pourriez Ă©galement ĂȘtre intĂ©ressĂ© par l'utilisation de tels outils : testez les liens brisĂ©s, dĂ©placez un site Web vers un autre emplacement, contrĂŽlez les liens externes qui sont placĂ©s sur votre site Web pour un contrĂŽle lĂ©gal/du contenu, testez la rĂ©ponse et les performances du serveur Web, indexez-le ..
Quoi qu'il en soit, l'abus de bande passante peut ĂȘtre un problĂšme. Si votre site est rĂ©guliĂšrement "assailli" par des tĂ©lĂ©chargeurs malĂ©fiques,
plusieurs solutions s'offrent à vous. Vous avez des solutions radicales, et des solutions intermédiaires. Je recommande fortement de ne pas utiliser
de solutions radicales, à cause des remarques précédentes (les bonnes personnes reflÚtent souvent des sites Web).
En général, pour toutes les solutions,
le bon : ça limitera l'abus de bande passante
le mauvais : selon la solution, ce sera soit une petite contrainte, soit une nuisance fatale (vous aurez 0 visiteurs)
ou, pour ĂȘtre extrĂȘme : si vous dĂ©branchez le cĂąble, il n'y aura pas d'abus de bande passante- Informez les gens, expliquez pourquoi ("veuillez ne pas encombrer la bande passante")
Bon : travaillera avec de bonnes personnes. Beaucoup de bonnes personnes ne SAVENT tout simplement pas qu'elles peuvent ralentir un réseau.
Mauvais : Ne travaillera **qu'** qu'avec de bonnes personnes
Comment faire : Ăvident - placez une note, un avertissement, un article, un tirage au sort, un poĂšme ou tout ce que vous voulez - Utiliser le fichier « robots.txt »
Bon : facile Ă configurer
Mauvais : facile Ă remplacer
Comment faire : créer un fichier robots.txt dans le répertoire supérieur, avec les paramÚtres appropriés
Exemple :
agent utilisateur : *
Interdire : /bigfolder - Interdire les navigateurs hors ligne enregistrés User-agents Bon : Facile
Ă configurer
Mauvais : Radical et facile Ă remplacer - Limiter la bande passante par IP (ou par dossiers)
Bon : Efficace
Mauvais : Plusieurs utilisateurs derriĂšre des proxies seront ralentis, pas vraiment facile Ă configurer
Comment faire : DĂ©pend du serveur web. Peut ĂȘtre fait avec des rĂšgles IP de bas niveau (QoS) - Donner la prioritĂ© aux petits fichiers plutĂŽt qu'aux gros fichiers
Bon : Efficace si les fichiers volumineux sont la cause d'abus Mauvais
: Pas toujours efficace - Interdire les IP abuseurs
Bon : Solution immédiate
Mauvais : Ennuyeux Ă faire, inutile pour les IP dynamiques, et pas trĂšs convivial
Comment faire : Soit interdire les IP sur le pare-feu, soit sur le serveur web (voir ACLs) - Limiter les IP abuseurs
Bon : Solution intermédiaire et immédiate
Mauvais : Ennuyeux Ă faire, inutile pour les IP dynamiques, et ennuyeux Ă maintenir..
Comment faire : Utiliser la routine QoS (fair queueing), ou les options du serveur web - Utiliser des astuces techniques (comme le javascript) pour masquer les URL
Bon : Efficace
Mauvais : Les astuces les plus efficaces rendront aussi votre site web lourd, et peu convivial (et donc moins attractif, mĂȘme pour les internautes). N'oubliez pas : les clients ou les visiteurs peuvent souhaiter consulter votre site Web hors ligne. Les utilisateurs avancĂ©s pourront Ă©galement toujours noter les URL et les attraper. Ne fonctionnera pas sur les navigateurs non-javascript. Cela ne fonctionnera pas si l'utilisateur clique 50 fois et met les tĂ©lĂ©chargements en arriĂšre-plan avec un navigateur standard
Comment faire : La plupart des navigateurs hors ligne (je dirais tous, mais disons la plupart) sont incapables de "comprendre" correctement javascript/java. Raison : trÚs délicate à manipuler !
Exemple :
Vous pouvez remplacer :
<a href="bigfile.zip">Foo</a>
par :
<script language="javascript">
<!--
document.write('<a h' + 're' + 'f="');
document.write('bigfile' + '.' + 'zip">') ;
// -->
</script>
Foo
</a>
Vous pouvez Ă©galement utiliser des applets Java. Je dirais que c'est la "meilleure des horreurs". Une applet Java grosse, grasse, lente et bidon. Ăviter de!
Utilisez des astuces techniques pour retarder les navigateurs hors ligne
. . Cela ne fonctionnera pas si l'utilisateur clique 50 fois et met les téléchargements en arriÚre-plan avec un navigateur standard
Comment faire : créer de faux liens vides qui pointent vers des cgi, avec de longs
délais 12786549"><rien></a> (exemple en php :)
<?php
for($i=0;$i<10;$i++) {
sleep(6);
Ă©cho " ";
}
?>- Utiliser des astuces techniques pour bannir temporairement les adresses IP
Bon : Efficace Mauvais :
Radical (votre site ne sera disponible qu'en ligne pour tous les utilisateurs), pas facile à configurer ="killme.cgi"><nothing></a> (encore un exemple en php :)<?php // Ajouter une IP. add_temp_firewall_rule($REMOTE_ADDR,"30s"); ?> fonction add_temp_firewall_rule($addr) { // La chaßne chhttp est vidée dans une tùche cron pour éviter le débordement d'ipchains system("/usr/bin/sudo -u root /sbin/ipchains -I 1 chhttp -p tcp -s ".$addr." --dport 80 -j REJECT"); syslog("utilisateur rejeté car trop de tentatives de copie : ".$addr); }
- Informez les gens, expliquez pourquoi ("veuillez ne pas encombrer la bande passante")
- ProblĂšmes de droits d'auteur
Vous ne voulez pas que les gens "volent" votre site Web, ou mĂȘme en copient des parties. Tout d'abord, voler un site Web ne
nécessite pas d'avoir un navigateur hors ligne. DeuxiÚmement, la copie directe (et créditée) est parfois meilleure que le
plagiat déguisé. D'ailleurs, plusieurs remarques précédentes sont également intéressantes ici : plus votre site web sera protégé,
moins il sera potentiellement attractif. Il n'y a pas non plus de solution parfaite. Un webmaster m'a demandé un jour
de lui donner une solution pour empĂȘcher toute copie de site web. Non seulement pour les navigateurs hors ligne, mais aussi contre "enregistrer sous",
couper et coller, imprimer... et imprimer l'écran. J'ai répondu que ce n'était pas possible, surtout pour l'écran d'impression - et
qu'une autre menace potentielle Ă©tait le mauvais photographe. Peut-ĂȘtre avec un "ce document s'autodĂ©truira dans 5 secondes.."
ou en tirant sur les utilisateurs aprÚs avoir consulté le document.
Plus sérieusement, une fois qu'un document est placé sur un site web, il y aura toujours des risques de copie (ou de plagiat)
Pour limiter le risque, les solutions a- et h- prĂ©cĂ©dentes, dans la section "abus de bande passante", peuvent ĂȘtre utilisĂ©es - ConfidentialitĂ©
Peut-ĂȘtre liĂ© Ă la section 2.
Mais le plus grand risque est peut-ĂȘtre les attrapeurs d'e-mails.- Une solution peut ĂȘtre d'utiliser javascript pour masquer les e-mails.
Bon : Efficace
Mauvais : Les navigateurs non-javascript n'auront pas le lien « cliquable »
Comment faire : Utiliser javascript pour construire mailto : liens
Exemple :
<script language="javascript">
<!--
function FOS(host,nom,info ) {
var s;
si (info == "") info=nom+"@"+hĂŽte ;
s="courrier" ;
document.write("<a href='"+s+"Ă :"+nom+"@"+host+"'>"+info+"</a>");
}
FOS('mycompany.com','smith?subject=Salut, John','Cliquez ici pour m'envoyer un e-mail !')
// -->
</script> - Une autre consiste à créer des images d'emails
Bon : Efficace, ne nécessite pas de javascript
Mauvais : Il y a toujours le problÚme du lien (mailto :), les images sont plus grosses que le texte, et ça peut causer des problÚmes aux non-voyants (une bonne solution est utilisez un attribut ALT avec l'e-mail écrit comme "smith at mycompany point com")
Comment faire : Pas si Ă©vident que vous ne vouliez pas crĂ©er d'images par vous-mĂȘme
Exemple : (php, Unix)
<?php
/*
Email contact displayer
Utilisation : email.php3?id=<4 octets du md5 de l'utilisateur>
Les <4 octets du md5 de l'utilisateur> peuvent ĂȘtre calculĂ©s Ă l'aide du 2Ăšme script (voir ci-dessous)
Exemple : http://votrehĂŽte/email.php3?id=91ff1a48
*/
$domain="monentreprise.com" ;
$taille=12 ;
/* Recherche l'utilisateur dans la base de données systÚme */
if (!$id)
exit;
unset($email);
unset($nom);
unset($pwd);
unset($apwd);
$email="" ;
$nom="" ;
$fp=@fopen("/etc/passwd","r");
if ($fp) {
$pwd=@fread($fp,filesize("/etc/passwd"));
@fclose($fp);
}
$apwd=split("\n",$pwd);
foreach($apwd as $line) {
$fld=split(":",$line);
if (substr(md5($fld[0]),0,8) == $id) {
$email=$fld[0]."@".$domaine;
$nm=substr($fld[4],0,strpos($fld[4],","));
$nom=$email ;
si ($nm)
$name="\"".$nm.
si (!$nom)
sortie ;
/* Crée et affiche l'image */
Header ("Content-type: image/gif");
$im = imagecreate ($size*strlen($name), $size*1.5);
$noir = ImageColorAllocate ($im, 255, 255, 255);
$blanc = ImageColorAllocate ($im, 0,0,0);
ImageTTFText($im, $size, 0, 0, $size , $white, "/usr/share/enlightenment/E-docs/aircut3.ttf",$name);
ImageGif ($im);
ImageDestruction ($im);
?>
Le script pour trouver l'id :
#!/bin/sh
# petit script pour email.php3
echo "Entrez login :"
read login
echo "L'URL est :"
printf "http://votrehĂŽte/email.php3?id ="
printf $login|md5sum|cut -c1-8
echo - Vous pouvez également créer des alias de
messagerie temporaires, chaque semaine, pour tous les utilisateurs . Unix) #!/bin/sh # # Alias alĂ©atoires anonymes pour tous les utilisateurs # changĂ©s chaque semaine, pour Ă©viter les problĂšmes de spam # sur les sites Web # (Ă mettre dans /etc/cron.weekly/) # Chaque alias est rĂ©gĂ©nĂ©rĂ© chaque semaine, et valable 2 semaines # prĂ©fixe pour tous les utilisateurs # ne doit pas ĂȘtre le prĂ©fixe d'un autre alias ! USER_PREFIX="user-" # valable 2 semaines ALIAS_VALID=2 # chaĂźne alĂ©atoire SECRET="ma chaĂźne secrĂšte `hostname -f`"
# build
grep -vE "^$USER_PREFIX" /etc/aliases > /etc/aliases.new
for i in `cut -f1 -d':' /etc/passwd`; faire
si test `id -u $i` -ge 500 ; then
off=0
while test "$off" -lt $ALIAS_VALID ; faire
THISWEEK="`date +'%Y'` $[`date +'%U'`-$off]"
SECRET="`echo \"$SECRET $i $THISWEEK\" | md5sum | cut -c1-4 `"
PREMIER=`echo $i | cut -c1-3`
NAME="$USER_PREFIX$FIRST$SECRET"
echo "$NAME : $i" >> /etc/aliases.new
#
off=$[$off+1]
done
fi
done
# déplacer le fichier
mv - f /etc/aliases /etc/aliases.
newaliases
Et ensuite, mettez l'adresse email dans vos pages via :
<a href="mailto:<?php
$user="smith";
$alias=exec("grep ".$user." /etc/aliases | cut - f1 -d' ' | head -n1");
print $alias;
?>@mycompany.com>>
- Une solution peut ĂȘtre d'utiliser javascript pour masquer les e-mails.
Commentaires
Enregistrer un commentaire
đ Hello,
N'hĂ©sitez pas Ă commenter ou vous exprimer si vous avez des trucs Ă dire . . .đ