IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Trigger MySql et sessions [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Points : 121
    Points
    121
    Par défaut Trigger MySql et sessions
    Bonjour à tous,

    pour compléter mon site perso, j'aimerais rajouter des triggers pour empêcher certaines actions bien définies.
    Ce que j'aimerais savoir, c'est comment couplé ces triggers avec mes sessions ?

    Je dispose d'un espace connexion dans mon site.
    3 cas s'offre alors :
    • l'utilisateur n'est pas connecté. Il ne peut que visualiser les documents

    • l'utilisateur est connecté et son statut est "user". Il peut dans ce cas visualiser les documents et en ajouter d'autres.

    • l'utilisateur est connecté et son statut est "admin". Il dispose de tous les droits, aucun problème.


    Tout ceci fonctionne. Par contre, si l'utilisateur non connecté tape dans la barre d'adresse http://monSite.fr/suppression (par exemple), il y aura quand même accès Je souhaite donc rajouter des triggers pour être certains que les ajouts ne sont pas effectués par des non-connectés et etc.

    Le code que j'ai pour l'instant :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
     
    <h1 align=center>Gestion des livres, films et jeux </h1>
    <?php
    	if (isset($_SESSION['nom']) AND ($_SESSION['type'] == "admin"))
    	{
    		echo'
    			<div id="menu">
    				<ul>
    					<li><h4> Espace Visualisation 
    					&nbsp&nbsp&nbsp&nbsp&nbsp;
    					</h4>
    						<ul>
    							<li><a href="livre.php">Livres</a></li>
    							<li><a href="film.php">Films</a></li>
    							<li><a href="jeux.php">Jeux</a></li>
    						</ul>
    					</li>
    					&nbsp&nbsp&nbsp&nbsp&nbsp;
    					<li><h4> Espace Ajout
    					&nbsp&nbsp&nbsp&nbsp&nbsp;
    					</h4>
    						<ul>
    							<li><a href="AjoutLivre.php">Livres</a></li>
    							<li><a href="AjoutFilm.php">Films</a></li>
    							<li><a href="AjoutJeux.php">Jeux</a></li>
    						</ul>
    					</li>
    					&nbsp&nbsp&nbsp&nbsp&nbsp;
    					<li><h4> Espace Edition/Suppression
    					&nbsp&nbsp&nbsp&nbsp&nbsp;
    					</h4>
    						<ul>
    							<li><a href="EditLivre.php">Livres</a></li>
    							<li><a href="EditFilm.php">Films</a></li>
    							<li><a href="EditJeux.php">Jeux</a></li>
    						</ul>
    					</li>
    					<li><h4><a href="deconnexion.php">Espace deconnexion</a></h4></li>
    				</ul>
    			</div>
    		';
    	}
    	elseif (isset($_SESSION['nom']) AND ($_SESSION['type'] == "user"))
    	{
    	echo '
    		<div id="menu">
    			<ul>
    				<li><h4> Espace Visualisation 
    				&nbsp&nbsp&nbsp&nbsp&nbsp;
    				</h4>
    					<ul>
    						<li><a href="livre.php">Livres</a></li>
    						<li><a href="film.php">Films</a></li>
    						<li><a href="jeux.php">Jeux</a></li>
    					</ul>
    				</li>
    				&nbsp&nbsp&nbsp&nbsp&nbsp;
    				<li><h4> Espace Ajout
    				&nbsp&nbsp&nbsp&nbsp&nbsp;
    				</h4>
    					<ul>
    						<li><a href="AjoutLivre.php">Livres</a></li>
    						<li><a href="AjoutFilm.php">Films</a></li>
    						<li><a href="AjoutJeux.php">Jeux</a></li>
    					</ul>
    				</li>
    				<li><h4><a href="deconnexion.php">Espace deconnexion</a></h4></li>
    			</ul>
    		</div>
    	';
    	}
    	else
    	{
    	echo '
    		<div id="menu">
    			<ul>
    				<li><h4> Espace Visualisation 
    				&nbsp&nbsp&nbsp&nbsp&nbsp;
    				</h4>
    					<ul>
    						<li><a href="livre.php">Livres</a></li>
    						<li><a href="film.php">Films</a></li>
    						<li><a href="jeux.php">Jeux</a></li>
    					</ul>
    				</li>
    				<li><h4><a href="connexion.php">Espace connexion</a></h4></li>
    			</ul>
    		</div>
    	';
    	}
    ?>

    Donc, au niveau des questions :
    • Ce que j'aimerais savoir, c'est comment couplé ces triggers avec mes sessions ?

    • Pour bloquer le traitement de la requête, ma doc oracle m'indique
      "raise application error..." Est-ce pareil sur MySql ?
      PS : je connais la syntaxe de base des triggers sur Oracle


    Merci à ceux qui répondront.

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Tout ceci fonctionne. Par contre, si l'utilisateur non connecté tape dans la barre d'adresse http://monSite.fr/suppression (par exemple), il y aura quand même accès Je souhaite donc rajouter des triggers pour être certains que les ajouts ne sont pas effectués par des non-connectés et etc.
    Tu as un problème coté php si c'est le cas. L'utilisateur peux taper http://monSite.fr/suppression si ca lui chante mais il doit se faire gentilement (ou pas) refouler par ton appli si il n'a pas les droits suffisants !

    Ce que j'aimerais savoir, c'est comment couplé ces triggers avec mes sessions ?
    Pas possible à ma connaissance. Les triggers sont déclenchés sur les événements intervenants sur une table , aucune relation avec PHP et encore moins avec les session
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Points : 121
    Points
    121
    Par défaut
    Citation Envoyé par grunk Voir le message
    Tu as un problème coté php si c'est le cas. L'utilisateur peux taper http://monSite.fr/suppression si ca lui chante mais il doit se faire gentilement (ou pas) refouler par ton appli si il n'a pas les droits suffisants !
    C'est possible sans remodifier tout le code ?

    Pas possible à ma connaissance. Les triggers sont déclenchés sur les événements intervenants sur une table , aucune relation avec PHP et encore moins avec les session
    Je voudrais bien que le script de suppression/ajout/update ne se fasse pas si l'utilisateur n'a pas les "droits" pour ça. C'est pas possible ?

  4. #4
    Membre confirmé Avatar de rikemSen
    Homme Profil pro
    Analyste Développeur Web - Fizzup.com
    Inscrit en
    Décembre 2007
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste Développeur Web - Fizzup.com
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 387
    Points : 540
    Points
    540
    Par défaut
    Sans modifier tout le code c'est possible, mais va falloir le modifier quand même.

    Il faut que dans ta session, tu stockes le type d'utilisateur. user ou admin.

    Lors de l'appel de /suppression tu testes le type d'utilisateur. Si il est user ou non connecté, tu le rediriges, sinon, tu executes le code (en gros, si il est admin)
    Si ce que tu as à dire n'est pas plus beau que le silence, alors tais toi.

    - Pensez à voter pour les messages qui vous ont été utiles ainsi que de mettre

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Points : 121
    Points
    121
    Par défaut
    Citation Envoyé par radicaldreamer Voir le message
    Sans modifier tout le code c'est possible, mais va falloir le modifier quand même.

    Il faut que dans ta session, tu stockes le type d'utilisateur. user ou admin.

    Lors de l'appel de /suppression tu testes le type d'utilisateur. Si il est user ou non connecté, tu le rediriges, sinon, tu executes le code (en gros, si il est admin)
    Ah ok, en fait je fais simplement comme je fais pour afficher le menu pour le moment en rajoutant un message d'erreur s'il ne peut pas ?

  6. #6
    Membre confirmé Avatar de rikemSen
    Homme Profil pro
    Analyste Développeur Web - Fizzup.com
    Inscrit en
    Décembre 2007
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste Développeur Web - Fizzup.com
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 387
    Points : 540
    Points
    540
    Par défaut
    Exactement.
    Si ce que tu as à dire n'est pas plus beau que le silence, alors tais toi.

    - Pensez à voter pour les messages qui vous ont été utiles ainsi que de mettre

  7. #7
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Points : 121
    Points
    121
    Par défaut
    Cool merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Syntaxe Trigger Mysql / Transact SQL de SQL Server
    Par Flashball dans le forum SQL Procédural
    Réponses: 8
    Dernier message: 13/03/2008, 15h23
  2. Sommer des colonnes avec un trigger MySQL
    Par Benoit7114 dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 17/01/2008, 12h08
  3. Système de cache d'objets avec MySql ou Session ?
    Par vodnok dans le forum Langage
    Réponses: 5
    Dernier message: 05/06/2007, 13h04
  4. Probleme trigger mysql 5
    Par DarkMax dans le forum SQL Procédural
    Réponses: 7
    Dernier message: 18/03/2006, 22h50
  5. TRIGGER MySQL 5.0 Yes or No
    Par popol666 dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 31/08/2005, 13h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo