Skip to content
Extraits de code Groupes Projets
Valider 0717ccee rédigé par cerdic's avatar cerdic
Parcourir les fichiers

gerer l'acces interdit par un appel direct a un exec php 403 pour eviter une...

gerer l'acces interdit par un appel direct a un exec php 403 pour eviter une redirection moche (fil)
cela implique de ne plus faire une verification de doublon dans f_jQuery, mais celle-ci bloquait deja pour le calcul asynchrone des squelettes par cache_cool
parent d40205e6
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -108,6 +108,7 @@ ecrire/configuration/rubriques.php -text ...@@ -108,6 +108,7 @@ ecrire/configuration/rubriques.php -text
ecrire/configuration/syndications.php -text ecrire/configuration/syndications.php -text
ecrire/configuration/transcodeur.php -text ecrire/configuration/transcodeur.php -text
ecrire/configuration/visiteurs.php -text ecrire/configuration/visiteurs.php -text
ecrire/exec/403.php -text
ecrire/exec/404.php -text ecrire/exec/404.php -text
ecrire/exec/accueil.php -text ecrire/exec/accueil.php -text
ecrire/exec/admin_backup.php -text ecrire/exec/admin_backup.php -text
...@@ -780,7 +781,6 @@ prive/rss/signatures.html -text ...@@ -780,7 +781,6 @@ prive/rss/signatures.html -text
prive/spip_pass.html -text prive/spip_pass.html -text
prive/spip_style.css -text prive/spip_style.css -text
prive/squelettes/body.html -text prive/squelettes/body.html -text
prive/squelettes/contenu/page-403.html -text
prive/squelettes/contenu/page-configurer_identite.html -text prive/squelettes/contenu/page-configurer_identite.html -text
prive/squelettes/contenu/page-typo.html -text prive/squelettes/contenu/page-typo.html -text
prive/squelettes/extra/dist.html -text prive/squelettes/extra/dist.html -text
......
<?php
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
* Copyright (c) 2001-2010 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
if (!defined("_ECRIRE_INC_VERSION")) return;
/**
* Un exec d'acces interdit
*/
function exec_403_dist(){
$exec = _request('exec');
$titre = "exec_$exec";
$navigation = "";
$extra = "";
include_spip('inc/presentation'); // alleger les inclusions avec un inc/presentation_mini
$commencer_page = charger_fonction('commencer_page','inc');
echo $commencer_page($titre);
echo debut_gauche("403_$exec",true);
echo recuperer_fond('prive/squelettes/navigation/dist',array());
echo pipeline('affiche_gauche',array('args'=>array('exec'=>'403','exec_erreur'=>$exec),'data'=>''));
echo creer_colonne_droite("403",true);
echo pipeline('affiche_droite',array('args'=>array('exec'=>'403','exec_erreur'=>$exec),'data'=>''));
echo debut_droite("403",true);
echo "<h1>"._T('info_acces_interdit')."</h1>";
echo _L("Vous n'avez pas le droit d'acc&egrave;der à la page <b>@exec@</b>.",array('exec'=>_request('exec')));
echo pipeline('affiche_milieu',array('args'=>array('exec'=>'403','exec_erreur'=>$exec),'data'=>''));
echo fin_gauche(),fin_page();
}
?>
\ No newline at end of file
...@@ -48,8 +48,12 @@ function exec_fond_dist(){ ...@@ -48,8 +48,12 @@ function exec_fond_dist(){
function interdire_acces($ok=false) { function interdire_acces($ok=false) {
if ($ok) return ''; if ($ok) return '';
include_spip('inc/headers'); ob_end_clean(); // vider tous les tampons
redirige_formulaire(generer_url_ecrire('403','acces='._request('exec'))); $echec = charger_fonction('403','exec');
$echec();
#include_spip('inc/headers');
#redirige_formulaire(generer_url_ecrire('403','acces='._request('exec')));
exit; exit;
} }
......
...@@ -2068,26 +2068,23 @@ function env_to_attributs ($texte, $ignore_params=array()) { ...@@ -2068,26 +2068,23 @@ function env_to_attributs ($texte, $ignore_params=array()) {
} }
// Inserer jQuery // Inserer jQuery
// et au passage verifier qu'on ne doublonne pas #INSERT_HEAD // ne pas verifier ici qu'on ne doublonne pas #INSERT_HEAD
// car cela empeche un double appel (multi calcul en cache cool,
// ou erreur de l'espace prive)
// http://doc.spip.org/@f_jQuery // http://doc.spip.org/@f_jQuery
function f_jQuery ($texte) { function f_jQuery ($texte) {
static $doublon=0; $x = '';
if ($doublon++) { foreach (array_unique(pipeline('jquery_plugins',
erreur_squelette(array('double_occurrence', array('balise' => "INSERT_HEAD"))); array(
} else { 'javascript/jquery.js',
$x = ''; 'javascript/jquery.form.js',
foreach (array_unique(pipeline('jquery_plugins', 'javascript/jquery.autosave.js',
array( 'javascript/ajaxCallback.js',
'javascript/jquery.js', 'javascript/jquery.cookie.js'
'javascript/jquery.form.js', ))) as $script)
'javascript/jquery.autosave.js', if ($script = find_in_path($script))
'javascript/ajaxCallback.js', $x .= "\n<script src=\"$script\" type=\"text/javascript\"></script>\n";
'javascript/jquery.cookie.js' $texte = $x.$texte;
))) as $script)
if ($script = find_in_path($script))
$x .= "\n<script src=\"$script\" type=\"text/javascript\"></script>\n";
$texte = $x.$texte;
}
return $texte; return $texte;
} }
......
[(#REM)
Squelette
(c) 2009 xxx
Distribue sous licence GPL
]
<h1><:info_acces_interdit:></h1>
[Vous n'aves pas le droit d'accèder à la page <b>(#ENV{acces})</b>.]
\ No newline at end of file
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter