Dapatkan URL Lengkap dalam PHP
Apabila cuba mendapatkan semula URL penuh menggunakan coretan kod $actual_link = 'http://' .$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];, seseorang menghadapi pengehadan kerana .htaccess masking. URL yang dikembalikan mungkin tidak menggambarkan dengan tepat URL yang dipaparkan dalam bar navigasi penyemak imbas.
Untuk mendapatkan URL yang tepat seperti yang dipaparkan dalam penyemak imbas, gunakan pembolehubah $_SERVER['REQUEST_URI']. Kod berikut menggambarkan penggunaannya:
$actual_link = "https://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
Untuk fleksibiliti merentas kedua-dua protokol HTTP dan HTTPS, gunakan kod berikut:
$actual_link = (empty($_SERVER['HTTPS']) ? 'http' : 'https') . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
Pertimbangan Keselamatan
Adalah penting untuk ambil perhatian bahawa kod ini mempunyai implikasi keselamatan. Pelanggan dan pelayan boleh mengubah suai HTTP_HOST dan REQUEST_URI kepada nilai sewenang-wenangnya. Pembersihan dan pengesahan input yang mencukupi adalah penting untuk mengelakkan nilai ini daripada dieksploitasi dalam konteks keselamatan (CWE-20).
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan URL Lengkap yang Dipaparkan Penyemak Imbas dalam PHP, Perakaunan untuk .htaccess dan Keselamatan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!