[RESOLU] valeur régulière pour $_GET

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] valeur régulière pour $_GET

Re: valeur régulière pour $_GET

par moogli » 06 mai 2013, 17:54

session trop peu sécurisé O_o comment fait tu pour gérer la session coté serveur ? (je pense que l'authentification du fw fonctionne ainsi).


sinon pour completer le message précédent : preg_match


@+

Re: valeur régulière pour $_GET

par ghost5922 » 06 mai 2013, 17:48

Bonjour,

tu peux regarde du cote des regex tu recherche ta chaine de caractère dans la variable $_SERVER['REQUEST_URI']

Re: valeur régulière pour $_GET

par Arketran » 06 mai 2013, 16:07

Je vois ce que tu veux dire et ça me semble être une bonne idée, cependant en réalité ce n'est pas mon site :twisted: mais celui d'un projet sur lequel je travail en stage de fin d'étude.
En conséquence, je travail sur un code existant ou le $_SESSION est considéré comme trop peu sécurisé , ou bien c'est au niveau du nombre de données ou encore les 2 !
De plus les log in/log out sont déjà gérés via des array_key_exist avec d'autre scripts (avec lesquels je "communique" indirectement).

Re: valeur régulière pour $_GET

par Webylog » 06 mai 2013, 15:49

Je vais peut etre répondre à côté mais ...

ne serait il pas plus simple pour toi de gérer les droits de visibilité du menu en gérant les variables SESSIONS et plus particulièrement en mettant quelque chose du genre $_SESSION['admin'] et une valeur genre ' * ' ... un script au démarrage de tes pages en require_once qui check la variable session et qui affiche le menu adéquat ???

Re: valeur régulière pour $_GET

par Arketran » 06 mai 2013, 15:08

Je reformule ma question puisque j'ai trouvé comment vérifier l'URL => avec $_SERVER['REQUEST_URI']
Par contre je souhaiterai savoir si il y a un moyen d'utiliser les valeurs régulières ?

Exemple :
<?php if($_SERVER['REQUEST_URI']=='/Monsite/Application/titi/toto') echo $this->element('sous_menu'); ?>
Afin de ne pas réecrire l'url de toutes les pages du répertoire titi je voudrais appliquer cette logique :
<?php if($_SERVER['REQUEST_URI']=='/Monsite/Application/titi/*') echo $this->element('sous_menu'); ?>

Re: valeur régulière pour $_GET

par Arketran » 06 mai 2013, 14:25

Je suis sur le framework cakePHP, et je souhaite afficher une barre de menu sur plusieurs pages de mon site (plusieurs URL).
Par contre j'aimerais que cette barre des menus ne s'affiche pas sur toutes les pages.
Pour cela je veux essayer de faire une manip de vérification d'url dans default.php, de sorte à dire que si l'url récupérée (en GET selon la console de mon navigateur) contient chemin/import* alors j'affiche cette barre des menus.

D’où ma question plus ciblée sur le fait de pouvoir vérifier une URL avec une valeur régulière.
Par contre dans mon URL je n'ai pas de paramètre du style "?name=Hannes"
<!-- app/View/Elements/sous_menu.ctp -->
 
 
  <?php echo '<br /> <br />'; ?>
      <div id="header_container_menu">
  <div id="menu">
   
    <?php if (AuthComponent::user('id')): ?>
      <?php echo $this->element('menu', array('level' => 0, 'menu' => Configure::read('SOUSMENUS.onglet'))) ?>
     
    <?php endif; ?>
  </div>
</div>
<?php
// app/Config/sousmenus.php
 
$config = array();
 
Configure::write('SOUSMENUS.onglet', array(
   'import_action' => array(
        'label' => 'Action',
        'profil' => 'Administrateur',
        'route' => '/importActions'  // Menu non visible si pas le droit Administrateur
    ),
    'import_apport' => array(
        'label' => 'Import',
        'profil' => 'Administrateur',
        'route' => '/importApports'// Menu non visible si pas le droit Administrateur
    ),        
    'import_demande' => array(
        'label' => 'Demande',
        'profil' => 'Administrateur',
        'route' => '/importDemandes'// Menu non visible si pas le droit Administrateur
    ),
    'import_proposition' => array(
        'label' => 'Proposition',
        'profil' => 'Administrateur',
        'route' => '/importPropositions'// Menu non visible si pas le droit Administrateur
    ),
    'import_soutien' => array(
        'label' => 'Soutien',
        'profil' => 'Super Administrateur',
        'route' => '/importSoutiens'
    ),
    'import_wcb' => array(
        'label' => 'WCB',
        'profil' => 'Super Administrateur',
        'route' => '/importWcbs'
    ),
));
// These parameters should force the cookie to persist even through Google Chrome Frame.
// This will set both PHP and CakePHP's settings to allow cookies to persist over http and https
Configure::write('Session.checkAgent', false);
Configure::write('Session.ini',array('session.cookie_secure' => false, 'session.referer_check' => false));
 
?>
//Layouts/default.ctp
<!DOCTYPE html>
<html>
    <head>
    </head>
    <body>
        <div id="container">
           <?php echo $this->element('sous_menu'); ?>  
        </div>
    </body>
</html>

Re: valeur régulière pour $_GET

par Webylog » 06 mai 2013, 13:53

Bonjour,

Pourrais tu détailler un peu plus ton code fait ou a faire car là il me semble qu'il existe plusieurs moyens de faire ce genre de chose ...

Tout dépends comment tu gères tes variables ...

Je ne comprends pas ton ' sur plusieurs URL ' ...

valeur régulière pour $_GET

par Arketran » 06 mai 2013, 13:15

Bonjour,

Je souhaiterai afficher un élément sur plusieurs URL de mon site mais pas toutes.
Ainsi je pensait faire
<?php if($_GET==url*){echo 'blabla'} ?>
afin que blabla s'affiche sur toutes les URL commençant par import.
Mais comment faire pour que le $_GET lise mon étoile comme une valeur régulière ?