Menangani permintaan CORS dengan benar sedikit lebih terlibat. Berikut adalah fungsi yang akan merespons lebih lengkap (dan semestinya).
/**
* An example CORS-compliant method. It will allow any GET, POST, or OPTIONS requests from any
* origin.
*
* In a production environment, you probably want to be more restrictive, but this gives you
* the general idea of what is involved. For the nitty-gritty low-down, read:
*
* - https://developer.mozilla.org/en/HTTP_access_control
* - http://www.w3.org/TR/cors/
*
*/
function cors() {
// Allow from any origin
if (isset($_SERVER['HTTP_ORIGIN'])) {
// Decide if the origin in $_SERVER['HTTP_ORIGIN'] is one
// you want to allow, and if so:
header("Access-Control-Allow-Origin: {$_SERVER['HTTP_ORIGIN']}");
header('Access-Control-Allow-Credentials: true');
header('Access-Control-Max-Age: 86400'); // cache for 1 day
}
// Access-Control headers are received during OPTIONS requests
if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {
if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD']))
// may also be using PUT, PATCH, HEAD etc
header("Access-Control-Allow-Methods: GET, POST, OPTIONS");
if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']))
header("Access-Control-Allow-Headers: {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}");
exit(0);
}
echo "You have CORS!";
}
Linux server
,IIS
untuk beberapa alasan tidak berfungsi, saya tidak tahu apakah ini hosting saya atau hanya itu tidak cocok untukIIS
Saya mendapatkan kesalahan yang sama, dan memperbaikinya dengan PHP berikut di skrip back-end saya:
sumber
Banyak deskripsi di internet tidak menyebutkan bahwa
Access-Control-Allow-Origin
tidak cukup. Berikut ini adalah contoh lengkap yang berfungsi untuk saya:sumber
Saya hanya berhasil mendapatkan dropzone dan plugin lain untuk bekerja dengan perbaikan ini (angularjs + php backend)
tambahkan ini di upload.php Anda atau ke mana Anda akan mengirim permintaan Anda (misalnya jika Anda telah mengunggah.html dan Anda harus melampirkan file-file itu ke upload.php, lalu salin dan tempel 4 baris ini). Juga jika Anda menggunakan plugin / add-on CORS di chrome / mozilla pastikan untuk mengaktifkannya lebih dari satu kali, agar CORS diaktifkan.
sumber
Jika Anda ingin membuat layanan CORS dari PHP, Anda dapat menggunakan kode ini sebagai langkah pertama dalam file Anda yang menangani permintaan:
sumber
CORS dapat menjadi sakit kepala, jika kita tidak memahami fungsinya dengan benar. Saya menggunakannya dalam PHP dan mereka bekerja tanpa masalah. referensi di sini
sumber
Banyak kode ini bekerja untuk saya ketika menggunakan sudut 4 sebagai sisi klien dan PHP sebagai sisi server.
sumber
ini seharusnya bekerja
sumber
tambahkan kode ini dalam .htaccess
tambahkan kunci autentikasi khusus di header seperti app_key, auth_key..etc
sumber
Di Windows, rekatkan perintah ini dalam menjalankan jendela hanya untuk sementara waktu untuk menguji kode
chrome.exe --user-data-dir = "C: / sesi dev Chrome" --disable-web-security
sumber