本文整理汇总了PHP中Cookie::definir方法的典型用法代码示例。如果您正苦于以下问题:PHP Cookie::definir方法的具体用法?PHP Cookie::definir怎么用?PHP Cookie::definir使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Cookie
的用法示例。
在下文中一共展示了Cookie::definir方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: save_get_and_exit_reload
/**
* Définir un cookie avec le contenu de paramètres transmis en GET puis rappeler la page
*
* @param string $query_string éventuellement avec 'url_redirection' en dernier paramètre
* @return void
*/
public static function save_get_and_exit_reload( $query_string )
{
Cookie::definir( COOKIE_MEMOGET , $query_string , 300 /* 60*5 = 5 min */ );
$param_redir_pos = mb_strpos($query_string,'&url_redirection');
$param_sans_redir = ($param_redir_pos) ? mb_substr( $query_string , 0 , $param_redir_pos ) : $query_string ; // J'ai déjà eu un msg d'erreur car il n'aime pas les chaines trop longues + Pas la peine d'encombrer avec le paramètre de redirection qui sera retrouvé dans le cookie de toutes façons
exit_redirection(URL_BASE.$_SERVER['SCRIPT_NAME'].'?'.$param_sans_redir);
}
示例2:
*
* SACoche est distribué dans l’espoir qu’il vous sera utile, mais SANS AUCUNE GARANTIE :
* sans même la garantie implicite de COMMERCIALISABILITÉ ni d’ADÉQUATION À UN OBJECTIF PARTICULIER.
* Consultez la Licence Publique Générale GNU Affero pour plus de détails.
*
* Vous devriez avoir reçu une copie de la Licence Publique Générale GNU Affero avec SACoche ;
* si ce n’est pas le cas, consultez : <http://www.gnu.org/licenses/>.
*
*/
// Fichier appelé pour l'affichage de chaque page.
// Passage en GET des paramètres pour savoir quelle page charger.
// Constantes / Configuration serveur / Autoload classes / Fonction de sortie
require './_inc/_loader.php';
// En théorie, si l'utilisateur refuse les cookies de SACoche mais accepte ceux de l'ENT, une demande de connexion SSO peut entraîner des boucles de redirections (la session n'étant pas retrouvée).
if (empty($_COOKIE[COOKIE_TEST])) {
Cookie::definir(COOKIE_TEST, TRUE);
if (isset($_GET['sso'])) {
if (!isset($_GET['cookie'])) {
exit_redirection(URL_BASE . $_SERVER['REQUEST_URI'] . '&cookie');
} else {
exit_error('Risque de redirections en boucle', 'Pour utiliser <em>SACoche</em> vous devez configurer l\'acceptation des cookies par votre navigateur.');
}
}
}
// Mémorisation de paramètres multiples transmis en GET pour les retrouver par la suite dans le cas où le service d'authentification externe en perd
// C'est le cas lors de l'appel d'un IdP de type RSA FIM, application nationale du ministère...
if (isset($_GET['memoget'])) {
Cookie::save_get_and_exit_reload(urldecode($_GET['memoget']));
}
// Récupération de paramètres multiples transmis en GET et mémorisés temporairement dans un cookie (pour le cas où le service d'authentification externe en perd).
if (isset($_COOKIE[COOKIE_MEMOGET])) {
示例3: tester_authentification_utilisateur
/**
* Tester si les données transmises permettent d'authentifier un utilisateur (sauf webmestre & développeur).
*
* En cas de connexion avec les identifiants SACoche, la reconnaissance s'effectue sur le couple login/password.
* En cas de connexion depuis un service SSO extérieur type CAS, la reconnaissance s'effectue en comparant l'identifiant transmis (via $login) avec l'id ENT de jointure connu de SACoche.
* En cas de connexion utilisant GEPI, la reconnaissance s'effectue en comparant le login GEPI transmis avec l'id Gepi de jointure connu de SACoche.
*
* @param int $BASE
* @param string $login
* @param string $password
* @param string $mode_connection 'normal' | 'cas' | 'shibboleth' | 'siecle' | 'vecteur_parent' | 'gepi' | 'ldap' (?)
* @param string $parent_nom facultatif, seulement pour $mode_connection = 'vecteur_parent'
* @param string $parent_prenom facultatif, seulement pour $mode_connection = 'vecteur_parent'
* @return array(string,array) ('ok',$DB_ROW) ou (message_d_erreur,tableau_vide)
*/
public static function tester_authentification_utilisateur($BASE,$login,$password,$mode_connection,$parent_nom='',$parent_prenom='')
{
// En cas de multi-structures, il faut charger les paramètres de connexion à la base concernée
// Sauf pour une connexion à un ENT, car alors il a déjà fallu les charger pour récupérer les paramètres de connexion à l'ENT
if( ($BASE) && ($mode_connection=='normal') )
{
charger_parametres_mysql_supplementaires($BASE);
}
// Récupérer les données associées à l'utilisateur.
$DB_ROW = DB_STRUCTURE_PUBLIC::DB_recuperer_donnees_utilisateur($mode_connection,$login,$parent_nom,$parent_prenom);
// Si login (ou identifiant SSO) non trouvé...
if(empty($DB_ROW))
{
switch($mode_connection)
{
case 'normal' : $message = 'Nom d\'utilisateur incorrect !'; break;
case 'cas' : $message = 'Identification réussie mais identifiant CAS "' .$login.'" inconnu dans SACoche !<br />Un administrateur doit renseigner que l\'identifiant ENT associé à votre compte SACoche est "' .$login.'"…<br />Il doit pour cela se connecter à SACoche, menu [Gestion courante], et indiquer pour votre compte dans le champ [Id. ENT] la valeur "' .$login.'".'; break;
case 'shibboleth' : $message = 'Identification réussie mais identifiant Shibboleth "'.$login.'" inconnu dans SACoche !<br />Un administrateur doit renseigner que l\'identifiant ENT associé à votre compte SACoche est "' .$login.'"…<br />Il doit pour cela se connecter à SACoche, menu [Gestion courante], et indiquer pour votre compte dans le champ [Id. ENT] la valeur "' .$login.'".'; break;
case 'siecle' : $message = 'Identification réussie mais identifiant Sconet "' .$login.'" inconnu dans SACoche !<br />Un administrateur doit renseigner que l\'identifiant Sconet associé à votre compte SACoche est "' .$login.'"…<br />Il doit pour cela se connecter à SACoche, menu [Gestion courante], et indiquer pour votre compte dans le champ [Id. Sconet] la valeur "' .$login.'".'; break;
case 'vecteur_parent' : $message = 'Identification réussie mais compte parent introuvable dans SACoche !<br />Le compte SACoche d\'un responsable légal dont le nom est "' .$parent_nom.'", le prénom est "' .$parent_prenom.'", et ayant la charge d\'un enfant dont l\'identifiant Sconet est "' .$login.'", n\'a pas été trouvé.'; break;
case 'gepi' : $message = 'Identification réussie mais login GEPI "' .$login.'" inconnu dans SACoche !<br />Un administrateur doit renseigner que l\'identifiant GEPI associé à votre compte SACoche est "'.$login.'"…<br />Il doit pour cela se connecter à SACoche, menu [Gestion courante], et indiquer pour votre compte dans le champ [Id. Gepi] la valeur "'.$login.'".'; break;
}
return array($message,array());
}
// Blocage éventuel par le webmestre ou un administrateur ou l'automate
LockAcces::stopper_si_blocage( $BASE , $DB_ROW['user_profil_sigle'] );
// Si mdp incorrect...
if( ($mode_connection=='normal') && ($DB_ROW['user_password']!=crypter_mdp($password)) )
{
global $PAGE;
return array( 'Mot de passe incorrect ! Nouvelle tentative autorisée dans '.$_SESSION['FORCEBRUTE'][$PAGE]['DELAI'].'s.' , array() );
}
// Si compte desactivé...
if($DB_ROW['user_sortie_date']<=TODAY_MYSQL)
{
return array( 'Identification réussie mais ce compte est desactivé !' , array() );
}
// Mémoriser la date de la (dernière) connexion (pour les autres cas, sera enregistré lors de la confirmation de la prise en compte des infos CNIL).
if( ($DB_ROW['user_connexion_date']!==NULL) || in_array($DB_ROW['user_profil_type'],array('webmestre','administrateur')) )
{
DB_STRUCTURE_PUBLIC::DB_enregistrer_date_connexion($DB_ROW['user_id']);
}
// Enregistrement d'un cookie sur le poste client servant à retenir le dernier établissement sélectionné si identification avec succès
Cookie::definir( COOKIE_STRUCTURE , $BASE , 31536000 /* 60*60*24*365 = 1 an */ );
// Enregistrement d'un cookie sur le poste client servant à retenir le dernier mode de connexion utilisé si identification avec succès
Cookie::definir( COOKIE_AUTHMODE , $mode_connection );
// Si on arrive ici c'est que l'identification s'est bien effectuée !
return array( 'ok' , $DB_ROW );
}