Rumah pembangunan bahagian belakang tutorial php Bagaimana untuk melaksanakan kod pengesahan dan mencegah serangan bot dalam projek PHP?

Bagaimana untuk melaksanakan kod pengesahan dan mencegah serangan bot dalam projek PHP?

Nov 03, 2023 pm 05:40 PM
Kod pengesahan projek php Anti-bot

Bagaimana untuk melaksanakan kod pengesahan dan mencegah serangan bot dalam projek PHP?

Bagaimana untuk melaksanakan kod pengesahan dan mencegah serangan robot dalam projek PHP?

Dengan perkembangan dan populariti Internet, semakin banyak laman web dan aplikasi mula diancam oleh serangan bot. Untuk melindungi keselamatan maklumat pengguna dan memberikan pengalaman pengguna yang baik, pembangun perlu melaksanakan kod pengesahan dan langkah-langkah untuk mencegah serangan bot dalam projek mereka. Artikel ini akan memperkenalkan cara melaksanakan kod pengesahan dan mencegah serangan bot dalam projek PHP.

1. Pelaksanaan kod pengesahan
Kod pengesahan ialah kaedah biasa untuk menghalang serangan robot. Pengguna perlu memasukkan kod pengesahan semasa log masuk atau mendaftar untuk mengesahkan identiti mereka.

  1. Jana imej kod pengesahan
    PHP menyediakan pelbagai fungsi pemprosesan grafik yang boleh digunakan untuk menjana imej kod pengesahan. Berikut ialah contoh kod:
session_start();
$code = rand(1000,9999);
$_SESSION['code'] = $code;

$width = 100; // 验证码图片宽度
$height = 30; // 验证码图片高度
$image = imagecreatetruecolor($width, $height);

$bgColor = imagecolorallocate($image, 255, 255, 255);
$textColor = imagecolorallocate($image, 0, 0, 0);

imagefilledrectangle($image, 0, 0, $width, $height, $bgColor);

imagettftext($image, 20, 0, 10, $height/2, $textColor, 'path/to/font.ttf', $code);

header('Content-Type: image/png');
imagepng($image);
imagedestroy($image);
Salin selepas log masuk
  1. Sahkan input pengguna
    Apabila pengguna menyerahkan borang, bandingkan kod pengesahan yang dimasukkan oleh pengguna dengan kod pengesahan yang dijana untuk menentukan sama ada input pengguna adalah betul. Berikut ialah contoh kod:
session_start();
$code = $_SESSION['code'];

$userInput = $_POST['code'];

if ($userInput == $code) {
    // 验证码输入正确,继续处理用户提交的数据
} else {
    // 验证码输入错误,给用户一个提示
    echo "验证码输入错误";
}
Salin selepas log masuk

2. Pelaksanaan mencegah serangan robot
Kod pengesahan hanya boleh menghalang serangan robot mudah Untuk mencegah serangan robot dengan lebih baik, kami juga boleh mengambil langkah berikut:

  1. Tambah medan tersembunyi.
    Tambahkan medan tersembunyi pada borang dan semak pada bahagian pelayan jika nilai medan itu kosong. Memandangkan bot selalunya mengisi medan borang secara automatik, mereka mengisi medan ini juga, mendedahkan identiti bot mereka.
<input type="hidden" name="isHuman" value="">
Salin selepas log masuk
if (!empty($_POST['isHuman'])) {
    // 非机器人提交,继续处理用户提交的数据
} else {
    // 机器人提交,停止处理并给用户一个提示
    echo "请不要使用机器人进行提交";
}
Salin selepas log masuk
  1. Semak kekerapan permintaan
    Tentukan sama ada pengguna adalah robot berdasarkan kekerapan permintaan pengguna. Sebagai contoh, jika alamat IP secara berterusan menghantar sejumlah besar permintaan dalam tempoh yang singkat, ia boleh ditentukan sebagai robot. Anda boleh merekodkan cap masa dan alamat IP permintaan pengguna, dan kemudian merumuskan dasar yang sepadan berdasarkan keperluan sebenar.
session_start();
$ip = $_SERVER['REMOTE_ADDR'];
$timestamp = time();

$requests = $_SESSION['requests'];
if (!$requests) {
    $requests = [];
}

// 添加新的请求记录
$requests[] = ['ip' => $ip, 'timestamp' => $timestamp];

// 清理过期的请求记录
foreach ($requests as $key => $request) {
    if ($timestamp - $request['timestamp'] > 60) {
        unset($requests[$key]);
    }
}

$_SESSION['requests'] = $requests;

if (count($requests) > 10) {
    // 用户请求频率过高,判定为机器人攻击,给用户一个提示
    echo "您的请求过于频繁,请稍后再试";
} else {
    // 用户请求正常,继续处理用户提交的数据
}
Salin selepas log masuk

Melalui aplikasi gabungan langkah-langkah di atas, kesan kod pengesahan dan mencegah serangan robot boleh dicapai dengan lebih baik dalam projek PHP. Pembangun boleh melaraskan borang dan peraturan pengesahan kod pengesahan secara fleksibel, serta syarat penentuan serangan robot mengikut keperluan khusus, untuk meningkatkan keselamatan sistem dan pengalaman pengguna.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan kod pengesahan dan mencegah serangan bot dalam projek PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah yang perlu saya lakukan jika Google Chrome tidak memaparkan imej kod pengesahan Chrome tidak memaparkan kod pengesahan? Apakah yang perlu saya lakukan jika Google Chrome tidak memaparkan imej kod pengesahan Chrome tidak memaparkan kod pengesahan? Mar 13, 2024 pm 08:55 PM

Apakah yang perlu saya lakukan jika Google Chrome tidak memaparkan imej kod pengesahan? Kadangkala anda memerlukan kod pengesahan untuk log masuk ke halaman web menggunakan Google Chrome. Sesetengah pengguna mendapati bahawa Google Chrome tidak dapat memaparkan kandungan imej dengan betul apabila menggunakan kod pengesahan imej. Apa yang patut dibuat? Editor di bawah akan memperkenalkan cara menangani kod pengesahan Google Chrome yang tidak dipaparkan. Saya harap ia akan membantu semua orang! Pengenalan kaedah: 1. Masukkan perisian, klik butang "Lagi" di penjuru kanan sebelah atas, dan pilih "Tetapan" dalam senarai pilihan di bawah untuk masuk. 2. Selepas memasuki antara muka baharu, klik pilihan "Tetapan Privasi dan Keselamatan" di sebelah kiri. 3. Kemudian klik "Tetapan Laman Web" di sebelah kanan

Bolehkah nombor maya menerima kod pengesahan? Bolehkah nombor maya menerima kod pengesahan? Jan 02, 2024 am 10:22 AM

Nombor maya boleh menerima kod pengesahan Selagi nombor telefon bimbit yang diisi semasa pendaftaran mematuhi peraturan dan nombor telefon bimbit boleh disambungkan seperti biasa, anda boleh menerima kod pengesahan SMS. Walau bagaimanapun, anda perlu berhati-hati apabila menggunakan nombor telefon mudah alih maya Sesetengah tapak web tidak menyokong pendaftaran nombor telefon mudah alih maya, jadi anda perlu memilih pembekal perkhidmatan nombor telefon mudah alih maya biasa.

Kes pemprosesan imej PHP: Bagaimana untuk melaksanakan fungsi kod pengesahan imej Kes pemprosesan imej PHP: Bagaimana untuk melaksanakan fungsi kod pengesahan imej Aug 17, 2023 pm 12:09 PM

Kes pemprosesan imej PHP: Bagaimana untuk melaksanakan fungsi kod pengesahan imej Dengan perkembangan pesat Internet, kod pengesahan telah menjadi salah satu cara penting untuk melindungi keselamatan laman web. Kod pengesahan ialah kaedah pengesahan yang menggunakan teknologi pengecaman imej untuk menentukan sama ada pengguna adalah pengguna sebenar. Artikel ini akan memperkenalkan cara menggunakan PHP untuk melaksanakan fungsi kod pengesahan imej, dan disertakan dengan contoh kod. Pengenalan Kod pengesahan ialah gambar yang mengandungi aksara rawak Pengguna perlu memasukkan aksara dalam gambar untuk lulus pengesahan. Proses utama melaksanakan kod pengesahan termasuk menjana aksara rawak dan melukis aksara ke dalam gambar.

Mengapa saya tidak boleh menerima kod pengesahan pada telefon saya? Mengapa saya tidak boleh menerima kod pengesahan pada telefon saya? Aug 17, 2023 pm 02:49 PM

Kegagalan menerima kod pengesahan pada telefon mudah alih anda disebabkan oleh masalah rangkaian, masalah tetapan telefon mudah alih, masalah operator telefon mudah alih dan masalah tetapan peribadi. Pengenalan terperinci: 1. Masalah rangkaian Persekitaran rangkaian di mana telefon bimbit berada tidak stabil atau isyarat lemah, yang mungkin menyebabkan kod pengesahan tidak dapat dihantar tepat pada masanya atau fungsi suara telefon mudah alih dimatikan secara tidak sengaja, atau Nombor penghantaran kod pengesahan ditambah ke senarai hitam, menyebabkan kod pengesahan tidak diterima seperti biasa 3. Isu operator telefon mudah alih, operator telefon mudah alih mungkin mengalami kerosakan atau penyelenggaraan, mengakibatkan kod pengesahan tidak dihantar tepat pada masanya, dsb.

Panduan Pembangunan PHP: Melaksanakan Log Masuk Kod Pengesahan Panduan Pembangunan PHP: Melaksanakan Log Masuk Kod Pengesahan Jul 01, 2023 am 09:27 AM

Dengan perkembangan Internet dan populariti telefon pintar, fungsi log masuk kod pengesahan diterima pakai oleh semakin banyak laman web dan aplikasi. Log masuk kod pengesahan ialah kaedah log masuk yang mengesahkan identiti pengguna dengan memasukkan kod pengesahan yang betul untuk meningkatkan keselamatan dan mencegah serangan berniat jahat. Dalam pembangunan PHP, melaksanakan fungsi log masuk kod pengesahan mudah tidak rumit dan boleh diselesaikan melalui langkah-langkah berikut. Buat jadual pangkalan data Pertama, kita perlu mencipta jadual dalam pangkalan data untuk menyimpan maklumat kod pengesahan. Struktur jadual boleh mengandungi medan berikut: id: auto-incrementing primary key phone

Kod pengesahan tidak boleh menghentikan robot! Google AI boleh mengenal pasti teks kabur dengan tepat, manakala GPT-4 berpura-pura buta dan meminta bantuan Kod pengesahan tidak boleh menghentikan robot! Google AI boleh mengenal pasti teks kabur dengan tepat, manakala GPT-4 berpura-pura buta dan meminta bantuan Apr 12, 2023 am 09:46 AM

“Perkara yang paling menjengkelkan ialah semua jenis kod pengesahan yang pelik (atau malah sesat) apabila anda log masuk ke tapak web Sekarang, terdapat berita baik dan berita buruk. Berita baiknya ialah: AI boleh melakukan ini untuk anda. Jika anda tidak percaya kepada saya, berikut ialah tiga kes sebenar peningkatan kesukaran pengecaman: Dan ini adalah jawapan yang diberikan oleh model yang dipanggil "Pix2Struct": Adakah semuanya tepat dan perkataan demi perkataan? Beberapa netizen mengeluh: Pasti, ketepatannya lebih baik daripada saya. Jadi bolehkah ia dijadikan pemalam pelayar? ? Ya, sesetengah orang berkata: Walaupun kes ini agak mudah, jika anda hanya memperhalusinya, saya tidak dapat membayangkan betapa kuatnya kesannya. Jadi, berita buruknya ialah - kod pengesahan tidak akan dapat menghentikan robot tidak lama lagi! (Bahaya bahaya bahaya...) Bagaimana untuk melakukannya? Pix2St

Bagaimana untuk membuat imej kod pengesahan menggunakan PHP? Bagaimana untuk membuat imej kod pengesahan menggunakan PHP? Sep 13, 2023 am 11:40 AM

Bagaimana untuk membuat imej kod pengesahan menggunakan PHP? CAPTCHA ialah kaedah yang biasa digunakan untuk mengesahkan sama ada pengguna adalah manusia dan bukan mesin. Di tapak web, kami sering melihat imej kod pengesahan, yang memerlukan pengguna memasukkan aksara atau nombor rawak yang dipaparkan pada imej untuk menyelesaikan operasi seperti log masuk, pendaftaran dan mengulas. Artikel ini akan memperkenalkan cara menggunakan PHP untuk mencipta imej kod pengesahan dan memberikan contoh kod tertentu. 1. Pustaka PHPGD Untuk mencipta imej kod pengesahan, kita perlu menggunakan perpustakaan GD PHP. Pustaka GD ialah sambungan untuk memproses imej.

Gunakan teknologi OCR untuk mengenal pasti pelbagai kod pengesahan secara automatik, dan alat itu adalah sumber terbuka Gunakan teknologi OCR untuk mengenal pasti pelbagai kod pengesahan secara automatik, dan alat itu adalah sumber terbuka May 25, 2023 am 10:07 AM

Hari ini saya berkongsi dengan anda aplikasi OCR - ddddocr mengecam kod pengesahan secara automatik. Empat d pertama adalah pinyin pertama "adik daidai". [/Ketawa]. Alamat projek: https://github.com/sml2h3/ddddocr. Apabila menggunakannya, gunakan arahan pip untuk memasangnya terus, cuma pipinstalldddddocr. Teknologi teras OCR merangkumi dua aspek Satu ialah model pengesanan sasaran untuk mengesan teks dalam gambar, dan satu lagi ialah model pengecaman teks untuk menukar teks dalam gambar kepada teks. Jenis kod pengesahan yang pertama adalah yang paling mudah Ia tidak mempunyai imej latar belakang yang kompleks, jadi model pengesanan sasaran boleh ditinggalkan dan imej boleh dihantar terus ke model pengecaman teks. Kod pengenalan adalah seperti berikut: impor

See all articles