Bagaimana cara efektif mencegah pesan spam dan komentar spam di situs web (papan pesan)? Artikel ini memberikan detail ide solusi dan langkah implementasinya. Teman-teman yang ingin tahu lebih banyak bisa simak berikut ini
1. Pada halaman pengisian formulir: <input type="hidden" value="<%=Now()%>">
Pada halaman pemrosesan pengiriman, atur waktu pengiriman
Copy kode kodenya sebagai berikut:
Jika DateDiff("s",request.form("intime1"), Now()) < 5 maka
respon.write "<SCRIPT bahasa=JavaScript>alert('Kecepatan pesan Anda terlalu cepat, dilarang meninggalkan pesan!');"
respon.tulis "ini.lokasi.href='vbscript:history.back()';</SCRIPT>"
respon.akhir
berakhir jika
2. Kode verifikasi
Copy kode kodenya sebagai berikut:
yz=cstr(permintaan.Formulir("yz"))
yz1=cstr(sesi("yz1"))
jika yz1<>yz maka
Response.Write("<script bahasa=javascript>alert('Silakan masukkan kode verifikasi dengan benar!');</script>")
respon.redirect("tanda.asp")
berakhir jika
3. Tentukan asal usulnya
Copy kode kodenya sebagai berikut:
server_v1=Cstr(Permintaan.ServerVariables("HTTP_REFERER"))
'Respon.Tulis(server_v1)
server_v2=Cstr(Permintaan.ServerVariables("SERVER_NAME"))
'Respon.Tulis(server_v2)
jika pertengahan(server_v1,8,len(server_v2))<>server_v2 maka
Response.Write("<script bahasa=javascript>alert('Pengiriman data eksternal dilarang!');</script>")
respon.akhir
berakhir jika
4. Tetapkan jumlah kiriman harian
Copy kode kodenya sebagai berikut:
'Saat pengguna mengirimkan satu kali
jika request.cookies("postnum")="" maka
respon.cookies("postnum")=1
respon.cookies("postnum").expires=DateAdd("h", 24, Sekarang())
kalau tidak
respon.cookies("postnum")=permintaan.cookies("postnum")+1
berakhir jika
jika request.cookies("postnum") > 3 maka
respon.write "<SCRIPT bahasa=JavaScript>alert('Jumlah pesan hari ini telah melampaui batas, pesan dilarang!');"
respon.tulis "ini.lokasi.href='vbscript:history.back()';</SCRIPT>"
respon.akhir
berakhir jika
5. Larangan IP
Copy kode kodenya sebagai berikut:
server_ip=Cstr(Permintaan.ServerVariables("REMOTE_ADDR"))
jika benar(server_ip,8) = "194.165." maka
respon.write "Pengiriman yang tumpang tindih 194.165 dilarang."
respon.Akhir()
berakhir jika
1. Tentukan apakah informasi yang dirilis mempunyai sumber yang dapat dipercaya. Selama diposting oleh orang perseorangan, harus melalui halaman pengiriman yang kami berikan kepada pengguna, dan harus ada sumbernya; jika diposting oleh mesin, tidak akan ada informasi sumber.
'Tentukan asal dan larang pengiriman eksternal
Copy kode kodenya sebagai berikut:
redupkan server_v1,server_v2
server_v1=Cstr(Permintaan.ServerVariables("HTTP_REFERER"))
server_v2=Cstr(Permintaan.ServerVariables("SERVER_NAME"))
jika server_v1="" atau instr(server_v1,"/add.asp")<=0 atau mid(server_v1,8,len(server_v2))<>server_v2 maka
respon.write "<SCRIPT bahasa=JavaScript>alert('Sumber ilegal, pengiriman eksternal dilarang!');"
respon.tulis "ini.lokasi.href='vbscript:history.back()';</SCRIPT>"
respon.akhir
berakhir jika
Perhatikan bahwa /add.asp di atas adalah halaman sumber dari halaman pengiriman. Tentu saja, mesin tersebut juga dapat memalsukan asal usulnya, yang perlu ditangani dengan menggabungkan metode berikut.
2. Kode verifikasi. Kode verifikasi selalu menjadi metode yang tepat untuk menangani pesan spam mesin. Kode verifikasi yang berbeda memiliki kemampuan berbeda untuk menangani pesan mesin. Semakin kompleks kode verifikasi, semakin sulit mesin untuk memecahkannya. Hal ini memerlukan pemilihan keseimbangan antara mempertimbangkan perasaan pengguna dan menangani mesin. Saya tidak akan banyak bicara tentang cara menggunakan kode verifikasi. Pencarian di Google dan Baidu akan memunculkan banyak perkenalan.
3. Menentukan waktu penyerahan sumber. Jika waktu yang dihabiskan pada halaman penyerahan terlalu singkat, misalnya 20 detik, umumnya selama itu adalah individu, waktu mengetiknya tidak perlu sesingkat itu. Misalnya, ketika pengguna membuka halaman (seperti add.asp), kami mencatat waktu dan menambahkan objek tersembunyi di formulir pengiriman formulir, seperti:
<input type="tersembunyi" value="<%=Sekarang()%>">
Kemudian, ketika pengguna menulis pesan dan mengirimkannya ke halaman pemrosesan tertentu (seperti addok.asp), kami mendapatkan waktu saat ini dan membandingkannya dengan waktu intime1 di add.asp Jika perbedaan waktu kurang dari yang ditetapkan waktu, seperti 20 detik, pesan dilarang dan ditentukan sebagai mesin. Kodenya dapat ditulis seperti ini:
Copy kode kodenya sebagai berikut:
Jika DateDiff("s",request.form("intime1"), Now()) < 20 maka
respon.write "<SCRIPT bahasa=JavaScript>alert('Kecepatan pesan Anda terlalu cepat, dilarang meninggalkan pesan!');"
respon.tulis "ini.lokasi.href='vbscript:history.back()';</SCRIPT>"
respon.akhir
berakhir jika
Melalui ketiga cara di atas, sebagian besar komentar spam yang dibuat oleh robot dapat diblokir. Jika jumlah komentar masih banyak, kemungkinan besar ditinggalkan oleh manusia. Namun bagaimana kita menangani pesan-pesan manusia? flymorn juga menyediakan metode untuk mengatasinya.
Caranya sangat sederhana, yaitu membatasi jumlah komentar yang diposting oleh pengguna yang sama dengan mencatat cookie dan IP pengguna. Misalnya, dalam 24 jam sehari, pengguna yang sama hanya diperbolehkan memposting 5 pesan. Kita dapat mencapainya melalui metode berikut.
Copy kode kodenya sebagai berikut:
<%'Ketika pengguna mengirimkan satu kali
jika request.cookies("postnum")="" maka
respon.cookies("postnum")=1
respon.cookies("postnum").expires=DateAdd("h", 24, Sekarang())
kalau tidak
respon.cookies("postnum")=permintaan.cookies("postnum")+1
berakhir jika
jika request.cookies("postnum") > 5 maka
respon.write "<SCRIPT bahasa=JavaScript>alert('Jumlah pesan hari ini telah melampaui batas, pesan dilarang!');"
respon.tulis "ini.lokasi.href='vbscript:history.back()';</SCRIPT>"
respon.akhir
berakhir jika
%>
Melalui pembatasan di atas, pengeposan manual juga dibatasi sampai batas tertentu. Metode di atas didasarkan pada penilaian cookie. Tentu saja, pengguna dapat menghapus COOKIES melalui browser, namun hal ini mempersulit mereka untuk mengirim spam dan meningkatkan ambang batas. Kami juga dapat terus menentukan IP penerbit dan membatasi jumlah postingan di bawah IP yang sama untuk mencapai tujuan kami. Tidak akan ada perluasan lebih lanjut di sini. Anda dapat merancang metode Anda sendiri tentang cara menentukan IP untuk membatasi posting. Jika Anda mempunyai pendapat atau saran mengenai topik yang dibahas pada artikel ini, silakan tinggalkan komentar agar kita bisa berdiskusi bersama.