TutorielsVous débutez ? C'est ici qu'on commence !
Mon compte
Recherche
Livre d'or
PublicitéVous devez être inscrit pour pouvoir poster des messages
| Page : Précédente 1 2 3 ... 68 69 70 71 72 73 74 ... 90 91 92 93 Suivante | |
| Auteur | Message |
|---|---|
| 2 visiteurs sur ce sujet (1 membre et 1 anonyme) : Kam1490 | |
| Page : Précédente 1 2 3 ... 68 69 70 71 72 73 74 ... 90 91 92 93 Suivante | |
Lynix
|
# Posté le 16/02/2008 à 18:47:05 |
Graphiste 3D![]() Groupe : Membres |
Reprise du dernier message de la page précédente :
Auteur: LynixType: Fonction But: Traiter le magic quote (sous toute configuration) et appliquer un trim (enlever les espaces au début et a la fin de la chaine) sur toutes les variable globale $_POST, $_GET, $_COOKIE Code: Code : PHP - Afficher / masquer les numéros de ligne
Exemple: Code : PHP - Afficher / masquer les numéros de ligne
Citation : Rendu Lynix's Ce code gère aussi l'option magic_quote_sysbase, même si ce n'est pas en exemple
Édité
le 16/02/2008 à 19:19:05
par Lynix
|
`Haku
|
# Posté le 16/02/2008 à 18:49:14 |
**Rose**![]() ![]() |
Ta fonction ne gère pas les tableaux multi-dim, utilises array_walk_recursive comme l'a intelligemment suggéré Savageman.
Envie d'apprendre le PHP ou le SQL ? Envie d'en savoir plus sur le PHP ou le SQL ? Suivez le guide... |
Asibasth
|
# Posté le 16/02/2008 à 19:03:05 |
Mangeur de Lapins Crus![]() ![]() |
J'ai déjà proposé une fonction fonctionnelle (ahah) au sujet des magic quotes sur ce topic...
|
Lynix
|
# Posté le 16/02/2008 à 19:07:50 |
Graphiste 3D![]() Groupe : Membres |
Bon voila, j'ai arrangé la mienne, j'espère qu'elle est bonne maintenant
|
`Haku
|
# Posté le 16/02/2008 à 19:12:56 |
**Rose**![]() ![]() |
Il manque des paramètres à ton str_replace.
Et tu pourrais réduire un peu tout ça. Au lieu de faire : Code : PHP - Afficher / masquer les numéros de ligne
Tu peux faire : Code : PHP - Afficher / masquer les numéros de ligne
Édité
le 16/02/2008 à 19:13:27
par `Haku
Envie d'apprendre le PHP ou le SQL ? Envie d'en savoir plus sur le PHP ou le SQL ? Suivez le guide... |
Lynix
|
# Posté le 16/02/2008 à 19:16:34 |
Graphiste 3D![]() Groupe : Membres |
Fait.
|
Bilbax
|
# Posté le 16/02/2008 à 20:55:56 |
www.bilbax.eu![]() Groupe : Membres |
Une fonction (classe en fait
) pour parser les fichiers de config .ini :Secret (cliquez pour afficher) Code : PHP - Afficher / masquer les numéros de ligne
Bon y'a matière à amélioration c'est sûr . Exemple d'utilisation :Code : PHP - Afficher / masquer les numéros de ligne |
`Haku
|
# Posté le 16/02/2008 à 21:08:11 |
**Rose**![]() ![]() |
Et qu'est-ce que ça apporte par rapport à parse_ini_file ?
Parce que si c'est juste pour avoir un objet, tu peux facilement faire un code bien plus réduit en utilisant justement parse_ini_file. Enfin, pourquoi eval() ?
Envie d'apprendre le PHP ou le SQL ? Envie d'en savoir plus sur le PHP ou le SQL ? Suivez le guide... |
Bilbax
|
# Posté le 16/02/2008 à 21:21:19 |
www.bilbax.eu![]() Groupe : Membres |
Citation : `Haku
Et qu'est-ce que ça apporte par rapport à parse_ini_file ? Arf, je pensais pas que ça existait quelle perte de temps majestueuse... que ça m'apprenne à bien chercher avant .Citation : `Haku Enfin, pourquoi eval() ? ![]() Enfait ça sert dans un premier temps à faire l'équivalent de ${'...'} avec les attributs de l'objet, et dans un second temps à créer une valeur qui ne soit pas toujours un string, par exemple : Code : Autre - Afficher / masquer les numéros de ligne
Donne une variable int(5), et pas un string "5" ; ça permet aussi d'utiliser les constantes.
|
`Haku
|
# Posté le 16/02/2008 à 22:06:01 |
**Rose**![]() ![]() |
Nul besoin d'eval pour faire cela.
![]() Ce code fonctionne très bien : Code : PHP - Afficher / masquer les numéros de ligne
Tu peux aussi utiliser la méthode magique __set si tu souhaites alléger l'écriture. Et pour avoir des entiers au lieu de string, il te suffit de faire une condition pour transtyper au besoin.
Édité
le 16/02/2008 à 22:21:52
par `Haku
Envie d'apprendre le PHP ou le SQL ? Envie d'en savoir plus sur le PHP ou le SQL ? Suivez le guide... |
Lcf.vs
|
# Posté le 22/02/2008 à 19:42:35 |
Gaea's mats!!!![]() Groupe : Membres |
Auteur: Lcf.vs
Type: Fonction But: identifier l'utilisateur même avec une ip dynamique partie php: Code : PHP - Afficher / masquer les numéros de ligne partie html: Code : PHP - Afficher / masquer les numéros de ligne
Édité
le 22/02/2008 à 20:33:40
par Lcf.vs
The greatests innovations are born of deceases and suffering... |
Dentuk
|
# Posté le 22/02/2008 à 19:58:45 |
Yamo...![]() Groupe : Membres |
Ou pas, avec ton système même un banni de par son adresse IP réelle (REMOTE_ADDR) peut se faire passer pour un proxy utilisé par une IP bidon, simplement en renseignant l'entête X-Forwarded-For dans les requêtes HTTP.
De plus, pourquoi choisir l'extension PHP pour tes fichiers contenant juste des trucs cryptés? Et c'est inhabituel de mettre des dossiers à la racine et peu d'hébergeurs l'autorisent (cf /banneds/), et puis banneds ça n'existe pas. Aussi, ni $chaine_a_comparer, ni $actuelle, ni $user_ip ne sont définies (pour cette dernière je suppose que tu voulais mettre {$user}_ip mais PHP n'est pas devin lui); je doute de l'utilité du + dans l'ouverture en w+ et un touch serait plus judicieux et élégant. Pour finir que fais-tu des membres utilisant des adresses IP dynamiques ? Signature en cours de révision. |
Lcf.vs
|
# Posté le 22/02/2008 à 20:34:00 |
Gaea's mats!!!![]() Groupe : Membres |
1) mon utilistateur pourrait berner mon système en tant que visiteur, oui, mais pas en tant que membre, car je contrôle aussi si le membre a été banni ou pas, mais, bon, ici, je ne parlais que pour l'ip
2)l'extension? boarf, php, txt ou autre, ça ne change rien 3)le dossier "/banneds/" n'est qu'à titre d'exemple ![]() 4)$user est définie et php ajoute simplement ce qu'on met devant ou derrière une variable, tu peux tester et re-tester, j'utilise très souvent cette petite capacité... donc, ce n'est pas la variable "$user_ip"+.php mais "$user"+_ip.php (php n'a pas besoin d'être devin, il remplace la variable en conservant ce qui n'en fait pas partie 5)j'ai corrigé, fautes d'adaptation, désolé... 6)le "+" après vérification n'est pas justifié, ok, merci 7)les ips dynamiques sont justement vérifiées puisque c'est à chaque fois la précédente qui est enregistrée et renvoyée pour comparaison par l'utilisateur lorsqu'il clique sur un lien The greatests innovations are born of deceases and suffering... |
Talus
|
# Posté le 22/02/2008 à 20:48:50 |
タルス![]() Groupe : Membres |
Je rajouterais également que c'est du suicide pur et dur de faire un fichier par ip et par user
![]() De même, je plussoie ce que dit Dentuk pour (entre autres) le "$user_ip". PHP va chercher à interpreter le $user_ip, et ne pas en trouver...
|
Lcf.vs
|
# Posté le 22/02/2008 à 21:01:47 |
Gaea's mats!!!![]() Groupe : Membres |
bah, ça fait des fichiers de 34octets/user pas de quoi faire une attaque, quoi
pour le "$user_ip.php", essaie avant de dire... si $user=Lcf.vs{ si $test="$userblablabla" -> $test="Lcf.vsblablabla" si $test="blablabla$user" -> $test="blablablaLcf.vs" si $test="blablabla$user$userblablabla" -> $test="blablablaLcf.vsLcf.vsblablabla" } ps: ce qui m'a fait me rendre compte de cela, c'est par exemple si on fixait un $user et $users ->bug
Édité
le 22/02/2008 à 21:05:08
par Lcf.vs
The greatests innovations are born of deceases and suffering... |
Talus
|
# Posté le 22/02/2008 à 21:05:28 |
タルス![]() Groupe : Membres |
Pas le probleme du poids, mais plus au niveau de l'innondation du pauvre serveur...
|
Lynix
|
# Posté le 22/02/2008 à 21:06:18 |
Graphiste 3D![]() Groupe : Membres |
Lcf.vs => 34octets par ip/user, ça peut atteindres des mo au bout du compte si tu ne vides pas
Ensuite mettre en .php est différent du .txt, le php serait interpreté, pas le txt Crypt ne retourne jamais la même chaine cryptée sans second argument Et ce systeme est inutile |
strucky
|
# Posté le 22/02/2008 à 21:07:50 |
Je suis tombé par terre ...![]() Groupe : Membres |
Une attaque de quoi ?
C'est complètement absurde de créer un fichier par ip, en plus en les nommant de tels noms... Il sert à quoi ton crypt() en fait si ce n'est à rien ? Le but de ce sujet est de créer des fonctions ou astuces utiles et surtout réfléchis, non pas à balancer tout ce qui nous sort par la tête. Rien que : But: identifier l'utilisateur même avec une ip dynamique Est une aberration, s'il a une ip dynamique, tu ne peux l'identifier. |
Lcf.vs
|
# Posté le 22/02/2008 à 21:09:56 |
Gaea's mats!!!![]() Groupe : Membres |
bah, bien évidemment, faut penser à mettre une fonction de nettoyage automatique, par exemple, à chaque création de fichier d'ip...
le fait que crypt renvoie toujours une chaine différente est tout son intérêt, il ne peut y avoir qu'une seule personne au monde qui a son résultat dans ses liens et ne peut s'en servir qu'une seule fois The greatests innovations are born of deceases and suffering... |
Dentuk
|
# Posté le 22/02/2008 à 21:11:27 |
Yamo...![]() Groupe : Membres |
2) Oui mais c'est pas logique / sémantique de mettre du texte simple dans un .php.
4) Et pourtant : Code : PHP - Afficher / masquer les numéros de ligne
Sans {}, PHP s'arrête au premier caractère qui ne peut pas faire partie d'un nom de variable mais _ peut en faire partie. 5) Il reste un ou deux $actuelle, et $chaine_a_comparer sort toujours de nulle part (à part qu'elle peut sortir de GET, POST, ... si register_globals est activée mais mieux vaut passer par $_GET & co pour une question de portabilité). Sinon comment fais-tu pour les pseudos comportant un / ou un autre caractère dans le genre ? Signature en cours de révision. |
`Haku
|
# Posté le 22/02/2008 à 21:15:06 |
**Rose**![]() ![]() |
Citation : Lcf.vs
bah, ça fait des fichiers de 34octets/user pas de quoi faire une attaque, quoi pour le "$user_ip.php", essaie avant de dire... si $user=Lcf.vs{ si $test="$userblablabla" -> $test="Lcf.vsblablabla" T'es sûr de ça ? ![]() Code : PHP - Afficher / masquer les numéros de ligne
Sortie : Code : Console - Afficher / masquer les numéros de ligne Notice: Undefined variable: userblablabla in C:\wamp\www\Sdz\test.php on line 35
Envie d'apprendre le PHP ou le SQL ? Envie d'en savoir plus sur le PHP ou le SQL ? Suivez le guide... |
Lynix
|
# Posté le 22/02/2008 à 21:23:09 |
Graphiste 3D![]() Groupe : Membres |
Code : PHP - Afficher / masquer les numéros de ligne
Essaye ce script, les crypts sont appellés avec les mêmes chaines, pourtant le résultat est différent => ça sert a rien |
Lcf.vs
|
# Posté le 22/02/2008 à 21:29:45 |
Gaea's mats!!!![]() Groupe : Membres |
bon, je reconnais que j'ai mal choisi le nom du fichier pour mon exemple
je reconnais aussi mon erreur pour les variables encadrées, j'utilise par habitude un point comme délimiteur entre la variable et le reste (ex: $fichier.php) mais je sais comment s'utilise la fonction crypt et qu'elle renvoie un résultat chaque fois différent, c'est le but!!! alors avant de dire que ça ne sert à rien, cherches-y plutôt des applications, l'exemple de mon lien l'image pourtant bien et est d'autant plus efficace avec un système de page personnelle voici mon code corrigé: Auteur: Lcf.vs Type: Fonction But: identifier l'utilisateur même avec une ip dynamique partie php: Code : PHP - Afficher / masquer les numéros de ligne
partie html: Code : PHP - Afficher / masquer les numéros de ligne
Édité
le 22/02/2008 à 21:34:48
par Lcf.vs
The greatests innovations are born of deceases and suffering... |
Jeremie78
|
# Posté le 22/02/2008 à 21:40:35 |
|
Aide toi et le zero t'aidera Groupe : Membres |
Le truc qui est problématique avec ton "récupérateur d'IP", c'est qu'on peut falsifier très aisément son IP.
Exemple, je ne peux falsifier $_SERVER["REMOTE_ADDR"] (sinon je reçois plus le contenu de la page :-/), par contre, je peut très bien envoyé un faux entête : 'HTTP_X_FORWARDED_FOR' Donc ton système censé empêcher le contournement par proxy me permet plus facilement de tout contourner
Édité
le 22/02/2008 à 21:52:18
par Jeremie78
Générateurs : de Bannières animées (GIF), et celui de Userbars (animées) Web-Modules : outils pour webmasters (compteurs, tchat, news ...) à installer sur son site ! |
Lcf.vs
|
# Posté le 22/02/2008 à 21:44:50 |
Gaea's mats!!!![]() Groupe : Membres |
jeremie78> ce que tu dis me fait rire, si tu avais mieux observé, tu aurais remarqué que l'ip ne me sert qu'à avoir qqch d'unique à crypter, enregistrer, renvoyer et comparer...
ce n'est pas l'ip que je contrôle, mais bien qui est derrière le pseudo... dentuk> les seuls caractères autorisés pour le pseudo et mdp son a-zA-Z0-9.@ donc pas de problème mais merci pour tes remarques constructives
Édité
le 22/02/2008 à 21:50:37
par Lcf.vs
The greatests innovations are born of deceases and suffering... |
Jeremie78
|
# Posté le 22/02/2008 à 21:51:44 |
|
Aide toi et le zero t'aidera Groupe : Membres |
Code : PHP - Afficher / masquer les numéros de ligne
C'est pas l'IP que tu bloque ? Hum ? De même, on peut facilement utiliser ton système pour bannir des série d'adresse IP. Il suffit alors de falsifier les paquets envoyés en donnant une adresse IP qui n'est pas la notre ^^' mais bien celle qu'on veut bloquer. Résultat ? On ne recevra pas le contenu de la page, mais on s'en fiche, on voulait juste bloquer l'IP ![]() (Et ce n'est pas la peine de dire, mais non tu dis des conneries, on peut pas falsifier l'IP ... Et si ! Simplement si on la change, on ne reçoit pas le contenu de la page demandée.) Quand à la lisibilité de ton script ... je m'explique : aucun commentaire, syntaxe très serrée, je ne sais pas comment tu fais pour lire ça Tu dois t'arracher les yeux
Édité
le 22/02/2008 à 21:54:38
par Jeremie78
Générateurs : de Bannières animées (GIF), et celui de Userbars (animées) Web-Modules : outils pour webmasters (compteurs, tchat, news ...) à installer sur son site ! |
Lcf.vs
|
# Posté le 22/02/2008 à 21:59:26 |
Gaea's mats!!!![]() Groupe : Membres |
le fait que l'ip soit falsifaible, je le sais bien, merci et pour ce qui est du ban, comme c'est dès la partie connexion membre que je le mets, aucun problème, il faudrait déjà que tu aies le pseudo de la personne, son mdp, et surtout une page ouverte sous son login, sachant que cette page porte un nom aléatoire de 20 caractères et que dans cette page, il y a encore différents contrôles...
bref, bonne chance ![]() et dire que certains qualifient mon système de pages créées à la connexion de chaque utilisateur de grand n'importe quoi XD The greatests innovations are born of deceases and suffering... |
Jeremie78
|
# Posté le 22/02/2008 à 22:03:31 |
|
Aide toi et le zero t'aidera Groupe : Membres |
J'en fais probablement parti
![]() Sinon je sais pas si tu connais, ça s'appelle des certificats SLL et ça t'évite beaucoup d'ennuis de ce genre ^^' Vol de session (durant la transmission des données), sécurité des données en transite (= s'identifiant de connexion), intégrité, ... autant de petites choses que le chiffrement SSL offre ! Générateurs : de Bannières animées (GIF), et celui de Userbars (animées) Web-Modules : outils pour webmasters (compteurs, tchat, news ...) à installer sur son site ! |
`Haku
|
# Posté le 22/02/2008 à 22:03:32 |
**Rose**![]() ![]() |
En même temps on l'a jamais vu ton fumeux (la faute est volontaire) système.
Envie d'apprendre le PHP ou le SQL ? Envie d'en savoir plus sur le PHP ou le SQL ? Suivez le guide... |
A-spec59
|
# Posté le 22/02/2008 à 22:03:34 |
Réfléchissez !![]() Groupe : Membres |
Hum, y a un truc que j'ai du mal à saisir, c'est quoi l'intérêt d'utiliser crypt. T'as beau expliquer et re-expliquer, ça reste tout aussi flou. Pourquoi ? Parce que je sais que crypt ne renvoie JAMAIS deux fois la même chaîne ( bon peut être qu'à partir de milliards de tests si, mais bon ) si on ne spécifie pas le "grain de sel" à utiliser. Alors je vois mal comment on peut s'en servir pour faire des comparaisons, sachant que même sur une même chaine, on aura deux valeurs différentes.
Et ça sert à quoi de mettre du contenu dans tes fichiers ? Sans aucun contenu, mais juste le nom, ils seraient tout aussi utiles. Edit : +1 `Haku Edit 2 : j'suis trop bête : j'avais pas vu à quoi servait ton système. D'après ton code, il faut donc être connecté pour qu'on subisse toutes ces vérifications. En gros donc, on vérifie si un membre inscrit à notre site est banni (forcément inscrit, vu qu'il a un pseudo). Donc moi pour faire une telle chose, soit j'ajoute un champ banni à ma table membres, soit ce sera intégré dans un champ status de la table membre, le tout en binaire, mais même en binaire, c'est plus compréhensible que ton truc.
Édité
le 22/02/2008 à 22:12:28
par A-spec59
Green Searches, 1ère bêta. Pourquoi faire des recherches de façon écologique devrait-il se réduire à des recherches web. Green Searches vous permet aussi de faire des recherches d'images, de vidéos (à venir), de livres, dans les actualités .... Je cherche des petit trucs à faire contre petite rémunération (traduction, codage de script, graphisme, ... ) Plus de détails => me contacter What I can do |
Jeremie78
|
# Posté le 22/02/2008 à 22:06:08 |
|
Aide toi et le zero t'aidera Groupe : Membres |
Ça me parait évident pourtant, Lcf est l'incarnation même du dicton "pourquoi faire simple quand on peu faire compliqué".
Sachant qu'il existe plein de façon plus simple de sécuriser tout ça
Générateurs : de Bannières animées (GIF), et celui de Userbars (animées) Web-Modules : outils pour webmasters (compteurs, tchat, news ...) à installer sur son site ! |
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 |
XHTML 1.0 |
CSS 2.0
Édité par Simple IT SARL :
Nous contacter
| 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.
260 Zéros connectés |
10 requêtes |
0.1325s (0.1131s)
