Aller au contenu

Classement

Contenu populaire

Affichage du contenu avec la meilleure réputation le 08/11/2020 dans toutes les zones

  1. Bonjour / bonsoir, Premier poste sur inshare. Je suis la aujourd'hui pour vous faire dons de badges staff pour vos rétro habbo ! Les badges : Badges Il vous suffis juste d'écrire le nom de votre rétro sur le badge et c'est niquel. Exemple d'écriture: Je peux également vous les faire gratuitement ajouter mon discord. lien du téléchargement pour une meilleurs qualités : [hide] https://www.mediafire.com/file/9t9pyn3ecngzmzo/Badges_staff_habbo_-By_Torune.rar/file[/hide] Bonne journée/soirée Torune Pixel artiste habbo
    1 point
  2. Bonjour, Je vous partage HEKOS CMS. Images: Download: [hide] https://mega.nz/file/Qt5ACKrT#CfT-hnYH0RjwSVjBzm-j3WVAtOPE2IkNQHeBJOQ6DBM [/hide] orv
    1 point
  3. Bonjour, bonsoir et bienvenue pour un nouveau sujet sur inshare ! Ce sujet consistera au partage du CMS "Blaze" ! J'ai récemment trouvé ce CMS qui était celui d'un rétro Néerlandais, je l'ai donc installé mais il y avait quelques erreurs. J'ai donc corriger ces erreurs et je tiens à remercier @ Tabhk qui ma permit de résoudre la création des articles J'ai donc aussi traduit le CMS en français à part les liens et les tables. Ce CMS a été créer par Matthew & Maxime. Je l'ai tester sur PlusEMU mais vous pouvez à tout moment le rendre compatible avec d'autre émulateur. Ce qui ma surpris avec ce CMS est qu'il comporte un éditeur catalogue. J'ai essayer de le tester mais sans succès mais j'ai surement mal mis les données donc à vous de l'essayer Bref, finis de blablater et passons au CMS ! Sur ce lien vous retrouverez toutes les pages du CMS : https://imgur.com/gallery/cOUBQSH Voici le lien de téléchargement du CMS : [hide] http://www.mediafire.com/file/b15glo3do62v2a0/BlazeCMS_%28fr%29.rar/file [/hide] Pour installer le CMS c'est très simple : 1. Téléchargez le CMS et insérer le dans votre FTP ou local. 2. Importez le fichier "DB" dans votre base de donnée. 3. Allez dans le dossier "config", ensuite dans le fichier config et éditez le. 4. Mettez les données de votre base de donnée et enregistrez. 5. Ouvrez maintenant le fichier "hotel". 6. Mettez vos liens swf ainsi que l'ip du vps et le port. Et voilà tu peux dès maintenant joueur sur ton rétro ! Voilà c'est la fin de ce sujet. J'espère qu'il sera utile pour vous ainsi que pour d'autre personne ayant l'envie de l'utiliser. Merci de ne pas poster vos problèmes concernant ce CMS si vous en avez. Faites un sujet dans "Aides et support". Je vous souhaites à tous une très bonne journée ou fin de journée Mastoke
    1 point
  4. Ce sujet regroupe tout les cms de RetroPHP à l'exeption de HLOVECMS ! Les cms peuvent contenir des failles, ni moi ni inshare n'est responsable. AdowCMS: [hide] Clique ici pour télécharger AdowCMS [/hide] ----------------------------------------------------------------------------------------------------------------------------------- JabboCMS 0.3: [hide] Clique ici pour télécharger JabboCMS 0.2 [/hide] ----------------------------------------------------------------------------------------------------------------------------------- HabboCMS 3.3:[hide] Clique ici pour télécharger HabboCMS 3.3 [/hide] ----------------------------------------------------------------------------------------------------------------------------------- HabboCMS 5.2: [hide] Clique ici pour télécharger HabboCMS 5.2 [/hide] ----------------------------------------------------------------------------------------------------------------------------------- PobbaCMS 0.1: [hide] Clique ici pour télécharger PobbaCMS 0.1 [/hide] ----------------------------------------------------------------------------------------------------------------------------------- PadCMS 4.2: [hide] Clique ici pour télécharger PadCMS 4.2 [/hide] ----------------------------------------------------------------------------------------------------------------------------------- HabWay 0.1: [hide] Clique ici pour télécharger HabWay 0.1 [/hide] ----------------------------------------------------------------------------------------------------------------------------------- HBetaCMS 0.3: [hide] Clique ici pour télécharger HBetaCMS 0.3 [/hide] ----------------------------------------------------------------------------------------------------------------------------------- LeetCMS 0.1: [hide] Clique ici pour télécharger LeetCMS 0.1 [/hide] ----------------------------------------------------------------------------------------------------------------------------------- LeetCMS 0.2:[hide] Clique ici pour télécharger LeetCMS 0.2 [/hide] -----------------------------------------------------------------------------------------------------------------------------------
    1 point
  5. Bonjour Je vous partage un CMS compatible Arcturus, ce CMS vien de Stown Image: [hide] https://imgur.com/a/HnQMKzh [/hide] DL: [hide] http://www.mediafire.com/file/58r71tbx08wkd8e/CMS.rar/file [/hide]
    1 point
  6. Bonjour, En cette fin d'année je vous partage la dernière version d'HabboCloud CMS. Screen: http://prntscr.com/lnyofw http://prntscr.com/lnyozn http://prntscr.com/lnyp7v http://prntscr.com/lnyqas Téléchargement : [hide]git clone https://github.com/Arwantys/HabboCloud-CMS.git Lien Github : https://github.com/Arwantys/HabboCloud-CMS[/hide] En cas de problème ouvrez une issue sur github, je corrigerai les différents problèmes en fonction de mon temps libre. Pour l'installation, je compte sur la communauté pour créer un tutoriel, il n'y a rien de compliqué. Voici les fichiers de configuration: Site: /config/app.json Base de données: /config/mysql.php Shoutbox: /app/shoutbox/client.js - /app/manager/chatbox.php. Il y a aussi le serveur NodeJS à configurer, vous aurez besoin des fichiers d'un certificat SSL valide (let's encrypt par exemple). Je ne répondrai pas à tout ceux qui me demanderont comment utiliser NodeJS, il faut avoir un minimum de connaissance dans le domaine pour utiliser ce CMS.
    1 point
  7. Le plugin Blizzard contient les couleurs de pseudos Habbo pour les versions d'Arcturus Morningstar égales ou supérieures à 2.4.0 RC2, contient également un événement d'exécution de commande qui gère plusieurs options pour personnaliser vos bulles d'alerte, une commande de prix. Téléchargement : SQL : [HIDE] Blizzard.sql[/HIDE] Plugin : [HIDE] https://mega.nz/file/yNNwHLCT#4woAkgrzEXpCwsj4eUPv9OHvrvKF-IWf8aRqfSyXUh0 [/HIDE] Commandes SetColorName (:color <colorName>) RechargerCouleurs (:update_colors) PrizeCommand (:prize <username> <prizeID> Événements UserTalksEvent UserExecutedCommand OnHabboLogin HabboPurchasesCatalogItem Interactions Item InteractionColorUsername Noms de couleur Pour cette fonction, il est nécessaire de disposer des tables suivants : colors table users_colors table users_purchased_colors table Interaction des noms de couleur Type d'interaction : color_name Créer une item_base avec le nom suivant : color_name*[colorID] Exemple 'color_name*3'. Assurez-vous que la colonne achetable en couleurs est activée, sinon une erreur se produira. Icône de couleur dans le catalogue : allez dans hof_furni et créez un color_name[colorID]_icon.png Exemple 'nom_de_couleur_3_icon.png N'oubliez pas d'ajouter votre furni personnalisé à furnidata_xml. Le sprite ID est important. Logs bulles d'alerte Cette fonction a plusieurs options et sera sauvegardée dans votre table de réglages de l'émulateur. Les options suivantes sont : blizzard.command.logger.enabled : Activer/Désactiver l'enregistreur de commandes blizzard.command.logger.minRank.toLog : Définissez le min_rank pour déclencher les alertes. blizzard.command.logger.minRank.toView : Définissez le min_rank pour afficher les alertes. blizzard.command.logger.self_log : Activer/Désactiver l'utilisateur pour afficher l'alerte qu'il a déclenchée. (minRank.toView SEULEMENT) blizzard.command.logger.image : Image d'alerte à la bulle (Supporte %username% pour déclencher l'image de l'avatar GENERATOR) blizzard.command.logger.ignore_commands : Définissez les commandes qui ne déclencheront PAS l'alerte. Exemple : cmd_teleport;cmd_sit;cmd_warp Une autorisation est également créée : acc_blizzard_override_logger : Quel que soit le grade qui a cette permission, il ne déclenchera PAS l'alerte. Commande de prix Dans emulator_settings, vous pouvez configurer ce type de prix de la manière suivante : KEY: 'prize.[ID].cmd_give_prize' VALUE: [AMOUNT];[TYPE]&&[AMOUNT];[TYPE];[AMOUNT];[TYPE]&&..&&[AMOUNT];[TYPE] EXEMPLE DE VALEUR : 5;-1&&10;5 5 Crédits + 10 Diamants TYPES : -1 = Crédits Tout autre type de point = Utilisez les valeurs de votre devise VARIABLES DE TEXTE : %prizename% : utilise les noms des devises saisonnières de emulator_texts. %nomutilisateur% : Habbo déclenchant la commande %winner% : Gagnant de l'événement %random% : Bulles alertes AvatarGénérateur d'images NON Cache TOUS LES TEXTES SONT PERSONNALISABLES VIA EMULATOR_TEXTS Blizzard by Stankman
    1 point
  8. Slt slt l’équipe ✌? Aujourd’hui Jvais vous partager un petit site qui vous permet de créer vos propres mobis, je suis tombé dessus sur RZ et franchement il est pas mal avec beaucoup de fonctionnalités avec des effets de mobis etc... Avec cette astuce vous n’aurez plus besoin de passer par un autre mobis pour faire le votre. Bon jvous laisse tcheck par vous même:
    1 point
  9. Hey la communauté, j'espère que vous êtes tous en forme et que vous déprimez pas trop en ces temps assez durs mais bon, il le faut bien Donc aujourd'hui, je vous partage quelques badges façonnés par mes soins, ceux-ci ne sont, ni exceptionnels, ni utiles, mais ils peuvent rajouter un petit plus à votre serveur Bien évidemment, je les partage gratuitement et ma seule demande à propos de cela est de me contacter concernant l'utilisation de ces badges sur vos serveurs! Aussi, des badges pour l'Équipe Staff sont bientôt terminés, si je vois que cela vous plaît, je vous partagerai ça Screens: Téléchargement: Scan: Je vous souhaite une agréable journée/soirée!
    1 point
  10. Bonsoir, En ce début 2019 je vous partage la dernière version du CMS de YourHabbo. Quelques screens Téléchargement : [hide]git clone https://github.com/Arwantys/YourHabbo.git Lien Github : https://github.com/Arwantys/YourHabbo[/hide] Je vous invite à me follow ainsi cas utiliser la section "Issues" en cas de problème. À bientôt.
    1 point
  11. Bonjour, bonsoir et bienvenue pour un nouveau sujet sur inshare ! Aujourd'hui ce sujet consistera à un partage de 5 backgrounds (encore). Si je fais toujours par 5 c'est que ça me prend un peux de temps de faire le floor et offset donc je n'ai pas envie de passer ma journée à faire ceci sinon je deviendrais fou. Dans ces 5 backgrounds ce trouve : - 1 Coffee House - 1 Infobus Noël - 1 Salle de jeux - 1 Réception - 1 Théâtre Je tiens toujours à préciser trois choses même si c'est répétitif : - Ce ne sont en aucun cas MES CRÉATIONS ! J'ai trouvé ces backgrounds sur google mais sans le nom du créateur malheureusement. Mais je tiens tout de même à les féliciter pour leur travail apporté. - Pour mettre le floor, je vous conseille de le faire dans un appart de 1024 cases. - Si vous souhaitez avoir les images sans lien, je vous mets un lien de téléchargement à la fin. Bref finis de blablater et passons aux backgrounds ! ~ Coffee House ~ Screen : Background : Floor + offset : ~ Infobus Noël ~ Screen : Background : Floor + offset : ~ Salle de jeux ~ Screen : Background : Floor + offset : ~ Réception ~ Screen : Background : Floor + offset : ~ Théâtre ~ Screen : Background : Floor + offset : Tous les backgrounds ici : Voilà c'est la fin de ce partage ! J'espère qu'il sera utile pour vous D'autre backgrounds arriveront prochainement avec le floor et offset^^ Je vous souhaite une très bonne journée ou fin de journée à vous Mastoke
    1 point
  12. Builders Essentials permet d'utilisé les commandes de construction nottament buildheight / setz Commandes: Build Height / Floor Height Set State Set Rotation Lien de téléchargement : [HIDE] https://mega.nz/file/ncF31QgK#HU8Ph8HJ8AGaWKE9g-5Cmdo98ACgRpgvuIQ8WN_Y5mM [/HIDE] Builders Essentials By Krews.org
    1 point
  13. Salut,je te souhaite la bienvenue sur se sujet ! Je vous présente mes dernières création au niveau des badges (staffs) j'espère que cela vous plaira : Voici le screen des badges au complets : Comme vous pouvez le voir se sont tout les badges staff, il y a justes quelques modifications : Le badge Influence est le badge Pub ça viens de mon rétro qui se nomme comme ça. J'aimerais avoir votre avis sur les badges en commentaire. Passons au téléchargements : Liens du téléchargement (.rar) : Je vous remercie de prendre le temps de me mettre un petit commentaire Merci également d'avoir pris le temps de voir mes badges ^^ Torune Ancien Gérant chez Zibbow.fr (Fermé) Développeur débutant Pixel artiste Habbo
    1 point
  14. Bonjour, bonsoir et bienvenue pour un tout nouveau sujet sur inshare ! Aujourd'hui, rien de mieux que 5 backgrounds avec floor + offset Je tiens à dire 2 informations : - Ce ne sont pas mes créations, je n'ai malheureusement pas le nom des créateurs mais je les félicites pour leurs travaux. - Je vous conseille de mettre le floor dans un appart de 1024 cases. Breeeef, passons aux backgrounds ! ~ Club NX ~ Screen : Background : Floor + offset : ~ Coffee House ~ Screen : Background : Floor + offset : ~ Infobus ~ Screen : Background : Floor + offset : ~ Réception ~ Screen : Background : Floor + offset : ~ Théâtre ~ Screen : Background : Floor + offset : ~ Tous les backgrounds en .rar ~ Et voilà c'est la fin de ce sujet ! J'espère qu'il sera utile pour votre rétro Je vous souhaites à tous une très bonne journée ou fin de journée Mastoke
    1 point
  15. Le plugin Veto c'est quoi? Le plugin Veto permet d'avoir 3 commandes : -Pay -Rolldice -Closedice Lien de téléchargement : [HIDE] https://mega.nz/file/7NVFhYja#ibVY_-1dkkukjBQrHzaDW63fxud1Rb9v83JhboUW1OY [/HIDE] Veto By Krews.org
    1 point
  16. Salut salut, Comme prévu je vous partage un ancien de mes CMS avec une petite mise à jour en + Nouveautés: SCREENS: LIEN DE TÉLÉCHARGEMENT: [hide] MEGA [/hide] Bonne chance pour la suite
    1 point
  17. Salut à tous. 1. Introduction Étant développeur web, on peut rencontrer plusieurs types de failles dans un CMS, qu'il sois vieux ou récent. Une faille en particulier a attiré mon attention dans le monde du développement web. En sachant que PHP regroupe les moins bons comme de très bons développeurs, il faut savoir que souvent, les amateurs oublient de gérer une faille qui reste extrêmement dangereuse dans certains cas. C'est pas pour autant que je vais aborder sur ce topic, plusieurs failles récurrentes dans un projet web amateur. N'oubliez pas le petit +1 si ça vous a plu. :3 2. Quelque failles A) Restrictions + Redirections Problématique: Malgré une restriction du rang sur certaines pages, comment être sûr que la redirection fonctionne et que la personne n'a pas accès à la page en question? Réponse: Vous pensez peut-être qu'en essayant de vous dérank et si vous essayez d'accéder à la page, que vous subissez une redirection, vous êtes protégés? [HIDE] Réponse réelle (Ce n'est pas la résolution du problème): Imaginons une fonction publique provenant d'une classe type: <?php public function restrict() { if(!$user->Logged()) { // Savoir si le joueur n'est pas connecté header('Location: index.php'); } } ?> Si vous n'utilisez pas de classes, c'est facilement adaptable. Le principe est que lorsqu'on veut restreindre une page par exemple à un utilisateur non connecté, on a tendance à utiliser un header();. Maintenant si on se déconnecte ce la page en question et que l'on veut accéder à la page, on est logiquement redirigé. Mais que se passe-t-il si on bypass le header(); ? Il existe par exemple sur Chrome une extension, permettant de bypass les headers: Le nom est "ModHeader". Voici un screen: Si jamais je coche le bouton à gauche de "Location" que j'ai au préalable ajouté dans "Response Headers", je vais pouvoir éviter les redirections des sites webs. Attention, ça ne bloque que les header('Location:'); Du coup j'imagine que vous avez une idée de la suite, on va activer cette application qui va nous permettre de vérifier si jamais on est pas redirigé, qu'est-ce qu'il se passe. Si jamais on essaie, on va tomber sur la page, sans redirection, et c'est plutôt problématique si jamais ça arrive dans des pages qui sont plutôt dite à risque comme dans l'administration par exemple. Ce qu'on va faire donc, c'est modifier notre fonction qui retourne qu'un header('Location'); par une fonction un peu plus poussée. <?php public function safeRedirect($url, $exit = true) { if (!headers_sent()){ header('HTTP/1.1 301 Moved Permanently'); header('Location: ' . $link); header("Connection: close"); } print "<html>"; print "<head><title>Redirection...</title>"; print "<meta http-equiv='Refresh' content='0;url='{$link}' />"; print "</head>"; print "<body onload='location.replace('{$link}')'>"; print "Vous rencontrez peut-être un problème.<br />"; print "<a href='{$link}'>Se faire rediriger</a><br />"; print "Si ceci est une erreur, merci de cliquer sur le lien.<br />"; print "</body>"; print "</html>"; if ($exit) exit; } ?> Le plus important dans ce code, c'est le "exit;" qui permet de bloquer les informations du site, et ne donne aucune suite. Ça reviendrait à faire un header('Location'); avec un exit; à la fin, mais cette fonction donne des infos supplémentaires à la personne qui est bloquée par la redirection. [/HIDE] B) Faille CSRF Problématique: Imaginons que nous sommes connecté à notre site. Et qu'une personne hasardeuse nous demande d'aller checker son site par exemple. Ça nous redirige vers un site plus que douteux, on clique quand même sur ce lien, et 15 minutes après, lorsqu'on souhaite accéder à notre site, il se trouve qu'une personne inconnue est gradée dans notre site, et y a fait n'importe-quoi. Réponse: Nous souhaitons voir comment est-ce que cela a pu se produire. Pour cela, en général, dans un site web on a un système de logs qui définit les faits qu'un staff a fait par exemple. Ce qui est utile pour voir si un problème a eu lieu, ou pour modérer les faits d'un staff. Si jamais ces logs n'existent pas, on ne peut pas vérifier à 100% que c'est dû à ça. Mais la plupart des sites webs amateurs n'ont pas de protection contre la faille CSRF. Donc, je poursuis, en voyant les logs, on peut voir que c'est "vous" qui avez gradé l'utilisateur en question. Si on en revient aux faits, vous avez cliqué sur un lien, qui a gradé un utilisateur. Et ce lien peut poser problème dans un autre contexte. On va voir un autre cas pratique: Dans un forum, imaginons un utilisateur qui fait un post. Ce post a comme contenu une image qui n'est pas visible, vous vous dites sûrement que cette image est morte, mais vous regardez quand même le post. Plus tard, vous vous apercevez que certains de vos topics ont été supprimés. Le problème étant l'image, qui pointe vers une page .php, et cette page a le même principe que l'autre contexte, en revanche touche celui qui a vu l'image, sachant que lorsqu'une image est appelée, elle fait appel à la page PHP, et donc elle est interprétée. Vous allez me dire, supprimer la possibilité de mettre une page .php dans les images est une possibilité, mais ça ne change pas le problème de lorsqu'on clique sur un lien douteux ou que l'on reçoit une image douteuse. Enfin bref, nous allons voir par la suite comment régler ce problème. [HIDE] Je ne vais pas évoquer la façon dont on fait pour exploiter ces failles, mais plutôt comment régler ces failles. Le but de la faille étant de créer un formulaire distant. Ce formulaire distant étant lié au formulaire du site. Pour régler ce problème, on va étudier déjà la façon dont sont fait les systèmes de connexions à un espace membre basique en temps normal. Pour ma part, ça sera sous forme de classe et de fonction, mais ça reste presque le même principe, suffit d'imaginer les restrictions qui ne sont pas stockés dans une classe mais de façon procédurale. #region [Login] /** * @param string $username * @param string $password * @return array|bool */ public function Login($username, $password) { if(!$this->existValue('auth')) { if(!empty($username) && !empty($password)) { $username = htmlspecialchars($username); $searchUser = $this->db->query('SELECT * FROM alive_users WHERE username = ? OR mail = ?', [$username, $username]); // La fonction query est réecrite dans ma classe, elle correspond à un prepare() et execute() en PDO. if($searchUser->rowCount() > 0) { $user = $searchUser->fetch(); if(password_verify(htmlspecialchars($password), $user->password)) { // On utilise du BCrypt dans ce cas $this->setValue('auth', $user); // Équivalent: $_SESSION['auth'] = $user; $e = ['error' => false, 'message' => '5f6f1764f7c2c961654cfbdb8aed67fe735a96bc']; return $e; } else { $e = ['error' => true, 'message' => 'Mot de passe incorrect.']; return $e; } } else { $e = ['error' => true, 'message' => 'Compte introuvable.']; return $e; } } else { $e = ['error' => true, 'message' => 'Les champs ne sont pas remplit.']; return $e; } } else { $e = ['error' => true, 'message' => 'Erreur interne...']; return $e; } } #endregion Pour régler ce problème il va y avoir plusieurs étapes. On va d'abord rajouter une ligne lorsque la connexion est faite, là où on y rajoute le $_SESSION['auth'] = $user; La ligne en question est: $this->setValue('token', sha1(uniqid(rand(), TRUE))); // Équivalent: $_SESSION['token'] = sha1(uniqid(rand(), TRUE))); Ce code va permettre l'intégration d'un token CSRF. Ce token va servir aux vérifications lors des formulaires lorsqu'on est connecté. Chaque fois qu'on se connecte, on possède donc un token unique. Le but étant de pouvoir vérifier si l'utilisateur qui utilise le formulaire est bien la bonne personne. Une personne quelconque n'aura pas accès à votre token, et donc si le formulaire distant est crée, il ne pourra pas y mettre votre token. Vous allez comprendre par la suite. Maintenant, imaginons vous avez un formulaire une fois connecté pour disons... Ajouter votre adresse mail. <form method="POST" action="#"> <label for="form_mail">Entrez votre adresse mail</label> <input id="form_mail" type="text" name="mail"> <!-- On rajoute donc un champs en plus de type "hidden" qui va contenir notre token: --> <input type="hidden" name="token" value="<?= $user->getToken(); /* Ça correspond au $_SESSION['token'] qu'on a crée au préalable à la connexion. */ ?>"> </form> Dernière étape donc, c'est lorsqu'on va donc vérifier ce formulaire, on va devoir prendre en compte le token: <?php // Une fois de plus je reste sous forme de classe: Mais ça reste simple de vérifier votre code, il y a juste 1 vérification en plus à faire: public function addMail($postMail,$postToken) { $session = new Session(); // Appel de la classe Session que j'ai crée mais vous en aurez sûrement pas besoin if(filter_var($postMail, FILTER_VALIDATE_EMAIL)) { if($postToken === $session->getValue('token')) { // Si le $_POST['token'] correspond strictement à $_SESSION['token'] // Code } else { $e = ['error' => true, 'message' => 'Erreur interne...']; return $e; // Le token CSRF est incorrect } } else { $e = ['error' => true, 'message => 'L\'adresse mail est incorrect.']; return $e; } } ?> [/HIDE] C) Faille XSS Problématique: Imaginons que du jour au lendemain, suite à des gens ayant quelque bases qui se sont inscrit sur votre site, vous ayez des alert(); en javascript qui sont présent sur certaines pages de votre site mais pas que! Il est possible aussi que quelques minutes après avoir visité quelques pages, vous pouvez voir que la configuration est plus accessible, voir même que depuis l'administration, une fois de plus, c'est vous qui avez fait tout ça. Détrompez-vous, ce n'est pas quelqu'un qui a accès à votre mot de passe. Résolution: [HIDE] Dans certains cas, si on ne restreint pas les caractères autorisés, les membres ont la possibilité d'entrer des caractères pouvant entrer en conflit avec le langage HTML / Javascript. ( Le PHP n'est pas prit en compte. ) Cela peut même toucher le SQL si la requêtes n'est pas bien faite. Comme toujours j'avance pas de propos concernant la façon dont on exploite les failles mais comment les régler. Il existe donc plusieurs moyens pour régler ces genres de problèmes. 1er moyen: Utilisation d'un moteur de template: Les moteurs de templates sont réputés pour être utilisé en M.V.C ( Model View Controller ). J'utilise souvent Twig pour ma part mais il en existe d'autres. Ces moteurs de templates proposent leur propre langages qui seront retransmit en PHP si par exemple le CMS est en PHP ou en Python si le CMS est en Python, etc. Ça permet dans un premier temps une meilleur lisibilité du code, un rendement plus efficace et permet de découper son code afin de le rendre plus explicite si quelqu'un passe derrière nous afin d'améliorer notre travail. 2ème moyen: Fonction Parse en PHP C'est une fonction assez efficace qui va servir lorsqu'on va afficher du texte qu'on peut définir de "pas sûr". Lorsqu'un utilisateur s'inscrit, il va avoir la possibilité de choisir un pseudo. Certes, on peut rajouter un preg_match afin de lui demander d'utiliser que des lettres / chiffres ( [a-zA-Z0-9-._]+ ) en revanche ça peut facilement poser problème dans d'autres cas. Pour ma part une fois de plus j'ai une class "Security" possédant plusieurs fonctions liés à la sécurité, mais là on parle uniquement de la faille XSS. Ma fonction ressemble à ça, je vais la recoder en tant que fonction simple afin de vous simplifier la tâche, mais le mieux reste vraiment de structurer son travail et donc d'utiliser des classes. Ma fonction: /** * @param $val string * @return string */ public function Show($val){ return htmlspecialchars(utf8_encode($val), ENT_QUOTES, 'UTF-8'); } La fonction simplifiée: function Show($val){ return htmlspecialchars(utf8_encode($val), ENT_QUOTES, 'UTF-8'); } Si jamais vous utilisez des classes, il vous suffira d'utiliser un echo $security->Show($username); par exemple ( sans oublier d'instancier les classes ). Pour les autres, un simple Show($username);. Par contre il faut bien pousser sur le fait que chaque valeur provenant de la base de donnée et affichée, devrait vraiment utiliser cette fonction, sauf si vous êtes sûr de vous. Par la même occasion je vous invite aussi pour le nom d'utilisateur de rajouter un preg_match, cette fonction est générale et fonctionne dans tous les cas. Dernière chose, afin d'éviter les "?" avec les accents, etc. Vérifiez bien que votre base de donnée est en UTF8 -> utf8_general_ci. [/HIDE] Merci de prendre en considération que ce post m'a prit pas mal de temps à concevoir. Si le post est suivit par plusieurs personnes, je rajouterais d'autres types de failles.
    1 point
  18. Salut tout le monde, On se retrouve pour un partage de vêtements inédits prêts à être sur vos serveurs Ce pack comprend: 12 floor swf, 13 gordon swf, 12 icônes, furnidata, figuremap, figuredata -> Catalogue, Vêtements ainsi que les SQL Ces vêtements sont paramétrés pour être dans le catalogue, si vous voulez les enlever, rien de plus simple, il faut remplacer "SELLABLE = 1" par "SELLABLE = 0" et le tour est joué Screenshot: Pack: Credits for @BR4N for this pack of clothes
    1 point
  19. Oublie cometemu si tu ne sais même pas créer un .bat pour le lancer ...
    1 point
Ce classement est défini par rapport à Paris/GMT+02:00
×
×
  • Créer...