parametrage des sessions ds le php.ini

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 : parametrage des sessions ds le php.ini

par Cyrano » 17 oct. 2005, 09:02

Ça, + le fait qu'un register_global à ON est une faille de sécurité potentielle: c'est pour cette raison que cette directive est par défaut à OFF depuis la version 4.2 de PHP.

par zeus » 17 oct. 2005, 08:58

Faut savoir qu'il est fortement déconseillé de développer avec register_global à on car la majorité de hebergeur le proposent à off et qu'il peut y avoir superposition de variables

faut apprendre à développer proprement et de manière portable ;)

par JyLoO » 17 oct. 2005, 08:18

Rien a voir >> register_globals est à off dans son php.ini

Faut apprendre à coder ;)

par rami » 13 juil. 2005, 19:15

Tu utilises bien la méthode POST dans ton formulaire? (method="POST" dans ta balise <form>)

par toony21 » 13 juil. 2005, 09:27

OK merci. J'ai corrigé mon code mais je rencontre un autre problème maintenant :
les variables entre le formulaire et la page qui y fait référence ne s'affichent pas...

pourtant je test bien l'existence des variables mais elles sont vides...
2ème page:
<?
echo "ok";
if (isset($_POST['login'])){
	  $login=$_POST['login'];
}
else {
	  $login="";
}

?>

par rami » 12 juil. 2005, 17:03

Ca tourne sur online car error_reportong est à 0.

A chaque fois que tu utilises une variable $_POST, $_GET, $_SESSION..., il faut tester son existence avant:
<?
session_start(); // On démarre la session
if(isset($_SESSION['type']))
     $type=$_SESSION['type'];
else $type = null;

if ($type!="O"){
header ("Location: accueil-pro.php");
}
?>

par toony21 » 12 juil. 2005, 16:29

Comment se fait il que ses variables n'existent pas alors?

Elle sont rentrées dans un formulaire pourtant...

par toony21 » 12 juil. 2005, 16:02

et donc jedois faire quoi?
parce que caché les erreurs ne permmettra poas a mon code de sexecuté correctement...
Pourquoi est ce que mes variable ne sont pas reconnues??

alors que je le rapelle ca tourne TB sur Online!!

par zeus » 12 juil. 2005, 15:35

On est en train de résoudre pourquoi est-ce que les variables n'existent pas donc
- la facile mais pas propre: tu mets error_reporting à 0 dans ton php.ini
Et s'il a besoin de ces variable ?
- la plus mieux propre: tu testes l'existence de tes variables avant de les utiliser.
Même réponses, s'il a besoin des variables

Le problème n'est pas qu'elles n'existent pas tout le temps, mais jamais

par toony21 » 12 juil. 2005, 15:33

Oui!

[Session]
; Handler used to store/retrieve data.
session.save_handler = files

; Argument passed to save_handler. In the case of files, this is the path
; where data files are stored. Note: Windows users have to change this
; variable in order to use PHP's session functions.
session.save_path = "${path}\tmp\"

; Whether to use cookies.
session.use_cookies = 1

; This option enables administrators to make their users invulnerable to
; attacks which involve passing session ids in URLs; defaults to 0.
; session.use_only_cookies = 1

; Name of the session (used as cookie name).
session.name = PHPSESSID

; Initialize session on request startup.
session.auto_start = 0

; Lifetime in seconds of cookie or, if 0, until browser is restarted.
session.cookie_lifetime = 0

; The path for which the cookie is valid.
session.cookie_path = /

; The domain for which the cookie is valid.
session.cookie_domain =

; Handler used to serialize data. php is the standard serializer of PHP.
session.serialize_handler = php

Re: parametrage des sessions ds le php.ini

par rami » 12 juil. 2005, 15:31

Notice: Undefined index: type in c:\program files\easyphp1-8\www\o-liste.php on line 3

Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\o-liste.php:3) in c:\program files\easyphp1-8\www\o-liste.php on line 5

comment dois etre configurer mon php.ini? :roll:
Le probleme ne vient pas d'easyphp mais de ton code qui n'est pas propre. 2 solutions s'offrent à toi:
- la facile mais pas propre: tu mets error_reporting à 0 dans ton php.ini
- la plus mieux propre: tu testes l'existence de tes variables avant de les utiliser.

;)
Edit: pour etre plus clair, l'erreur "Warning: Cannot modify header information" est due à la première erreur "Notice: Undefined index: type in c:\program files\easyphp1-8\www\o-liste.php on line 3".

par zeus » 12 juil. 2005, 15:26

Est-ce que tu as ça dans ton php.ini ?

Code : Tout sélectionner

session.use_cookies = 1

par Invité » 12 juil. 2005, 15:24

pourtant non. Le code est écrit comme ci-dessus.
Sans espaces.
C'est la version 1.8 d'easyphp qui est installé. J'ai vu que la variable register_global etait à 0, je l'ai passsé à 1 mais rien ne change.

Personne n'a déja paramétrer son php.ini pour qu'il accepte des sessions ?

par zeus » 12 juil. 2005, 15:15

Est-ce que tu as un espace ou un saut de ligne avant le header() ?

Parce que le message d'erreur est typiquement celui qui est généré dans ce cas

par toony21 » 12 juil. 2005, 15:09

oui il est bien présent. mais le pb vient de la configuration de mon php.ini car j'ai testé le script sur un hebergement online et aucun pb. Mais là j'ai installé l'easyphp et ca ne marche pas!
Le pb vient dc de lui...

<?
session_start(); // On démarre la session
$type=$_SESSION['type'];
if ($type!="O"){
header ("Location: accueil-pro.php");
}
?>