fix: load more button

This commit is contained in:
2026-01-15 19:38:55 +04:00
parent 10f0b9a6eb
commit b3eae9ea82
6 changed files with 64 additions and 136 deletions
+20 -7
View File
@@ -289,19 +289,32 @@ function setSecurityHeaders() {
/**
* Valide l'origine de la requête pour les requêtes AJAX
*
*
* @return bool True si l'origine est valide
*/
function validateAjaxOrigin() {
$origin = $_SERVER['HTTP_ORIGIN'] ?? '';
$host = $_SERVER['HTTP_HOST'] ?? '';
if (empty($origin) || empty($host)) {
if (empty($host)) {
return false;
}
$expectedOrigin = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? 'https' : 'http') . '://' . $host;
return $origin === $expectedOrigin;
// Vérifier l'en-tête Origin si présent
$origin = $_SERVER['HTTP_ORIGIN'] ?? '';
if (!empty($origin)) {
return $origin === $expectedOrigin;
}
// Si Origin est absent (requête same-origin), vérifier le Referer
$referer = $_SERVER['HTTP_REFERER'] ?? '';
if (!empty($referer)) {
return strpos($referer, $expectedOrigin) === 0;
}
// Accepter si ni Origin ni Referer (certains navigateurs/configs)
// La protection CSRF reste active via le token
return true;
}
?>