Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/08/2007, 11h54   #1
Invité de passage
 
Inscription : août 2007
Messages : 2
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 2
Points : 1
Points : 1
Par défaut [SQL] Sécurité et redirections multiples

Bonjour à tous,

Etant débutant en PHP, je suis régulièrement confronté a des problèmes de syntaxe dûs à mes très faibles connaissances en la matière.
Je me permets donc de faire appel à vos connaissances pour m'orienter dans la bonne direction.

Le contexte :
Je souhaite que depuis une page d'identification (page1), les utilisateurs soient rédirigés vers une seconde (page2) en fonction de leur login.
A noter que je souhaite sécuriser les répertoires contenant les pages (htaccess).

Comment créer une page qui redirige automatiquement en fonction du login utilisateur ?

Nota : j'ai bien entendu parler des variables $PHP_AUTH_USER mais je ne vois pas en quoi cela pourrait-être utile dans mon cas.

Si quelqu'un de plus compétent que moi (pas trop difficile à faire ) pouvait m'aider un peu... je nage complètement.

Par avance, merci à vous.
Ywan1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2007, 12h03   #2
Expert Confirmé
 
Avatar de trotters213
 
Inscription : janvier 2005
Messages : 2 572
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Gard (Languedoc Roussillon)

Informations forums :
Inscription : janvier 2005
Messages : 2 572
Points : 2 605
Points : 2 605
et bienvenu,

Ce que tu peux faire c'est rediriger les gens vers la page2 et là tu testes le login qu'ils ont entrés, et selon le login qu'ils ont tapés, tu utilises la fonction header() pour faire la redirection vers la bonne page.
Tu as, ici, un exemple parfait pour toi de redirection PHP utilisant la fonction header.
__________________
Pensez au tag
Les règles du Forum

Dev. Web : FAQ (X)HTML/CSS | Tutos (X)HTML | Tutos CSS

PHP : FAQ PHP | Tutos PHP | Benchmark PHP 5

SQL : Cours SQL
trotters213 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2007, 12h08   #3
Membre régulier
 
Avatar de akara
 
Inscription : juin 2007
Messages : 299
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 299
Points : 81
Points : 81
Moi ce que j'aurais fait :
1° dans la table ooù se trouve mon login j'aurais créé un champs id_page
qui aurait fait référence à un id d'une table page où j'aurais stocké les noms des pages puis selon le login attribuer le id_page

2° quand l'utilisateur se connecterai :
Code :
1
2
3
4
 
$sql = 'select tb_table.login as login , tb_page.page as page from tb_table , tb_page where tb_table.login =".$login." AND tb_table.id_page = tb_page.id_page';
$res = mysql_query($sql);
$page = mysql_fetch_assoc($res);
puis
Code :
1
2
3
 
////code connextion si login & mdp valid alors
header($page['page']);
__________________
Le no life répond "Counter Strike : Source"
Le geek répond "Cascading Style Sheets"
Ce n'est pas un hasard si deux choses vitales ont le même sigle
akara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2007, 12h12   #4
Invité de passage
 
Inscription : août 2007
Messages : 2
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 2
Points : 1
Points : 1
Excellent et vraiment rapide !!

Je viens de comprendre l'interêt de la fonction header().
Je me lance dans la lecture de la FAQ sur ce sujet.

Merci encore trotters213

P.S.: Il n'est pas exclu que je revienne sur ce même thread pour poser encore quelques questions sur le sujet, mais au moins, j'aurais des questions un peu plus précises et pertinentes à poser !

[EDIT] Merci également à Akara qui a été plus rapide que moi pour rédiger ce message [/EDIT]
Ywan1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2007, 12h22   #5
Expert Confirmé
 
Avatar de trotters213
 
Inscription : janvier 2005
Messages : 2 572
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Gard (Languedoc Roussillon)

Informations forums :
Inscription : janvier 2005
Messages : 2 572
Points : 2 605
Points : 2 605
Citation:
Envoyé par akara
2° quand l'utilisateur se connecterai :
Code :
1
2
$sql = 'select tb_table.login as login , tb_page.page as page from tb_table , tb_page where tb_table.login =".$login." AND tb_table.id_page = tb_page.id_page';
$res = mysql_query($sql);
Aïe, l'injection SQL possible
__________________
Pensez au tag
Les règles du Forum

Dev. Web : FAQ (X)HTML/CSS | Tutos (X)HTML | Tutos CSS

PHP : FAQ PHP | Tutos PHP | Benchmark PHP 5

SQL : Cours SQL
trotters213 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2007, 14h51   #6
Membre régulier
 
Avatar de akara
 
Inscription : juin 2007
Messages : 299
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 299
Points : 81
Points : 81
ah ...& comment eviter l'injection?
__________________
Le no life répond "Counter Strike : Source"
Le geek répond "Cascading Style Sheets"
Ce n'est pas un hasard si deux choses vitales ont le même sigle
akara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2007, 15h47   #7
Expert Confirmé
 
Avatar de trotters213
 
Inscription : janvier 2005
Messages : 2 572
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Gard (Languedoc Roussillon)

Informations forums :
Inscription : janvier 2005
Messages : 2 572
Points : 2 605
Points : 2 605
Citation:
Envoyé par akara
ah ...& comment eviter l'injection?
Il y a plusieurs possibilités :
  • utiliser mysql_real_escape_string()
  • activer magic_quote_gpc
  • utiliser addslashes
  • ...
__________________
Pensez au tag
Les règles du Forum

Dev. Web : FAQ (X)HTML/CSS | Tutos (X)HTML | Tutos CSS

PHP : FAQ PHP | Tutos PHP | Benchmark PHP 5

SQL : Cours SQL
trotters213 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2007, 15h54   #8
Membre régulier
 
Avatar de akara
 
Inscription : juin 2007
Messages : 299
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 299
Points : 81
Points : 81
j'ai vu que magic_quote_gpc est activé par défault...cela suffit non ?
__________________
Le no life répond "Counter Strike : Source"
Le geek répond "Cascading Style Sheets"
Ce n'est pas un hasard si deux choses vitales ont le même sigle
akara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2007, 18h01   #9
Expert Confirmé
 
Avatar de trotters213
 
Inscription : janvier 2005
Messages : 2 572
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Gard (Languedoc Roussillon)

Informations forums :
Inscription : janvier 2005
Messages : 2 572
Points : 2 605
Points : 2 605
Citation:
Envoyé par akara
j'ai vu que magic_quote_gpc est activé par défault...cela suffit non ?
Dans ce cas tu peux utiliser cette fonction :
Code :
1
2
3
4
5
6
7
8
9
10
<?php
function quote_smart($value)
{
   // Stripslashes
   if (get_magic_quotes_gpc()) $value = stripslashes($value);
   // Protection si ce n'est pas un entier
   if (!is_numeric($value))$value = "'" . mysql_real_escape_string($value) . "'";
   return $value;
}
?>
comme ça t'es tranquille
__________________
Pensez au tag
Les règles du Forum

Dev. Web : FAQ (X)HTML/CSS | Tutos (X)HTML | Tutos CSS

PHP : FAQ PHP | Tutos PHP | Benchmark PHP 5

SQL : Cours SQL
trotters213 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2007, 10h39   #10
Membre régulier
 
Avatar de akara
 
Inscription : juin 2007
Messages : 299
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 299
Points : 81
Points : 81
saluut
donc faut que j'applique cette function à tous les variables tous tous tous... ?!
__________________
Le no life répond "Counter Strike : Source"
Le geek répond "Cascading Style Sheets"
Ce n'est pas un hasard si deux choses vitales ont le même sigle
akara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2007, 10h42   #11
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
Citation:
Envoyé par akara
saluut
donc faut que j'applique cette function à tous les variables tous tous tous... ?!
toutes les variables transmises en GET et en POST en tout cas oui.
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2007, 10h55   #12
Membre régulier
 
Avatar de akara
 
Inscription : juin 2007
Messages : 299
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 299
Points : 81
Points : 81
niarf...
Merci
__________________
Le no life répond "Counter Strike : Source"
Le geek répond "Cascading Style Sheets"
Ce n'est pas un hasard si deux choses vitales ont le même sigle
akara est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h16.


 
 
 
 
Partenaires

Hébergement Web