PHP dan SQLite: Cara mengendalikan permintaan dan pengesahan merentas domain

王林
Lepaskan: 2023-08-01 10:16:01
asal
1282 orang telah melayarinya

PHP dan SQLite: Cara mengendalikan permintaan dan pengesahan merentas domain

Petikan:
Dalam pembangunan web moden, banyak aplikasi perlu berkomunikasi dengan domain yang berbeza dan perlu mengesahkan pengguna. Artikel ini akan memperkenalkan cara menggunakan PHP dan SQLite untuk mengendalikan permintaan merentas domain dan isu pengesahan.

1. Permintaan merentas domain
Permintaan merentas domain bermakna pelanggan menghantar permintaan kepada pelayan dengan nama domain yang berbeza melalui AJAX atau kaedah lain. Secara lalai, penyemak imbas melumpuhkan permintaan merentas domain kerana ini boleh menyebabkan isu keselamatan. Walau bagaimanapun, kami boleh membenarkan permintaan silang asal tertentu melalui tetapan sebelah pelayan.

Berikut ialah contoh kod yang menunjukkan cara mendayakan permintaan silang asal:

header("Access-Control-Allow-Origin: http://example.com"); :/ Permintaan silang domain untuk /example.com
header("Access-Control-Allow-Methods: GET, POST, OPTIONS"); // Kaedah permintaan yang dibenarkan
header("Access-Control-Allow-Headers: Content- Taip, Kebenaran"); // Pengepala permintaan yang dibenarkan

// Kod untuk mengendalikan permintaan merentas domain
?>

Dalam kod di atas, kami menggunakan fungsi pengepala untuk menetapkan pengepala Access-Control-Allow-Origin kepada benarkan http permintaan silang domain ke ://example.com. Kami juga menetapkan kaedah permintaan yang dibenarkan dan pengepala permintaan melalui fungsi pengepala.

2. Pengesahan
Dalam banyak aplikasi, pengguna perlu membuat pengesahan untuk mengakses fungsi atau sumber tertentu. Menggunakan PHP dan SQLite kami boleh mengendalikan pengesahan pengguna dengan mudah.

Berikut ialah contoh kod yang menunjukkan cara melindungi sumber melalui pengesahan:

$nama pengguna = $_SERVER['PHP_AUTH_USER'];
$password = $_SERVER['PHP_AUTH_PW']; //

Sambung ke pangkalan data SQLite
$db = new SQLite3('database.db');

// Query user table
$query = "SELECT * FROM users WHERE username = '$username' AND password = '$password'" ;
$result = $db->query($query);

// Semak sama ada terdapat pengguna yang sepadan
jika ($result->fetchArray()) {

// 用户验证通过 echo "Access granted!";
Salin selepas log masuk

} lain {

// 用户验证失败 header("WWW-Authenticate: Basic realm='Restricted Area'"); header("HTTP/1.0 401 Unauthorized"); echo "Access denied!";
Salin selepas log masuk

}
?>

Dalam kod di atas, kami mula-mula mendapat nama pengguna dan kata laluan pelanggan. Kami kemudian menyambung ke pangkalan data SQLite dan menanyakan jadual pengguna untuk menyemak sama ada nama pengguna dan kata laluan sepadan.

Jika ada pengguna yang sepadan, kami boleh membenarkan pengguna mengakses sumber tersebut. Jika tidak, kami menghantar kod status HTTP 401 Tanpa Kebenaran dan pengepala WWW-Authenticate melalui fungsi pengepala untuk menggesa pengguna untuk pengesahan.

Ringkasan:
Artikel ini memperkenalkan cara menggunakan PHP dan SQLite untuk mengendalikan permintaan merentas domain dan isu pengesahan. Kami menggunakan kod sampel untuk menerangkan cara mendayakan permintaan merentas domain dan mengesahkan pengguna. Saya harap contoh ini dapat membantu anda menangani permintaan merentas domain dan isu pengesahan dalam projek sebenar.

Atas ialah kandungan terperinci PHP dan SQLite: Cara mengendalikan permintaan dan pengesahan merentas domain. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
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
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!