Rechercher : dans
Par :

Transmettre variables php cachées

Dernière réponse le 18 aoû 2008 à 12:35:10 **isa, le 22 mai 2007 à 16:19:27 
 Signaler ce message aux modérateurs

Bonjour,
J'ai un script d'indentification qui permet de transmettre à la page index2.php la variable $identif ayant pour valeur 7wrv9.
Tout fonctionne, pas de problème, mais comment transmettre cette variable de façon à ce qu'elle ne se voie pas dans la zone adresse du navigateur ?
Je pensais à un formulaire avec un hidden, mais je ne vois pas comment le faire puisqu'il n'y a pas de validation proprement dite..
Voici mon script :


<?php 

$ok=0;
//test des identifiant et mot de passe
if ($identif == "jcb")
{
  if ($pass == "mot de passe")
 {
// si ok, ouverture de la page index2 avec envoi de la variable
//c'est là que ça pèche, c'est visible dans la barre d'adresse
 header("location:./index2.php?identif=7wrv9");
 }
 else {$ok=1;}
}
else {$ok=1;}

// TEST
if ($ok==1)
{
echo "<center><h1>Echec d'indentification !<br>Vérifier les données que vous avez entrées...</h1><br><a href=\"./index.html\">Cliquez ici pour recommencer</a>";
}
?> 


Merci de vos réponses...

Isa Quand je ne sais pas je demande à ceux qui savent...
Configuration: Windows XP
Firefox 1.5.0.11

Meilleures réponses pour « transmettre variables php cachées » dans :
[PHP] Notice: Undefined index: VoirSi vous utilisez les tableaux $_POST ou $_GET pour récupérer les variables de vos formulaires ou autres, il se peut que vous tombiez sur cette erreur: Notice: Undefined index 'champs du tableau' in 'chemin du fichier php en cours d'execution' on line...
PHP - Concaténation VoirPHP permet de concaténer des chaînes de caractères grâce à l'opérateur "." : $concatenation= $a . $b; Ou encore pour affecter, dans la variable $a, la valeur de la concaténation de $a et de $b : $a.=$b; Pour concaténer des chaînes et des...
[Shell] Tester une variable numérique VoirTester une variable numérique    Préambule Dans un environnement "shell", les variables sont, par défaut, de type "chaîne de caractères". De ce fait il n'est pas possible de déclarer une variable de type "entier" (enfin, ceci n'est pas tout à...
PHP - Les variables VoirConcept de variable avec PHP Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage PHP peuvent être de trois...
PHP - Les variables d'environnement VoirNotion de variable d'environnement Les variables d'environnement sont, comme leur nom l'indique, des données stockées dans des variables permettant au programme d'avoir des informations sur son environnement. L'environnement, dans le cas du script...
Javascript - Les variables VoirLe concept de variable Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. En Javascript, les noms de variables peuvent être aussi long que l'on désire,...

1

antho33, le 22 mai 2007 à 16:43:55

Fait les passer pas la méthode POST puis tu les récuperera dans ta page suivante avec $_POST['identif '] et $_POST['pass ']...

Répondre à antho33

2

txiki, le 22 mai 2007 à 16:47:33
  • +1

Salut,
Il faut que tu passe ta variable en POST et non en GET (par défaut)
M'enfin chui pas un pro du PHP:
Un exemple que j'ai fait en créant une variable de session:

<?
session_start();  // Démarrage de la session. A placer obligatoirement avant tout code html

$_SESSION['connect'] = 0; //initialise la variable 'connect'

if (isset($_POST['mot_de_passe']) AND isset($_POST['login'])) // Si les variables existent
{
        $mot_de_passe = $_POST['mot_de_passe'];
        $login = $_POST['login'];  //On récupère les données envoyées par la méthode POST du formulaire d'identification
}

else // Les variables n'existent pas encore
{
        $mot_de_passe = "";
        $login = ""; // On crée des variables $mot_de_passe  et $login vides
}

if (($mot_de_passe == "******" AND $login == "********") OR ($mot_de_passe == "******" AND $login == "******")OR ($mot_de_passe == "******" AND $login == "******") OR ($mot_de_passe == "******" AND $login == "******"))
// Si le mot de passe et le login sont bons (valable pour 1 utilisateur ou plus). J'ai mis plusieurs identifiants et mots de passe.

{
		$_SESSION['connect'] = 1;  // Change la valeur de la variable connect. 
		$_SESSION['login'] = $login;  // Permet de récupérer le login afin de personnaliser la navigation

// On affiche la page cachée.
?>
etc etc etc..... si tu veux le reste, a la fin de la page cachée, dis le car tout ceci est sur la même page mais tant qu'on ne se logue pas, on ne vois pas le reste. Le bonheur est la seule chose que l'on peut donner sans l'avoir.

Répondre à txiki

3

ismail, le 20 jan 2008 à 21:04:33

Bonjour il faut d'utiliser la metode poste et la ps la methode get

Répondre à ismail

4

fayssalis, le 5 aoû 2008 à 14:05:48

//utilise ce bout de code à la place du tien


<?php

$ok=0;
//test des identifiant et mot de passe
if ($identif == "jcb")
{
if ($pass == "mot de passe")
{
// si ok, ouverture de la page index2 avec envoi de la variable
//c'est là que ça pèche, c'est visible dans la barre d'adresse
// header("location:./index2.php?identif=7wrv9");
// ici tu déclare un formulaire avec la method POST contenant la variable identif

?>
<form name="fayssalis_hi_hi_hi" method="POST" action="index2.php">
<input type="hidden" name="identif" value="7wrv9">
</form>

<!-- maintanant on envoi le formulaire avec un petit bout de code javascript comme seci
<script language="javascript">fayssalis_hi_hi_hi.submit();</script>

<?
/* récapitulons

au lieu d'utiliser un header, on a déclaré un formulaire contanant les variables à passer comme argument
dans l'url index2.php

ensuite on a fait appel à un code javascript qui submite automatiquement le formulaire
remarquez le fait que le formulaire envoit ses données à la page index2.php c'est primordiale

voila tout, j'éspere que j'ai répondu à votre question hi hi hi hi */
}
else {$ok=1;}
}
else {$ok=1;}

// TEST
if ($ok==1)
{
echo "<center><h1>Echec d'indentification !<br>Vérifier les données que vous avez entrées...</h1><br><a href=\"./index.html\">Cliquez ici pour recommencer</a>";
}
?>

Répondre à fayssalis

5

 johnvsk2, le 18 aoû 2008 à 12:35:10

Bonjour,

Avant toute chose, un grand merci à vous pour l'aide que vous apportez.
Vos codes me sont utiles, mais mon objectif est un peu différent...
C'est à dire : faire en sorte que même la page php ne contient pas de mot de passe... :)

Faire en sorte que :
user et password ne soient que des variables...

Je pense que si j'y arrivais, que ce serait mieux d'un point de vue sécurité ;)

Bien à vous.
John.

Répondre à johnvsk2
Collection CommentÇaMarche.net