Samx Here
n1udSecurity


Server : Apache
System : Linux ks5.tuic.fr 6.1.0-18-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.76-1 (2024-02-01) x86_64
User : pragmatice ( 1003)
PHP Version : 8.2.24
Disable Function : NONE
Directory :  /home/pragmatice/public_html/lesite/plugins/acces_restreint/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/pragmatice/public_html/lesite/plugins/acces_restreint/accesrestreint_options.php
<?php

/**
 * Plugin Acces Restreint 5.0 pour Spip 4.x
 * Licence GPL (c) depuis 2006 Cedric Morin
 *
 */

if (!defined('_ECRIRE_INC_VERSION')) {
	return;
}


if (isset($GLOBALS['meta']['accesrestreint_base_version'])) {
	// Si on n'est pas connecte, aucune autorisation n'est disponible
	// pas la peine de sortir la grosse artillerie
	if (!isset($GLOBALS['visiteur_session']['id_auteur'])) {
		$GLOBALS['accesrestreint_zones_autorisees'] = '';
	} else {
		// Pipeline : calculer les zones autorisees, sous la forme '1,2,3'
		// TODO : avec un petit cache pour eviter de solliciter la base de donnees
		$GLOBALS['accesrestreint_zones_autorisees'] =
			pipeline('accesrestreint_liste_zones_autorisees', '');
	}

	// Ajouter un marqueur de cache pour le differencier selon les autorisations
	if (!isset($GLOBALS['marqueur'])) {
		$GLOBALS['marqueur'] = '';
	}
	$GLOBALS['marqueur'] .= ':accesrestreint_zones_autorisees='
		. $GLOBALS['accesrestreint_zones_autorisees'];
}

/**
 * Calcul unifié et centralisé du hash associé à un document
 * @param int $id_document
 * @param string $fichier
 * @return string
 */
function accesrestreint_calculer_cle_document($id_document, $fichier) {
	if (!function_exists('calculer_cle_action')) {
		include_spip('inc/securiser_action');
	}

	$sign = [$id_document, $fichier];

	// si _ACCESRESTREINT_SECRET_SIGNATURE_DOCUMENTS est definie, on l'ajoute : cela permet d'invalider les cles dans la nature est d'en regenerer de nouvelles
	// ie on peut avoir des urls temporaires en liant ce secret a la date (mais cache a gerer, car il n'y a pas de recouvrement, le changement est brutal)
	if (defined('_ACCESRESTREINT_SECRET_SIGNATURE_DOCUMENTS') and _ACCESRESTREINT_SECRET_SIGNATURE_DOCUMENTS) {
		$sign[] = _ACCESRESTREINT_SECRET_SIGNATURE_DOCUMENTS;
	}

	// cette url doit etre publique !
	$cle = calculer_cle_action(implode(',', $sign));

	return $cle;
}

SAMX