fix: load more button
This commit is contained in:
+20
-7
@@ -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;
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user