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