Mencegah CSRF dalam PHP: Pengesahan dan Pengesahan Perujuk
Serangan Cross-Site Request Forgery (CSRF) boleh menjejaskan aplikasi web dengan menipu pengguna penyemak imbas untuk menyerahkan permintaan berniat jahat tanpa pengetahuan atau persetujuan mereka. Untuk mengelakkan CSRF, dua teknik biasa boleh digunakan: pengesahan dan pengesahan perujuk.
Mengesahkan Parameter GET dan POST
Selain menyemak kuki, memerlukan pengesahan untuk kedua-dua GET dan parameter POST membantu melindungi daripada serangan CSRF. Ini memastikan bahawa sebarang permintaan yang mengubah suai data atau melakukan tindakan sensitif memerlukan pengguna dilog masuk dan disahkan.
Menyemak Pengepala Perujuk HTTP
Pengepala Perujuk HTTP mengandungi URL halaman yang dipautkan ke halaman semasa. Dengan menyemak pengepala perujuk, anda boleh memastikan bahawa permintaan itu datang daripada sumber yang dipercayai dan bukan daripada tapak web pihak ketiga yang berniat jahat.
Kohana PHP Framework
In rangka kerja PHP Kohana, anda boleh mengakses pengepala perujuk menggunakan kaedah Request::referrer(). Walau bagaimanapun, kaedah ini hanya mengembalikan URL halaman perujuk. Untuk mengesahkan pengepala perujuk, anda boleh menyemak sama ada URL itu sepadan dengan senarai putih domain yang dipercayai. Sebagai alternatif, anda boleh menjana token sekali sahaja dan mengaitkannya dengan sesi pengguna semasa. Token ini hendaklah diposkan bersama-sama dengan permintaan dan diperiksa untuk kesahihannya di bahagian pelayan.
Mengesahkan Parameter GET dan POST
Mengesahkan parameter GET dan POST membantu melindungi daripada input berniat jahat dan menghalang penyerang daripada mengeksploitasi penukaran jenis atau kelemahan suntikan SQL. Pengesahan boleh dilakukan terhadap:
Dengan melaksanakan kedua-dua pengesahan dan pengesahan perujuk, anda boleh meningkatkan keselamatan aplikasi web PHP anda dengan ketara dan menghalang serangan CSRF.
Atas ialah kandungan terperinci Bagaimanakah Pengesahan dan Pengesahan Perujuk Mencegah Serangan CSRF dalam Aplikasi PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!