Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah Saya Boleh Mengenalpasti Permintaan AJAX dengan Selamat dalam PHP?

Bagaimanakah Saya Boleh Mengenalpasti Permintaan AJAX dengan Selamat dalam PHP?

Patricia Arquette
Patricia Arquetteasal
2024-11-05 19:56:02595semak imbas

How Can I Securely Identify AJAX Requests in PHP?

Mengesan Selamat Permintaan AJAX dalam PHP

Menyemak sama ada permintaan masuk ialah permintaan AJAX adalah penting untuk pemprosesan bahagian pelayan. Walaupun kaedah seperti parameter atau pengepala GET boleh dieksploitasi dengan mudah, pendekatan yang lebih selamat tersedia.

Penyelesaian: HTTP_X_REQUESTED_WITH Pemeriksaan Pengepala

Pengepala HTTP_X_REQUESTED_WITH ialah pengepala standard yang dihantar oleh permintaan AJAX. Pengepala ini biasanya ditetapkan kepada "XMLHttpRequest" atau "xmlhttprequest." Dengan menyemak pengepala ini, anda boleh mengenal pasti permintaan AJAX dengan pasti:

<code class="php">if(strtolower($_SERVER['HTTP_X_REQUESTED_WITH'] ?? '') === 'xmlhttprequest') {
    // We can assume that the request was made with AJAX
}</code>

Contoh Penggunaan

Pertimbangkan skrip PHP, mypage.php:

<code class="php"><?php

if(strtolower($_SERVER['HTTP_X_REQUESTED_WITH'] ?? '') === 'xmlhttprequest') {
    // Process AJAX request
} else {
    // Not an AJAX request
}

?></code>

Skrip ini menyemak sama ada pengepala HTTP_X_REQUESTED_WITH wujud dan ditetapkan kepada "XMLHttpRequest." Jika ya, ia menganggap permintaan itu adalah permintaan AJAX dan terus memprosesnya dengan sewajarnya. Jika tidak, ia mengendalikan permintaan sebagai permintaan bukan AJAX.

Kelebihan

Kaedah ini selamat kerana pengepala HTTP_X_REQUESTED_WITH dihantar secara automatik oleh penyemak imbas untuk permintaan AJAX. Ia tidak boleh dipalsukan dengan mudah oleh penyerang. Selain itu, ia disokong oleh kebanyakan pelayar moden dan platform pelayan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengenalpasti Permintaan AJAX dengan Selamat dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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