Aller au menu - Aller au contenu

[Plan du site] Vous êtes ici --- > Le Site du Zéro > Les forums > Site Web > PHP > Vos Fonctions ou astuces > Lecture du sujet

Vos Fonctions ou astuces

Vous devez être inscrit pour pouvoir poster des messages

Page : Précédente  1  2  3  ...  81  82  83  84  85  86  87  ...  93  94  95  96  Suivante
Auteur Message
1 visiteur sur ce sujet (1 anonyme)
Page : Précédente  1  2  3  ...  81  82  83  84  85  86  87  ...  93  94  95  96  Suivante
Hors ligne Okajima # Posté le 08/05/2008 à 20:19:22
Vive One piece et le sdz !
Groupe : Membres
Reprise du dernier message de la page précédente :
Il n'y a que les admins qui utiliseront le bbcode ^^

Vive le sdzzzzzzz !!!!
Voici mon site, très bien réalisé je trouve .... :-° :-° Grandline !!!!!
Image utilisateur
 
Hors ligne JaKhris # Posté le 08/05/2008 à 20:30:27
Wait & See
Avatar
Groupe : Membres
Okajima : Joliiii le str_replace avec les guillemets (vive les apostrophes au passage), le HTML en est d'autant plus beau. ;)

PS : On va encore me gueuler dessus pour ce que je viens de dire...nié, j'assume. :p Je trouve les apostrophes bien plus propres. :)
Édité le 08/05/2008 à 20:30:53 par JaKhris

Mes sites : JAKPRO ~ URPRO ~ page DeviantArt
XHTML, CSS, JS, PHP, MySQL, Graphics, Music & Video Games : This is living ! =D
 
Hors ligne Okajima # Posté le 08/05/2008 à 20:31:23
Vive One piece et le sdz !
Groupe : Membres
Que pensez vous de ma deuxième source, celle de vérification de la validité d'un cookie ??

Vive le sdzzzzzzz !!!!
Voici mon site, très bien réalisé je trouve .... :-° :-° Grandline !!!!!
Image utilisateur
 
Hors ligne Neoterranos # Posté le 08/05/2008 à 20:35:10
1 kilomètre à pieds...
Avatar
Groupe : Membres
Citation : JaKhris
Okajima : Joliiii le str_replace avec les guillemets (vive les apostrophes au passage), le HTML en est d'autant plus beau. ;)

PS : On va encore me gueuler dessus pour ce que je viens de dire...nié, j'assume. :p Je trouve les apostrophes bien plus propres. :)

Chacun fait ce qu'il veut, c'est à cause des gens qui veulent imposer leurs préférences qu'il y a des malentendus.

Pour ta deuxième fonction, c'est indispensable de vérifier le contenu des cookies, imagine que le membre soit banni, si tu vérifies pas... :p

Image utilisateur
Pour ccds, j'aide de préférence ici, mais je peux aider par MP, par contre je ne donne pas les réponses.
 
Hors ligne Okajima # Posté le 08/05/2008 à 20:36:55
Vive One piece et le sdz !
Groupe : Membres
Citation : Neoterranos

Pour ta deuxième fonction, c'est indispensable de vérifier le contenu des cookies, imagine que le membre soit banni, si tu vérifies pas... :p


C'est pas trop ce qui m'inquiète, j'ai peur que un utilisateur usurpe l'identité d'un admin a partir des cookies

Vive le sdzzzzzzz !!!!
Voici mon site, très bien réalisé je trouve .... :-° :-° Grandline !!!!!
Image utilisateur
 
Hors ligne Neoterranos # Posté le 08/05/2008 à 20:39:15
1 kilomètre à pieds...
Avatar
Groupe : Membres
Comment ferait-il si le cookie contient le mdp de l'admin, à moins de le connaître.

Image utilisateur
Pour ccds, j'aide de préférence ici, mais je peux aider par MP, par contre je ne donne pas les réponses.
 
Hors ligne K-Phoen # Posté le 08/05/2008 à 20:42:24
Geek un jour, geek toujours !
Avatar
Groupe : Membres
@Okajima :: Pour ta seconde fonction, il serait, je pense, judicieux de :
- vérifier que les cookies ne sont pas vides
- appliquer un mysql_real_escape_string(), histoire de minimiser les risques d'injection

enfin ... je dis ça, je dis rien :)

La Geek Attitude
-----------------------
Tout sur Adobe AIR

Image utilisateur
 
Hors ligne Okajima # Posté le 08/05/2008 à 20:44:07
Vive One piece et le sdz !
Groupe : Membres
Non non au contraire c'est une bonne réflexion ,j'y avais carrément pas pensé au fait qu'un cookie peut être vide ^^

Vive le sdzzzzzzz !!!!
Voici mon site, très bien réalisé je trouve .... :-° :-° Grandline !!!!!
Image utilisateur
 
Hors ligne Neoterranos # Posté le 08/05/2008 à 20:49:22
1 kilomètre à pieds...
Avatar
Groupe : Membres
Quel serait le problème d'un cookie vide?

Image utilisateur
Pour ccds, j'aide de préférence ici, mais je peux aider par MP, par contre je ne donne pas les réponses.
 
Hors ligne K-Phoen # Posté le 08/05/2008 à 20:51:53
Geek un jour, geek toujours !
Avatar
Groupe : Membres
Si le cookie est vide, pourquoi faire ces vérifications ?

La Geek Attitude
-----------------------
Tout sur Adobe AIR

Image utilisateur
 
Hors ligne anonyme # Posté le 08/05/2008 à 20:54:43
Groupe :
Je vois vraiment pas l'intérêt de ta fonction secure_session. C'est fait pour ton cas particulier, mais c'est vraiment trop spécifique. Le but de ce topic c'est de donner des astuces ou des fonctions générales, qui ne sont pas liés à un cas particulier.
Hors ligne Neoterranos # Posté le 08/05/2008 à 20:56:40
1 kilomètre à pieds...
Avatar
Groupe : Membres
Citation : K-Phoen
Si le cookie est vide, pourquoi faire ces vérifications ?

Et ça c'est quoi ?

Code : PHP
1
2
3
<?php
if(isset($_COOKIE['pseudo']) AND isset($_COOKIE['mdp'])  AND isset($_COOKIE['niveau']))
?>

Si le cookie est vide, les conditions ne sont pas remplies, donc pas de vérifications.

Bonne soirée.
Édité le 08/05/2008 à 20:57:27 par Neoterranos

Image utilisateur
Pour ccds, j'aide de préférence ici, mais je peux aider par MP, par contre je ne donne pas les réponses.
 
Hors ligne anonyme # Posté le 08/05/2008 à 20:58:25
Groupe :
Vide != existe.
Hors ligne K-Phoen # Posté le 08/05/2008 à 20:58:41
Geek un jour, geek toujours !
Avatar
Groupe : Membres
là, tu ne vérifies que l'existence de la variable. Pas le fait qu'elle soit vide ou non ;)

Edit :: woops, grilled :p
Édité le 08/05/2008 à 20:59:24 par K-Phoen

La Geek Attitude
-----------------------
Tout sur Adobe AIR

Image utilisateur
 
Hors ligne Okajima # Posté le 08/05/2008 à 21:01:37
Vive One piece et le sdz !
Groupe : Membres
j'ai créer cette fonctin histoire de sécurisé mes sessions d'accès à l'administration.
On m'a dit qu'il était indispensable de le faire .

Comment auriez vous protéger l'identification par cookie ???

Vive le sdzzzzzzz !!!!
Voici mon site, très bien réalisé je trouve .... :-° :-° Grandline !!!!!
Image utilisateur
 
Hors ligne Neoterranos # Posté le 08/05/2008 à 21:12:31
1 kilomètre à pieds...
Avatar
Groupe : Membres
Citation : `Haku
Vide != existe.

Si le cookie est vide, la variable n'existe pas.

Ou bien j'ai loupé un épisode?

Edit : @ `Haku : C'est vrai, j'avais pas réfléchi à cela.

Un if(trim($_COOKIE['valeur']) == '') serait utile alors ^^
Édité le 08/05/2008 à 21:20:28 par Neoterranos

Image utilisateur
Pour ccds, j'aide de préférence ici, mais je peux aider par MP, par contre je ne donne pas les réponses.
 
Hors ligne anonyme # Posté le 08/05/2008 à 21:18:09
Groupe :
En effet, au temps pour moi.
Mais et s'il n'y a qu'un espace par exemple ? Vérifier l'existence ne suffit pas.
Edit : setcookie ne permet pas de mettre une chaîne vide, mais tu peux créer toi-même un cookie avec une chaîne vide !

@Okajima

Tu l'as testée ta fonction ? J'en doute.
Hors ligne Okajima # Posté le 08/05/2008 à 21:28:15
Vive One piece et le sdz !
Groupe : Membres
En fait j'ai tester une fois mais elle était encore incomplète. Pour le moment mon serveur bug, donc j'attend un peu pour faire le test final !

Vive le sdzzzzzzz !!!!
Voici mon site, très bien réalisé je trouve .... :-° :-° Grandline !!!!!
Image utilisateur
 
Hors ligne Neoterranos # Posté le 08/05/2008 à 21:43:19
1 kilomètre à pieds...
Avatar
Groupe : Membres
En fait Haku, je me trompe peut-être pour le cookie vide équivalent à la non existence de la variable, mais j'avais testé, et je me rappelle que ça donnait un !isset().

Bref, je ne veux pas affirmer, mais dans mes souvenirs, c'est ça.

Image utilisateur
Pour ccds, j'aide de préférence ici, mais je peux aider par MP, par contre je ne donne pas les réponses.
 
Hors ligne Utopi@ # Posté le 08/05/2008 à 22:43:13
Qui peut le plu peut le moinss
Avatar
Groupe : Membres
Auteur: Utopi@
Type: Fonction / Astuce
But: Restreindre l'accès à certaines pages
Code:
Code : PHP
 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
<?php
function controle_acces($rang)
{
        /* Explications : variables de session
        1 correspond a l'admin
        2 correspond au modérateur
        0 correspond au membre
        */

	switch($rang)
	{
		case 'admin':
			if($_SESSION['rang'] != 1)
			{
				header('location:index.php');
                                exit;
			}
		break;
		case 'moderateur':
			if($_SESSION['rang'] != 1 or $_SESSION['rang'] != 2)
			{
				header('location:index.php');
                                exit;
			}
		break;
		//Correspond à un membre inscrit
		default:
			if(empty($_SESSION['rang']))
			{
				header('location:index.php');
                                exit;
			}
		break;
	}
}
?>

Exemple:
Code : PHP
1
2
3
4
5
<?php
controle_acces('admin');
controle_acces('moderateur');
controle_acces(); //Pour les membres inscrits seulement
?>


Bon voila mon système pour gérer les droits d'accès à certaines page en fonction de variables de session. Fonction très simple mais très utile.
J'espère que ça vous interessera :)
Édité le 08/05/2008 à 23:53:29 par Utopi@

Don't think you are, Know you are ...
 
Hors ligne Dentuk # Posté le 08/05/2008 à 23:40:42
Yamo...
Avatar
Groupe : Membres
Attention, envoyer un en-tête Location ne veut pas dire que la page arrête de s'éxecuter.
Donc rajoute un exit; après. ;)

En l'occurrence avec ça :
Code : PHP
1
2
3
4
5
6
7
8
9
<?php
function controleacces($rang) {
 /* ... */
}

controleacces('admin');

echo 'Truc confidentiel.';
?>
Le navigateur recevra ceci :
Code : Autre
1
2
3
4
5
HTTP/1.X 200 OK
[entetes divers et variés]
location:index.php

Truc confidentiel.
Mais il ne sera pas obligé de suivre l'en-tête.

Signature en cours de révision.
 
Hors ligne Utopi@ # Posté le 08/05/2008 à 23:53:52
Qui peut le plu peut le moinss
Avatar
Groupe : Membres
voila c'est modifié :)

Don't think you are, Know you are ...
 
Hors ligne anonyme # Posté le 08/05/2008 à 23:57:14
Groupe :
Encore une fois, ça n'a rien d'une astuce, et cette fonction est bien trop spécifique.
Et de toute façon, se baser sur les "numéros" des rangs pour gérer les droits, je trouve ça vraiment trop limité, il faut toujours faire un cas pour chaque numéro.
Hors ligne JeromeJ # Posté le 09/05/2008 à 15:32:46
Avatar
Groupe : Membres
@Okajima:

Ne serait-il pas beaucoup mieux...
1) Utiliser des ' et non des "
2) str_replace accepte l'utlisation des array ... Pourquoi ré-écraser celui à chaque fois ? Ne serait-il pas mieux de se contenter d'une seule fois ?
Édité le 09/05/2008 à 15:36:36 par JeromeJ








Secret (cliquez pour afficher)
Ce que je maitrise actuellement: XHTML, CSS, PHP, Action Script 2 et 3, JavaScript, SQL, Python, et un peu de C, C++ et d'erl
 
Hors ligne Okajima # Posté le 09/05/2008 à 19:14:42
Vive One piece et le sdz !
Groupe : Membres
En effet, c'est envisageable, mais bon pour les guillemets, à mon avis, chacun ses gouts donc ca exit -->

Après pour ton histoire d'array, il est vrai que ca paraitrait plus clair, mais j'ai encore pas mal de mal à gérer les REGEX, donc j'arrive pas trop à mettre en pratique ce que tu dit ^^

Vive le sdzzzzzzz !!!!
Voici mon site, très bien réalisé je trouve .... :-° :-° Grandline !!!!!
Image utilisateur
 
Hors ligne JaKhris # Posté le 09/05/2008 à 20:02:30
Wait & See
Avatar
Groupe : Membres
Code : PHP
1
2
3
4
5
6
<?php
$texte = 'Hey ! :D Comment vas-tu ? ;)';
$entree = array(':D', ';)');
$sortie = array('<img src="'.$site.'/images/smiley/smile.gif" alt=":D" />', '<img src="'.$site.'/images/smiley/wink.gif" alt=":D" />');
$texte = str_replace($entree, $sortie, $texte);
?>


C'est pas plus compliqué que ça. ;)

PS : Je suis sûr que si M@teo avait fait son tutoriel PHP avec ' au lieu de ", les goûts ne seraient pas les mêmes chez tous... :)

Mes sites : JAKPRO ~ URPRO ~ page DeviantArt
XHTML, CSS, JS, PHP, MySQL, Graphics, Music & Video Games : This is living ! =D
 
Hors ligne Okajima # Posté le 09/05/2008 à 20:12:37
Vive One piece et le sdz !
Groupe : Membres
En effet, c'était pas si compliqué que ca comme tu dit xd !

je vais voir comment l'appliquer ^^

Vive le sdzzzzzzz !!!!
Voici mon site, très bien réalisé je trouve .... :-° :-° Grandline !!!!!
Image utilisateur
 
Hors ligne Lynix # Posté le 09/05/2008 à 22:04:31
Graphiste 3D
Avatar
Groupe : Membres
Okajima => non, les ' sont 4x plus rapides que les " ;)
 
Hors ligne anonyme # Posté le 09/05/2008 à 22:16:36
Groupe :
Dingue !

Mais, où est donc la preuve de cette affirmation ? Et d'ailleurs, cette affirmation est elle générale ou particularisée ?
Hors ligne Lynix # Posté le 09/05/2008 à 23:15:21
Graphiste 3D
Avatar
Groupe : Membres
Je n'ai pas le lien ici qui explique et qui montre les expériences mais sinon c'est a cause des variables, dans les ", php cherche les variable a chaque fois, pas dans les '
EDIT :
http://pbnaigeon.developpez.com/tutori [...] he-guillemet/
Édité le 09/05/2008 à 23:29:35 par Lynix
 
Hors ligne anonyme # Posté le 10/05/2008 à 01:25:26
Groupe :
Et ce lien montre une fois de plus que les bench ne valent rien du tout !
Code : PHP
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
<?php

$plouf = '';

$a = microtime(true);
for($i = 0; $i < 10000; $i++)
    $plouf = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
echo microtime(true)-$a;

$plouf = '';
echo '<br />';

$a = microtime(true);
for($i = 0; $i < 10000; $i++)
    $plouf = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa';
echo microtime(true)-$a;

?>

Sortie :
Code : Console
0.0042707920074463
0.0042960643768311
==
0.0044081211090088
0.0072910785675049
== 
0.004396915435791
0.0044100284576416
==
0.0079131126403809
0.004410982131958
==
0.0060241222381592
0.0045130252838135
==
0.0046100616455078
0.0043339729309082
==
0.0044269561767578
0.0043330192565918
==
0.0043661594390869
0.0045909881591797
==
0.0043931007385254
0.0046567916870117

(win vista sp1, php5.2.5, la flemme de dire le reste)
Bref, c'est du pareil au même. Et la longueur de la chaîne ne semble influencer en rien (avec 30 000 caractères, c'est toujours pareil).

J'en conclurais donc que tant qu'il n'y a pas d'interprétation de variables, il n'y a aucune différence. Et c'est bien pour ça que je t'ai demandé si c'était un test général ou particularisé.
Et comme il n' y a aucune interprétation de variables dans les "" dans son code, ' ou ", aucune importance on dirait.

Retour au forum "PHP" ou à la liste des forums

Vous devez être inscrit pour pouvoir poster des messages

Changer de design | En savoir plus | Plan du site | Politique d'accessibilité | Règles | RSS tutoriels | RSS news
Édité par Simple IT SARL : Nous contacter | Notre blog | Revue de presse | Publicité

Y'a plus rien à lire, faut remonter maintenant !

Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.

Nombre de connectés 243 Zéros connectés | Requêtes SQL 9 requêtes | Temps de génération de la page : Total (SQL) 0.1366s (0.1113s)