cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 2007
-
31 oct. 2005 à 16:13
yogam
Messages postés1Date d'inscriptionvendredi 31 décembre 2004StatutMembreDernière intervention 4 mai 2009
-
4 mai 2009 à 19:05
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
yogam
Messages postés1Date d'inscriptionvendredi 31 décembre 2004StatutMembreDernière intervention 4 mai 2009 4 mai 2009 à 19:05
FHX pourrais tu m'envoyer ta classe DB stp, je débute et je suis un peu perdu.
Merciiiiii
kankrelune
Messages postés1293Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention21 mai 2015 25 déc. 2005 à 21:31
je travaille sur la fonction callback... j'ais quasiement finit pour les liens après j'attaque les form... mais comme j'ais plusieurs choses sur le feu je ne peux te dire quand j'aurais finit... je te tiendrais au courant FhX... .. . ;o)
@ tchaOo°
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 17 nov. 2005 à 17:57
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 13 nov. 2005 à 19:57
Oups, j'ai oublié un truc :
Pour ajouter un truc en session :
$session->vars['Variable'] = 'valeur';
Ca marche comme $_SESSION[], sauf que la, c'est :
$(nom_de_la_classe)->vars[].
Voila voila :) Ca évite principalement les accès aux disques via fichiers au niveau serveur.
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 9 nov. 2005 à 21:54
Ou je suis con, ou je suis vraiment à la rue :p
C'est incroyable comme c'est plus complexe que ce à quoi je m'attendais :/
Simplement pour récupérer 'http://www.google.com' de :
Google
Bah c'est pas gagné :o
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 9 nov. 2005 à 15:54
C'est parti !
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 9 nov. 2005 à 15:52
www.expreg.com
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 9 nov. 2005 à 15:44
Bon j'ai tout réécrit... mais personne n'a de bon lien pour les expressions régulières ?
Parce que, c'est pas que je sois vraiment mauvais la dedand, mais presque !
:)
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 9 nov. 2005 à 11:40
Voui, mais ce que je veux dire, c'est que si tu utilises une URL externe, tu es obligé d'avoir quelque chose dans le genre :
www.nomdedomaine.com/......./..../....../index.php
Donc, suffit de savoir si tu as www.nomdedomaine.com dans l'url, et dans ce cas la, tu ne parses pas la balise.
Le seul problème, c'est que les expressions régulières et moi, ca fait 30 :/
Faut serieusement que je m'y mette.
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 9 nov. 2005 à 11:36
heu y'a les chemins relatifs aussi ^^ (bon courage)
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 9 nov. 2005 à 10:33
Bah non quel con !
Il suffit de parser l'url pour voir le nom de domaine !
Bon, me reste plus qu'à plancher sur les expressions régulières (j'ai horreur de ca ...)
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 9 nov. 2005 à 10:32
Vi exacte pour le $link.
Le seul problème que je rencontre est que si je parse toutes les [www.google.com/index.php Google] ) je vais me retrouver avec ca :
[www.google.com/index.php?sid=dsflmjdsmlfk Google]
cs_Antidote
Messages postés163Date d'inscriptionlundi 29 septembre 2003StatutMembreDernière intervention 8 mai 2010 9 nov. 2005 à 01:18
l'idée n'est pas bête et automatisé le parsage sur une fonction utilisé par ob_start('ma_fonction').
tu as oublié un " . " $link .= '"> Ton lien '; dans ton exemple.
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 8 nov. 2005 à 23:43
Dans ce cas, faut bien penser à faire passer ses IDs de session via les liens.
C'est bien pour ca que je teste via GET et POST :)
xxx.php?sid=dsfjsdmfsmdlkfsdmlkf <== GET
<== POST :)
Faut juste penser à le rajouter.
Et comment ?
Avec un pauvre if().
>
<?php
$link = '[xxx.php';
if ( !$session->session['use_cookie'] ) {
$link .= '?sid='.$session->sid;
}
$link = ' Ton lien ]';
echo $link;
?>
Faut pas oublier de mettre $sid en public et pas en private par contre.
Ce que tu peux faire aussi, c'est faire ta page html standard, et faire un parsing des liens si $session['use_cookie'] vaut FALSE par exemple.
A coup de str_replace ou de preg_replace :)
Faudrait que je pense à l'améliorer ce truc.
cs_Antidote
Messages postés163Date d'inscriptionlundi 29 septembre 2003StatutMembreDernière intervention 8 mai 2010 7 nov. 2005 à 21:04
tout les aoliens qui refuse les cookies auront la même session :/ problème de proxy avec les ips
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 2 nov. 2005 à 13:45
Non, comme je l'ai dit, je ne fais aucune vérification d'ID via GET ou POST.
Le plus sécurisé aurait pu etre dans la requete sql :
$sql "SELECT objet, last_access FROM session WHERE sid '".mysql_real_escape_string($this->sid)."' ";
La c'est bon :)
stepibou
Messages postés112Date d'inscriptionjeudi 11 mars 2004StatutMembreDernière intervention11 octobre 2006 2 nov. 2005 à 12:05
Salut FhX,
Bonne source!
Je ne m'y connais pas trop, mais est c'est bien securisé au niveau de la méthode get?
si on met du code dans la barre d'adresse, un pro du bidouillage....
tu verifie ton get avec un strlen : est ce suffisant?
merci,
a+(un revenant)
apxa
Messages postés188Date d'inscriptionmercredi 15 mai 2002StatutMembreDernière intervention25 avril 2009 1 nov. 2005 à 14:30
iop,
pour la fermeture de la connexion, "pas d'erreur c'est lessieur".
faut fermer dans le destructeur.
les unset, "c'est bien... en abuser ca craint".
c'est une bonne chose.
Have Fun.
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 1 nov. 2005 à 13:36
"ok :-) ça reste quand même moins optimisé que de fermer la connexion toi-même ;-)" Y'a qu'à faire un unset() quand tu en as plus besoin et le tour est joué :)
Le problème ici, c'est que j'update le timer de session dans le destructeur de ma classe. J'aurais pu le faire ailleurs, mais comme un destructeur sert à ca, pourquoi ne pas me priver :)
Ok pour la déclaration, je changerai ca tout à l'heure.
apxa
Messages postés188Date d'inscriptionmercredi 15 mai 2002StatutMembreDernière intervention25 avril 2009 1 nov. 2005 à 10:46
iop
tres bien ta source.
pour la declaration, je dirais que seul les variables static peuvent etre instancié a cette endroit et la en effet c pas le cas.
Have Fun.
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 31 oct. 2005 à 18:49
"Normal, la fermeture de connection à la base se trouve dans le __destruct() de ma classe de DB"
ok :-) ça reste quand même moins optimisé que de fermer la connexion toi-même ;-)
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 31 oct. 2005 à 18:03
"on initialise les variables dans le constructeur, pas dans leur déclaration :"
Ah, moi qui faisait toujours comme ca :(
"je ne vois également pas de mysql_close() permettant de fermer une éventuelle connexion à la base ;-)"
Normal, la fermeture de connection à la base se trouve dans le __destruct() de ma classe de DB. Elle est implicite, voila pourquoi tu ne la vois pas :)
(Classe qui est au passage celle que j'ai posté sur PHPCS)
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 31 oct. 2005 à 16:13
Salut FhX :-)
juste une petite correction pour des trucs bateaux :
# public $session = array(); // Paramètre de session
# public $ip = '192.168.0.1'; // Ip du visiteur
# private $logged_in false; // Si l'authentification est ok> TRUE
on initialise les variables dans le constructeur, pas dans leur déclaration :
public $session; // Paramètre de session
public $ip; // Ip du visiteur
private $logged_in; // Si l'authentification est ok ==> TRUE
et dans le __construct()
$this->ip='blabla';
$this->logged_in=TRUE;
je ne vois également pas de mysql_close() permettant de fermer une éventuelle connexion à la base ;-)
4 mai 2009 à 19:05
Merciiiiii
25 déc. 2005 à 21:31
@ tchaOo°
17 nov. 2005 à 17:57
Etant donné que ca rame comme pas possible sur PHPCS. En attendant un moment de la journée un peu plus calme :)
13 nov. 2005 à 19:57
Pour ajouter un truc en session :
$session->vars['Variable'] = 'valeur';
Ca marche comme $_SESSION[], sauf que la, c'est :
$(nom_de_la_classe)->vars[].
Voila voila :) Ca évite principalement les accès aux disques via fichiers au niveau serveur.
9 nov. 2005 à 21:54
C'est incroyable comme c'est plus complexe que ce à quoi je m'attendais :/
Simplement pour récupérer 'http://www.google.com' de :
Google
Bah c'est pas gagné :o
9 nov. 2005 à 15:54
9 nov. 2005 à 15:52
9 nov. 2005 à 15:44
Parce que, c'est pas que je sois vraiment mauvais la dedand, mais presque !
:)
9 nov. 2005 à 11:40
www.nomdedomaine.com/......./..../....../index.php
Donc, suffit de savoir si tu as www.nomdedomaine.com dans l'url, et dans ce cas la, tu ne parses pas la balise.
Le seul problème, c'est que les expressions régulières et moi, ca fait 30 :/
Faut serieusement que je m'y mette.
9 nov. 2005 à 11:36
9 nov. 2005 à 10:33
Il suffit de parser l'url pour voir le nom de domaine !
Bon, me reste plus qu'à plancher sur les expressions régulières (j'ai horreur de ca ...)
9 nov. 2005 à 10:32
Le seul problème que je rencontre est que si je parse toutes les [www.google.com/index.php Google] ) je vais me retrouver avec ca :
[www.google.com/index.php?sid=dsflmjdsmlfk Google]
9 nov. 2005 à 01:18
tu as oublié un " . " $link .= '"> Ton lien '; dans ton exemple.
8 nov. 2005 à 23:43
C'est bien pour ca que je teste via GET et POST :)
xxx.php?sid=dsfjsdmfsmdlkfsdmlkf <== GET
<== POST :)
Faut juste penser à le rajouter.
Et comment ?
Avec un pauvre if().
>
<?php
$link = '[xxx.php';
if ( !$session->session['use_cookie'] ) {
$link .= '?sid='.$session->sid;
}
$link = ' Ton lien ]';
echo $link;
?>
Faut pas oublier de mettre $sid en public et pas en private par contre.
Ce que tu peux faire aussi, c'est faire ta page html standard, et faire un parsing des liens si $session['use_cookie'] vaut FALSE par exemple.
A coup de str_replace ou de preg_replace :)
Faudrait que je pense à l'améliorer ce truc.
7 nov. 2005 à 21:04
2 nov. 2005 à 13:45
Le plus sécurisé aurait pu etre dans la requete sql :
$sql "SELECT objet, last_access FROM session WHERE sid '".mysql_real_escape_string($this->sid)."' ";
La c'est bon :)
2 nov. 2005 à 12:05
Bonne source!
Je ne m'y connais pas trop, mais est c'est bien securisé au niveau de la méthode get?
si on met du code dans la barre d'adresse, un pro du bidouillage....
tu verifie ton get avec un strlen : est ce suffisant?
merci,
a+(un revenant)
1 nov. 2005 à 14:30
pour la fermeture de la connexion, "pas d'erreur c'est lessieur".
faut fermer dans le destructeur.
les unset, "c'est bien... en abuser ca craint".
c'est une bonne chose.
Have Fun.
1 nov. 2005 à 13:36
Le problème ici, c'est que j'update le timer de session dans le destructeur de ma classe. J'aurais pu le faire ailleurs, mais comme un destructeur sert à ca, pourquoi ne pas me priver :)
Ok pour la déclaration, je changerai ca tout à l'heure.
1 nov. 2005 à 10:46
tres bien ta source.
pour la declaration, je dirais que seul les variables static peuvent etre instancié a cette endroit et la en effet c pas le cas.
Have Fun.
31 oct. 2005 à 18:49
ok :-) ça reste quand même moins optimisé que de fermer la connexion toi-même ;-)
31 oct. 2005 à 18:03
Ah, moi qui faisait toujours comme ca :(
"je ne vois également pas de mysql_close() permettant de fermer une éventuelle connexion à la base ;-)"
Normal, la fermeture de connection à la base se trouve dans le __destruct() de ma classe de DB. Elle est implicite, voila pourquoi tu ne la vois pas :)
(Classe qui est au passage celle que j'ai posté sur PHPCS)
31 oct. 2005 à 16:13
juste une petite correction pour des trucs bateaux :
# public $session = array(); // Paramètre de session
# public $ip = '192.168.0.1'; // Ip du visiteur
# private $logged_in false; // Si l'authentification est ok> TRUE
on initialise les variables dans le constructeur, pas dans leur déclaration :
public $session; // Paramètre de session
public $ip; // Ip du visiteur
private $logged_in; // Si l'authentification est ok ==> TRUE
et dans le __construct()
$this->ip='blabla';
$this->logged_in=TRUE;
je ne vois également pas de mysql_close() permettant de fermer une éventuelle connexion à la base ;-)
a +