Jump to content

Cloudfordream -  Digisell

Bienvenue sur Habbo-Dev !

Leaderboard


Popular Content

Showing content with the highest reputation since 07/18/2019 in all areas

  1. 22 points
    Ce sujet regroupe tout les cms de RetroPHP à l'exeption de HLOVECMS ! Les cms peuvent contenir des failles, ni moi ni Habbo-Dev n'est responsable. AdowCMS: [Hidden Content] ----------------------------------------------------------------------------------------------------------------------------------- JabboCMS 0.3: [Hidden Content] ----------------------------------------------------------------------------------------------------------------------------------- HabboCMS 3.3:[Hidden Content] ----------------------------------------------------------------------------------------------------------------------------------- HabboCMS 5.2: [Hidden Content] ----------------------------------------------------------------------------------------------------------------------------------- PobbaCMS 0.1: [Hidden Content] ----------------------------------------------------------------------------------------------------------------------------------- PadCMS 4.2: [Hidden Content] ----------------------------------------------------------------------------------------------------------------------------------- HabWay 0.1: [Hidden Content] ----------------------------------------------------------------------------------------------------------------------------------- HBetaCMS 0.3: [Hidden Content] ----------------------------------------------------------------------------------------------------------------------------------- LeetCMS 0.1: [Hidden Content] ----------------------------------------------------------------------------------------------------------------------------------- LeetCMS 0.2:[Hidden Content] -----------------------------------------------------------------------------------------------------------------------------------
  2. 22 points
    Bonjour, Bonsoir ! Comme les trois derniers repacks que j'ai partager, je vous fait donc un pack complet avec: PlusEMU Swf PRODUCTION-201601012205-226667486 DB Compatible HabboCMS 3.3 (vous pouvez le modifier par un autre cms sans problème) Le CMS & SWF, je les ai mis ensemble dans le dossier CMS_SWF. Comme ça, vous avez juste à déplacer tous les fichiers qui s'y trouve dedans, dans votre FTP, puis configurer la base de donnée à votre CMS (include/settings.inc.php) Puis configurer les swfs dans game > gamedata > external_variables.txt. La DB compatible, c'est le fichier DB_COMPATIBLE.txt Ce que contient le pack en screenshot: Téléchargement: [Hidden Content] Scan: [Hidden Content]
  3. 20 points
    Bonsoir, En ce début 2019 je vous partage la dernière version du CMS de YourHabbo. Quelques screens Téléchargement : [Hidden Content] Je vous invite à me follow ainsi cas utiliser la section "Issues" en cas de problème. À bientôt.
  4. 14 points
    Bonjour à tous, aujourd'hui j'ai trouvé un excellent emulateur sur le web et je vous le partage! Le seul soucis l'émulateur est en portugais il faudra donc traduire certains point. Bios emulateur et un emulateur avec des fonctions innovantes pas encore vue. Il a plusieurs fonctions qui sont égales à 100% à Habbo BR(Brasil). Telechargement: [Hidden Content] Que contient cette emulateur ? - Caméra 100% (identique à br) - Pseudo en couleurs. - Smiley dans les pseudos. - Mine Photo de la pièce 100% (même que BR) - Système de filtration avant Disclosers 100% - Système RPG 100% - Le système de mobis qui donnait la plupart des DC était fixe - Talents 100% (égal à BR) - 100% Jukebox (identique au BR) - Mood Outils d'aides 100% (même que br) - Outils des ambassadeurs 100% (comme br) - Totems et nouveaux totems 100% - PathFiend refait (maintenant le habbo marche plus vite) - Rendre les meubles plus rapides - Pack d'achat en magasin 100% (identique à BR) - Groupes de discussion 100% (identique à br) - Group Chat 100% (identique à br) - Arcas Azul et Arca Roxa ont été corrigés (égal à br) - Des pinhats, des vermissements de maison, des oeufs et des fantômes ont tous été corrigés (égal à br) - Système artisanal de mobis 100% (identique à br) - Furni-matic 100% (identique à br) - Hall of Fame sur le client 100% (même que br) - Points bonus client 100% (identique à br) - FastFood 100% (identique à br) Configurez votre SWF pour gérer - Offre Mega 100% (identique à br) - Nouvelle conquête tous ont été fixés et placés nouveau - Nouveaux câbles et effet sonore 100% (identique à br) - HC 100% (égal à BR) - Frank Bot pour les débutants 100% (même que br) - Système de tutoriel pour les débutants 100% (même que br) - Système d'entrée pour les débutants 100% - Habbo Quiz 100% (identique à br) - Citoyenneté 100% (égal à br) - Habbo Poll 100% (identique à br) - Place de la salle comme un point culminant du personnel 100% (même que br) - Système de vêtements refait maintenant ils chargent plus vite - Nouvelles commandes Pour les SWF, et la DB je vous laisse les découvrir dans le téléchargement.
  5. 12 points
    Bonjour, Voici un partage de NovaPack (R63C). Il contient: Cms, Emu et swf. SOURCE: Hressources Emulateur traduit en Français, ainsi que les swfs. Vous avez sans doute du le voir sur les rétros Youretro. Téléchargement: [Hidden Content] Scan: [Hidden Content] Bon jeu.
  6. 10 points
    Yop, Comme à chaque fois que je n'ai rien à faire, je prends donc des ressources pour en faire un pack. (J'ai déjà partager NovaPack ainsi qu'un pack r63a). Bref, aujourd'hui je décide donc de partager un pack r63c, composé de: AzureEMU 190 AzureSWF 190 AdowCMS Compatible bien sur, je les avais déjà tester auparavant. Bref, je profite aussi de faire ça le soir, car avec ma connexion, l'upload sur MediaFire, n'est pas TopTop ^^ Je vous ai fait un petit fichier texte pour savoir comment config les swfs & l'émulateur >> Téléchargement: [Hidden Content] >> Scan: [Hidden Content] >> Screen des dossiers: https://habbo-dev.fr/img_h/1474675497.png Pas de quoi,
  7. 8 points
    Moussaillon, les océans m'ont ramené jusqu'à toi afin de te présenter un coffre longtemps bafoué et pourtant, si intéressant... Marius, mon matelot a réussi à retrouver la clé de ce coffre... Dans sa bouteille d'hydromel, la raison ? Je ne la connais pas, mais en tout cas, il avait l'air naturel, contrairement à d'habitude... Chocolatey : C'est un navire rempli de cartes au trésor. Celui-ci te permettra de créer ta propre chaloupe, rapidement, efficacement et tout en reprenant les fondamentaux du navire "Habbo" qui sombre avec ses moussaillons depuis très longtemps à cause de la chaloupe "HabboCity" qui serait, selon Lambert, insurmontable et invincible. Le navire Chocolatey appartenait au marin d'eau douce sant0ro, celui-ci le fît concevoir complètement avec les frameworks Laravel et Composer, une petite prouesse dans un monde de chaloupes, utilisant quasiment tous les mêmes technologies. Arcturus : Aïe, ça me fend la gueule de parler d'Arcturus, mais c'est pourtant bien le cas, et c'est, selon nos matelots anglais, l'une des seules proues compatibles avec le navire Chocolatey. Arcturus, regroupe tout un tas de trucs sympas à gratter, malgré son créateur, le loup de mer "TheGeneral". Ce vieux loup de mer en veut pour sa poche... Il est accro aux coffres, et il a raison. En créant Arcturus, il a réfléchi à l'avant mais aussi à l'après, et vicieux comme il est, il s'est donné à fond pour vendre du rêve à ses moussaillons, afin de les faire entrer dans une spirale monétisée qu'est l'abonnement à son système de caméra, ce qui signifie que pour pouvoir prendre des photos de tes voyages, il faudra lui laisser de l'argent, chose que je ne te conseille surtout pas au vu des alternatives présentes sur la chaloupe "RaGEZONE"... Chocolatey : Nombreux sont les avantages de ce navire. Commençons tout d'abord par : Son système entièrement en JS permettant une navigation sans encombre Son système multi-avatars permettant aux utilisateurs d'avoir plusieurs avatars avec un simple compte entièrement modulable Son système d'inscription complet, regroupant le choix du look, et le choix des apparts sur le client lors de la première utilisation Son design inspiré entièrement du navire "Habbo" Son système multilangue modifiable manuellement dans une de ses cartes au trésor Arcturus : Malgré son capitaine, il y a pas mal de choses sympa : Wireds (Triggers, Effects, Conditions, Custom Wireds) Animaux (Advanced AI) Groupes Echanges Rares Limités Devise saisonnière Gardiens Mod Tool Bots Jeux (Battle Banzai & Freeze) Editeur Floorplan. Paquets Pack Appart et bien plus encore à découvrir ! Chocolatey : Malheureusement, ce navire n'est pas tout beau et tout rose, certaines choses sont manquantes, et ces choses peuvent être importantes selon l'utilisation des matelots : Il ne contient pas d'administration à proprement parler Il est très compliqué à modifier Des fonctionnalités comme la boutique sont présentes, mais il n'existe à ce jour, aucun moyen de la configurer C'est un navire très compliqué à assembler, il faut être patient Il requiert certaines API qui ne peuvent être laissées de côté Selon les matelots Anglais, ce navire comporterait des failles (mais ça reste à vérifier) Le système de choix d'appart à l'inscription est bien présent, mais je n'ai à ce jour, pas encore trouvé un moyen de le modifier, ce qui signifie qu'il faut avoir une base de données regroupant exactement les mêmes ids que les meubles insérés lors du choix d'appart, sinon, tu te retrouveras avec l'appart, mais sans les meubles... La communauté est très fermée, et ce navire a été laissé de côté car personne à ce jour n'a trouvé comment le faire fonctionner avec Arcturus, du coup, aucune aide concrète, malgré le fait que tu vas apprendre à les faire fonctionner grâce à ce tutoriel ! Arcturus : Je vais pouvoir me faire un plaisir de cracher sur la gueule de ce vieux loup de mer... La communauté "d'entraide" n'est accessible que via Discord, et seulement si tu as payé un abonnement à TheGeneral Cette communauté est composée pour la plupart, de marins d'eau douce à l'ouest, incompétents, ridicules, et insultants Le code source de l'émulateur est inaccessible, sauf en l'échange d'argent... L'émulateur a été conçu de sortes à ce que les badges du groupe se basent sur du local, les coordonnées vers le coffre "c_images" ne sont pas acceptées, il faut que Chocolatey ET Arcturus soient hébergés sur le même serveur pour que les badges de groupe puissent fonctionner correctement.... L'émulateur ne fonctionne que par plugins, ce qui signifie qu'il est dépendant de tes connaissances, ou de celles de certains matelots qui en partagent Avant de commencer, il te faudra ton équipement matelot, sinon, tu risques de pas faire long feu face aux têtes-grises. Arcturus 1.20.0 Chocolatey 3000K Un compte reCaptcha Composer PHP7 par Eudes et pour Chocolatey Des SWF et un Catalogue Complet et MàJ SWF 60 FPS par Eudes et pour HabboDev Pas besoin de te dessiner une carte pour savoir que tu auras besoin d'une base de données, d'un nom de domaine, d'un client FTP, d'un VPS et de ton cerveau. Si tu n'as pas encore tout ça, alors je vais te donner des idées intéressant matelot que voici : [Hidden Content] [Hidden Content] Sources utilisées : Pour les SWFS et le Catalogue : RageZone Pour le CMS : RageZone Auteurs des sources : Prérequis techniques : - PHP 7.X+ Matelot, nous voici maintenant sur les vagues de l'océan pacifique, si tu suis bien ce que je vais écrire, tu es sûr de ne pas te noyer... Nous allons procéder étape par étape. I : Installer la base de données Matelot, pas besoin de te faire une carte au trésor, si tu veux te lancer sur un rétro avec ce genre de ressources tu dois savoir, au moins, importer une base de données et obtenir ses informations. Il faut tout simplement importer la base de données contenue dans Arcturus, puis importer les databases du catalogue que je t'ai mis en téléchargement plus haut ; II : Créer un compte recaptcha Une fois ton compte créé, il va falloir te rendre ici. Ensuite, pour obtenir ton propre code recaptcha tu dois procéder comme suit : Une fois la clé du site copiée, mets là de côté car tu en auras besoin pour configurer Chocolatey. III : Installer PHP7 Une fois téléchargé, tu vas décompresser le dossier contenu dans l'archive, que tu vas envoyer à un endroit de ton PC IV : Installer Composer Après avoir extrait PHP7, tu vas devoir installer Composer À un moment de l'installation, tu vas tomber sur cette page de l'installateur, tu devras alors définir la localisation de ton dossier PHP7 précédemment décompressé (1) puis continuer l'installation (2) : Pour ma part, j'ai décidé de placer le dossier PHP7 dans "Musiques", parce que je ne savais pas vraiment ou le mettre matelot. Après avoir défini la localisation de ton dossier, il ne te manquera plus qu'à finaliser l'installation de Composer. V : Configurer et Installer Chocolatey Une fois Chocolatey téléchargé, tu vas le décompresser à un endroit sur ton PC Ensuite, tu vas te rendre dans son dossier, lancer une cmd en procédant comme suit : Une fois "composer install" lancée et terminée, tu vas te rendre dans le fichier ".env" contenu à la racine de Chocolatey, puis, tu vas configurer les accès base de données comme suit : Une fois configuré, tu vas sauvegarder ton fichier .env, et retourner sur la cmd en procédant comme suit : Si tu as bien mis les bonnes informations de connexion, tu devrais obtenir le résultat ci-dessus. Une fois ce résultat obtenu, je te conseil LARGEMENT d'utiliser cette commande dans ta cmd : composer install --no-dev Maintenant, il va falloir te rendre dans le dossier "config" de Chocolatey et aller dans le fichier "chocolatey.php". Les lignes "26" et "27" te permettront de modifier le nom et le nom court de ton rétro. La ligne "39" te permettra de modifier le lien de ton rétro (OBLIGATOIRE) La ligne "58" te permettra d'indiquer le pseudo avec lequel tu t'es abonné sur Arcturus (FACULTATIF) La ligne "76" te permettra d'activer reCaptcha en indiquant la clé que tu as créée sur l'étape II de ce tutoriel (OBLIGATOIRE) Pour mettre le site en Français, il faudra te rendre en ligne "165" et remplacer "en" par "fr" (IMPORTANT) Pour modifier le pays d'origine du rétro, il faudra te rendre en ligne "177" ET "178" et modifier la ligne 177 en mettant 'fr' puis la ligne 178 en mettant 'eu' Une fois ces configurations apportées, tu devras sauvegarder, puis envoyer la totalité du CMS à la racine de ton nom de domaine. Il faudra que ton site pointe sur le dossier "public", ces modifications peuvent être apportées si tu demandes à ton hébergeur de le faire pour toi Une fois la totalité des fichiers envoyés, tu devras te rendre sur ton FTP et attribuer les droits "777" au dossier "storage" et à ses sous-dossiers comme suit : Si toutes les étapes ont été respectées, en te rendant sur ton rétro, tu devras obtenir ce résultat : VI : Configurer et Installer les SWF Avant de te lancer, il faudra importer les swf sur ton nom de domaine. [Hidden Content] Une fois les SWF envoyées, il faudra te rendre dans le dossier "gamedata", puis dans le fichier "external_variables.txt" afin de remplacer la valeur "http://localhost" par "http://leliendetonretro.com" N'oublie pas d'envoyer le fichier SWF 60FPS que je t'ai mis en téléchargement, ce sera le SWF principal qui te permettra de te connecter au client ! Une fois le fichier "external_variables.txt" modifié, il faudra le sauvegarder, puis, te rendre dans le dossier "gamedata" puis "override" puis dans le fichier "external_override_variables.txt" et remplacer "http://localhost" par "http://leliendetesswfs.com" Maintenant, il faudra retourner sur Chocolatey, et dans le dossier "config" puis le fichier "chocolatey.php" afin de modifier les valeurs contenues de la ligne "259" à "271" par les liens de tes SWFS. Matelot, tu dois tout de même savoir comment configurer des SWFS non ? [Hidden Content] VII : Configurer Arcturus Et nous voici à l'étape finale ! Encore un peu de concentration matelot et les vagues du pacifique seront à ta merci ! Il faudra décompresser Arcturus sur ton VPS Bien sûr, en tant que matelot tu dois connaître quelles sont les manipulations à effectuer sur ton vps avant de lancer un rétro (pare-feu, symbole numérique etc.) Une fois décompressé, il faudra configurer Arcturus en te rendant dans le fichier "config" contenu à sa racine. Voici les configurations bénéfiques à Arcturus qui ne sont pas forcément connues, alors, j'ai décidé de t'éclairer sur celles-ci : Pour le reste, je suppose que tu sais configurer un émulateur quand même matelot... Une fois Arcturus configuré correctement, il faudra te rendre sur Chocolatey, dans le dossier "config" puis le fichier "chocolatey.php" afin de modifier les valeurs contenues de la ligne "242" à "245" par celles de ton VPS. Maintenant que tout est configuré, tu vas retourner sur ton VPS et télécharger Java Une fois Java téléchargé, tu vas retourner dans le dossier d'Arcturus et double cliquer sur "start.bat" Ton rétro est allumé, bon jeu matelot ! VIII : Support Si tu ne te sens pas de le faire, ou que tu n'y arrives pas, plutôt que de polluer l'espace commentaire de ce sujet, je te propose de tout te faire à partir du moment ou tu as déjà un vps, un nom de domaine et une base de données. Bien sûr, comme ça utilise de mon temps, une petite participation de 5€ minimum de ta part est obligatoire, ça paraît logique matelot ! Je ne répondrais à aucune demande d'aide, soit je fais tout soit je ne fais rien, sinon, je ne m'en sors plus, le cas par cas c'est ce qu'il y a de plus horrible Avant de juger, il est important pour toi de regarder à quoi ressemblent le catalogue et les swfs fournis ici ! De plus, télécharger un CMS sans savoir à quoi il ressemble c'est toujours inintéressant, alors, je t'invite à cliquer ! Que la mer soit avec toi matelot !
  8. 5 points
    Hello, Je n'avais rien à faire, donc j'ai mis dans un dossier les ressources pour un petit r63a ! Oui, je sais, cette version date, mais, toujours plaisante à faire des choses dessus ;-) Donc, ce qu'il contient: Phoenix Emu 3.11.0 HabboPHP - Valentin & Robin Swfs compatible Un catalogue FR et FIXE Bref, sans plus tardé, Téléchargement: [Hidden Content] Scan: [Hidden Content]
  9. 5 points
    Non ce n'est pas volé de NLBOBBA, parce que c'est partagé sur un forum anglais, donc je le fais en France. Bonjour, ayant trouvé sur un Forum anglais un tutoriel pour mettre son rétro en 60 FPS, j'ai décidé de vous partager l'astuce en Français. Avant toute chose, il est important de noter que la version à 60 FPS a ses inconvénients, par exemple, les mobis animés bougeront environ 2,5 fois plus vite, ce qui représente beaucoup sur un fichier swf. Vous n'avez qu'à suivre les étapes: [Hidden Content] Ensuite importer votre fichier videz votre cache de préférence et le tour est joué. J'espère avoir rendu service à beaucoup, si vous rencontrez un quelconque soucis, vous pouvez toujours me contacter sur discord: Obscurian#6510 Bien à vous, créateurs & développeurs de rétros =)
  10. 4 points
    Yo, Voici un 2ème thème pour le système multi-cms HPixel ^^ PETITE SCREEN: LIEN DE TEST [Hidden Content] Bon jeu ^^
  11. 4 points
    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? [Hidden Content] 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. [Hidden Content] 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: [Hidden Content] 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.
  12. 3 points
    Salut Hdev, Aujourd'hui je vous partage un système qui affiche le dernier utilisateur inscrit. Voici le code : [Hidden Content] Si vous voulez afficher plusieurs derniers. Voici comment il faut faire. Il suffit de modifier le chiffre dans la ligne. [Hidden Content] Par exemple pour en mettre 3 : [Hidden Content] EDIT : Merci à Akushi pour avoir remarqué l'erreur.
  13. 2 points
    Bonsoir la communauté. Nouveau CONCOURS pour le Mois Août 2019. 15 € NetFlix + 3 Grades. (Premium, VIP et Donateur). Ainsi qu'une PUB de votre choix qui s'affichera 7 Jours en haut du Discord. Participation: Ecrire en commentaire ci dessous "Je Participe". 4 Gagnants au total. A vous de voir le quel des 4 Lots vous souhaitez avoir. (Eviter de vouloir tous le même lot). PUB en affiche à la fin du CONCOURS pour une durée de 7 Jours. Fin du CONCOURS Samedi 17 Août à 23h59. Tirage Dimanche 18 Août dans la journée. ATTENTION: Les commentaires sans précision de lot ne sera pas pris en compte. Quan't au Grade Premium, il sera transmis a un membre au hasard ultérieurement. Bonne chance. Bien à vous.
  14. 2 points
    Moussaillon @ Arwantys, il semblerait qu'un de tes matelots rencontre un souci avec ton système, je vais donc essayer de l'aiguiller, mais si je fais fausse route, je compte sur toi pour le faire à ma place. @ Overlife, il semblerait que tu n'ait pas lu le sujet entièrement, je cite : ⇑ Nom d'un capitaine sans barbe, @ Arwantys je refuse catégoriquement que tu écrives "ainsi cas". @ Overlife, je ne vais pas t'en vouloir pour ça, mais malheureusement les matelots d'Habbo-Dev ne connaissent pas, pour la plupart, le système que tu utilises, il serait donc plus judicieux de te retourner vers le site de référence cité par notre cher ami @ Arwantys et de procéder comme suit : [Hidden Content] Ou de te rendre sur le sujet original, et le relire entièrement en cliquant. Eh oui, on ne part pas acheter ses baguettes de pain chez l'armurier, ni ses légumes chez le coiffeur n'est-ce-pas ? Eh bien il en va de même pour les CMS. Moussaillon, que les mouettes du Pacifique soient avec toi !
  15. 2 points
    Eh bah, il m'a fallu très peu de temps pour réécrire un sujet au sujet d'UIKit, je te laisse visualiser mon sujet en cliquant si tu ne l'as pas encore vu... Pourquoi je suis revenu aussi rapidement ? Parce que je dois t'avouer matelot qu'en relisant mon sujet, j'ai eu une envie soudaine de partager une template vendue normalement sur Themeforest au prix de 29$, et utilisant le framework UIKit, mais pour éviter que @ Thomas me tape sur les doigts, j'ai préféré respecter les règles d'HabboDev, dans le sens où chaque catégorie est rattachée à des sujets en particulier, mon sujet sur UIKit était un sujet tutoriel, celui-ci, est un sujet de partage. Bien sûr, si @ Thomas n'est pas d'accord pour le partage de sources payantes, alors, nous discuterons ensemble comme de vrais moussaillons autour d'un verre d'hydromel et à bord du CruiseSide afin de trouver les conditions adéquates et/ou nécessaires à ce partage. En tant que capitaine de bord, j'ai décidé aujourd'hui d'appliquer les couleurs primaires d'UIKit sur mes bannières, c'est une façon pour moi de les remercier pour leur travail remarquable qui nous permets à nous, développeurs de croisières de rêves flemmards, de créer des choses sortant de l'entendement. Mon instinct de capitaine me disait de copier-coller la description de cette template dans un traducteur puis de te la partager tel quel. Mais en tant que moussaillon je me dois tout de même de t'expliquer en bref à quoi peut servir cette template : Tout d'abord, elle contient vraiment tous les éléments nécessaires proposés par UIKit pour créer une administration te ressemblant. De plus, elle n'embarque aucune librairie externe contrairement à des templates lambda partagées gratuitement sur le net. Grâce à cette template, tu as d'immenses possibilités qui s'offrent à toi pour créer ce à quoi tu as toujours rêvé de créer, et en plus, c'est gratuit (sauf si @ Thomas me tape sur les doigts) ! J'espère avoir été assez vendeur, car je te rappel que je ne suis pas marchand d'hydromel mais plutôt consommateur si tu vois ce que je veux dire ! Ils sont nombreux, bien que trop nombreux, du coup, je vais essayer de pas m'attarder et de te résumer tout ça rapidement : Construite avec SCSS Système de construction GulpJS Grille Bootstrap BEM Naming Methodology Structure de projet ITCSS Responsive Retina Légère et rapide Adaptative Boards (Style Trello) Fil d'actualités (Style Twitter) Calendrier Messenger Tableau de projets Analytics Factures Profil utilisateur Inscription Connexion UI Kit Alertes Avatars Badges Breadcrumb Groupe de bouton Calendrier Sélecteur de date Sous-menu Divider Eléments de formulaire Téléchargement de fichier Sélection Multiple Carte de profil Etat de carte Tâches Offres et plus... Personnellement à ce jour je n'ai pas trouvé d'inconvénients pour ma part. La seule chose qui peut être ennuyante, c'est le fait de devoir naviguer, se renseigner et récupérer sur un nombre incalculable de pages ce dont on a besoin. Pour faire claire : Inutile de télécharger cette template si tu es un matelot flemmard ! Hmmm... Des screens ? Sincérement ? Non je ne suis pas d'accord, autant visualiser en live pour pouvoir tirer une conclusion plus appropriée à tes attentes ! Il te suffit donc de cliquer ! Avant de te jeter sur le lien de téléchargement, je t'invites à visiter la page officielle du produit et de son marketplace par défaut : C'est ici Maintenant, tu peux télécharger : [Hidden Content] Moussaillon, que les mouettes du Pacifique soient avec toi !
  16. 2 points
    Bien le bonjour à toi moussaillon. Avec mes matelots nous avons décidé d'aborder le sujet du fameux "UIKit" qui est un framework te permettant de créer un navire rapidement tout en respectant l'esthétique des nouvelles technologies web. J'ai eu cette petite idée en lisant le sujet de @ Swayn qui parlait du fameux "Materializecss" et avec lequel, il a pu créer entièrement un CMS Habbo qui lui était propre et qui a fait bon nombre d'envieux ! Bon, bien sûr, contrairement à @ Swayn, je n'ai pas pris le temps de créer un CMS entièrement avec UIKit, mais je dois t'avouer que dans l'université ou je suis, ce framework est fortement conseillé par les intervenants. Avant de commencer, faisons un point : Maintenant que tu connais c'est quoi un framework, nous pouvons commencer ce tutoriel ! Uikit est un framework CSS facile à prendre en main grâce notamment au nom des classes utilisées mais, aussi les helpers (ou utility) proposés pour vous aider à mettre en place votre layout. Je veux dire par là qu’il est presque possible de mettre en place un design sans avoir à ajouter du code CSS custom. Il est vrai que cela occasionne d’avoir des balises avec beaucoup de classes attribuées, mais au moins cela permet d’harmoniser les méthodes d’intégration entre les développeurs front. De plus en procédant de cette manière, le code CSS que vous aurez à ajouter sera vraiment q’une légère refonte du thème par défaut cela vous évitera notamment les bugs d’affichage liés à la gestion du responsive par exemple. Contenu du framework : des composants : les icônes, les overlays, les badges, alertes, boutons un système de grille performant : comprenant la gestion du responsive, les articles et les sections les éléments HTML basiques : les liens hypertexte, les tableaux, les formulaires les animations css : de simples classes à ajouter à vos éléments pour les animer la navigation : barre de navigation, offcanvas, dropdown des composants javascript : accordéon, modal, slider, slideshow Hautement customisable du fait de la possibilité de combiner les modules. Permet d'ajouter des composants au CSS sans impacter le style général. Possibilité de créer des interfaces utilisateurs poussées. Framework récent, très peu de ressources et de documentations. Avant de commencer, il te faudra ton équipement matelot, sinon, tu risques de pas faire long feu face aux têtes-grises. Sublimetext 3 Une cible projet qui t'encourage à continuer Une peinte d'hydromel de café Une boussole montre précise Comment j'inclus la librairie sur une page sans forcément devoir télécharger les fichiers correspondants ? [Hidden Content] Comment je crée un accordion ? [Hidden Content] Comment je crée un minuteur (countdown) ? [Hidden Content] Comment je crée un tableau ? [Hidden Content] Comment je peux créer ce que je veux ? En te documentant ici. Effectivement, nous pouvons dire qu'UIKit peut remplacer Bootstrap avec un peu plus de possibilités, qu'en pensez-vous ? Si vous avez envie d'intégrer les fichiers d'UIKit sur votre site, sans passer par les liens directs, voici le lien de téléchargement : [Hidden Content] En espérant voir très bientôt des rétros, des templates et/ou autres avec ce framework qui te permet facilement de créer de superbes choses ! Que la mer soit avec toi, moussaillon !
  17. 2 points
    Bien le bonjour à toi matelot, nous revoici sur les flots, et cette fois-ci pour créer un navigateur web... Mais, concrètement, à quoi ça peut servir ? Eh bien, c'est toujours bien d'avoir son propre navigateur, afin de naviguer comme un moussaillon authentique, sans se soucier des vagues déchaînées. Rassure-toi moussaillon, ce tutoriel ne va pas te prendre une paille, il est très simple, rapide et il va te permettre d'apprendre que Visual ne s'arrête pas forcément à un émulateur Habbo et qu'il peut te permettre de faire de très belles choses grâce aux différents plugins et widgets qu'il contient. Hum... Un moussaillon de renom doit connaître ce qu'est un navigateur, sinon, il n'est pas considéré comme un matelot apte à partir en croisière. Petit rappel : Un navigateur c'est ce qui te permet d'aller sur Google et de taper "habbo-dev" tous les jours pour pouvoir accéder à son île ! Grâce à un navigateur personnel, tu peux moduler vraiment tout à ta manière et c'est l'avantage. Par exemple: Google Chrome t'impose d'accepter flash pour que tu puisses jouer à ton rétro favori. Eh bien, grâce à ton navigateur, tu pourras faire en sorte d'accepter automatiquement Flash, ce qui t'évite, par la même occasion de devoir passer par des plugins vus, revus et encore revus qui sont disponibles sur le store de Google. Mais les avantage ne s'arrêtent pas forcément à un simple rétro, ils sont multiples, après, c'est à toi moussaillon de réfléchir et de trouver des solutions créatives et intéressantes qui n'existent peut-être pas encore sur Chrome, Edge, Mozilla, Opera et j'en passe et des meilleurs. En sois, si on doit parler d'inconvénients, ce n'est pas en rapport avec les navigateurs, mais plutôt en rapport avec la manière que je vais te transmettre et qui va te permettre d'en créer. Concrètement, des manières il y en a des tonnes, moi, j'ai décidé de te proposer un tutoriel plutôt soft, rapide, intéressant, et ayant vraiment que les fondamentaux, ce sera à toi après, d'ajouter les plugins, d'améliorer ton navigateur et tout le reste. Avant de commencer, il te faudra ton équipement matelot, sinon, tu risques de pas faire long feu face aux têtes-grises. Visual Studio Community 2019 Une cible projet qui t'encourage à continuer Une peinte d'hydromel de café Une boussole montre précise Créer un navigateur internet avec visual basic(simple et avec plusieurs onglet).mp4 J'ai réussi à m'adapter aux différentes coordonnées de l'île d'Habbo-Dev, du coup, tu as de la veine car je peux te donner des coordonnées exactes et dans ta langue que voici : [Hidden Content] Que la mer soit avec toi, moussaillon !
  18. 2 points
    Ajoute discord si tu veux
  19. 2 points
    Bien le bonjour jeune moussaillon, te voici arrivé sur mon premier tutoriel, qui, je le pense, pourrait t'apporter un bon petit coup de pouce pour débuter ton propre système de traduction automatique sur ton CMS, ton site, ou ton portfolio. Le Victoria renfermé dans sa cage aux trésors, un système dont les têtes grises ne connaissaient pas l'existence. Ce trésor, faisait partie des fondamentaux du développement de croisières de rêve. Les 5 matelots en connaissaient l'existence, mais pour éviter d'être obnubilés par ce trésor, ils décidèrent de faire comme s'il n'existait pas en se fendant la poire devant leur hydromel à deux francs six sous. La personne étant en possession de ce trésor, avait la possibilité de traduire sa croisière en toutes les langues impossibles et inimaginables, afin d'attirer toujours plus de curieux. La différence entre ce trésor, et notre langue, c'est que grâce à ce trésor, les moussaillons pouvaient se faire comprendre par des groupes de pirates afin de planifier des pillages sur les chaloupes ennemies. Ce trésor était en quelque sorte, la clé vers le monde. Grâce à lui, les pirates n'avaient plus besoin de se faire comprendre car les pirates étrangers les comprenaient au moindre oscillement de leur bouche. Si notre cher ami, Christophe Colomb avait trouvé ce trésor avant nous, il aurait été arrêté dans sa folie des grandeurs lorsqu'il découvrit le "Nouveau Monde" et ses habitants. Malheureusement ce trésor relève de la supercherie, surtout lorsqu'il s'agit de détecter la langue du pirate étranger. Oui, la traduction automatique que je vais te présenter se base sur l'IP du visiteur, elle n'est donc pas 100% fiable, surtout quand on sait que beaucoup de moussaillon se cache derrière un manteau pour éviter que l'on découvre leur identité. De plus, ce système se base sur un service proposé, il suffirait que ce service prenne fin, et tous les moussaillons n'arriveraient plus à se comprendre, et ça pourrait créer d'innombrables incohérences et provoquer, la guerre de nos chaloupes. Avant de commencer, il te faudra ton équipement matelot, sinon, tu risques de pas faire long feu face aux têtes-grises. Un éditeur de code Une cible projet qui t'encourage à continuer Une peinte d'hydromel de café Une boussole montre précise En bref... Pour commencer vas devoir concevoir une carte que tu appelleras "detecter-langue.php". Ensuite, tu vas concevoir un trésor que tu appelleras "langues" Puis, dans ce trésor tu créeras deux cartes que tu appelleras "fr.php" et "en.php" Et pour terminer, tu devras créer une carte que tu appelleras "test.php" 1. Si tu utilises un hébergeur, detecter-langue.php devra contenir : [Hidden Content] 1. Si tu utilises un serveur local, detecter-langue.php devra contenir : [Hidden Content] 2. Pas besoin de te faire un dessin, tu sais concevoir un trésor non ? 3. fr.php devra contenir [Hidden Content] en.php devra contenir [Hidden Content] 4. test.php devra appeler le trésor "detecter-langue.php" qui appellera à son tour les cartes "en.php" et "fr.php" [Hidden Content] Pas besoin de te faire une carte au trésor, le code est assez compréhensible en mon sens, mais je vais essayer de t'expliquer en détail et étape par étape en répondant aux possibles questions que tu aurais potentiellement posées dans les commentaires de ce sujet. 1) Detecter-Langue.php Concrètement, ce code va chercher des informations sur GeoPlugin en fonction de lip qu'il aura précédemment renseigné grâce à sa détection par IP. Une fois qu'il a recueilli ces informations, il va chercher comme paramètre, auprès de GeoPlugin le nom du pays, et si le nom du pays est égal au pays du pirate actuel, alors, le site retournera la langue correspondant au pays. Dans ce trésor, j'ai simplifié les choses, mais tu peux les améliorer, dans l'état actuel des choses, le code met la chaloupe en français si le visiteur vient de France, sinon, elle la met automatiquement en Anglais. Avec un peu de réflexion, tu peux largement améliorer ce code, si tu es un vrai moussaillon ! 2) en.php & fr.php Ils retournent tous deux une valeur différente pour une variable égale. Concrètement, si la chaloupe appelle "victoria_sos", alors, en fonction de la langue définie automatiquement précédemment, la valeur rattachée sera affichée. 3) test.php Se contente seulement de récupérer les valeurs des variables et de les afficher. Voici le lien de téléchargement : [Hidden Content] Bon courage Moussaillon !
  20. 2 points
    Bonjour tout le monde, N'ayant pas le temps pour mon rétro, j'ai décidé de mettre mon émulateur à vendre. Caractéristiques : - Jukebox - Camera / Thumbnails - Forums groupes - Badges groupes - Football et autres jeux - Poker - Achievements - MarketPlace - Ambassadeurs (Outil guide) - Nux Alertes - Sondages - Animaux exclusifs (Yoshi, Bob l'éponge....) - Acheter un bébé - Rares exclusifs - Tenues exclusives (Nike, Gucci, LV) - Commandes exclusives - Recherche d'appart fixée -Filtre anti-pub exclusif - Nouveau packet à la réception de badge/achievement - Système de connexion staff sécurisé (voir images) - Système de licence par sécurité à venir et bien d'autres choses à découvrir ! Screens : j'en ai d'autres, demandez moi par MP ou Discord si besoin Me contacter / Comment acheter : - Emulateur + BDD + SWF (prix en privé) Pour toute demande, envoyez-moi un MP mais je préfère que vous m'ajoutiez sur Discord : indisponible pour le moment Moyens de paiement acceptés : DediPass - YouPass - Carte Bancaire - PayPal - Paysafecard Je reste disponible pour toute information Bonne journée sur Habbo-Dev !
  21. 1 point
  22. 1 point
    Salut, éteint ton émulateur et entre ces lignes sql. UPDATE users SET gotw_points = '0'; UPDATE users SET vip_points = '0';
  23. 1 point
    Coucou. Je voit que très très trèèèèèèèèès peut de rétros ont des musiques inédites, presque aucun, même aucun je pense ! Donc j'arrive dans la street pour aider ceux qui veulent avoir de l'inédit sur leur rétro-serveurs Prérequis : - PlusEmu avec le JukeBox fixé, les musiques de bases doivent déjà marcher - Accès de sa base de donnée - Accès à ses SWF donc son FTP - Un cerveau capable de réfléchir 2 secondes - Mettre tout de suite un like sur mon sujet Prêt ? On commence ! Il vous faut une musique en mp3 déjà. Peut importe sa taille et sa longueur Go dans vos swf, allez dans le dossier dcr > hof_furni - Sois vous avez un dossier mp3 et vous mettez votre musique dedans - Sois vous n'avez pas le dossier mp3, vous le créez et vous mettez votre musique dedans Maintenant il faut rename ta musique comme ceci : "sound_machine_sample_102" Remplacez "102" par un nombre, n'importe lequel, il faut juste qu'il n'y ai pas d'autre fichier .mp3 avec ce nombre la à la fin Maintenant, allez dans votre base de données, plus précisément dans juxebox_songs_data. Si la table n'existe pas mettez ce code sql la dans votre base de donnée : Maintenant vous avez ça : Dans id vous mettez ce que vous voulez tant qu'il n'existe pas, on s'en fiche un peu. Dans code_name vous mettez le nom de code de votre musique c'est vous qui choisissez vous mettez n'importe quoi ^^ Dans song_data vous mettez ça : 1:(ID),(Taille de la chanson en secondes) Par exemple si vous avez sound_machine_sample_802 et que la musique dure 120 secondes (2 minutes) vous allez mettre dans song_data 1:802,120 Dans name et artist vous mettez ce que vous voulez c'est le nom de la musique et le nom de son artiste Dans lenght vous mettez la taille de votre musique en seconde. Exemple : Votre musique dure 2 minutes, mettez 120 Et maintenant vous mettez à vendre vos musiques dans votre catalogue, ça je vous laisse faire c'est pas trop dur ^^ Merci de m'avoir écouté ! Laissez un like si je vous ai aidé et si vous avez besoin d'aide et bien je suis dispo - Tuesday
  24. 1 point
    (Le logo est magnifique)
  25. 1 point
    Bonjour, j'avais dernièrement partagé "l'astuce" pour mettre son rétro en 60 FPS. La plupart des projets ont donc installé cette idée, mais comme elle ne plaît pas à tout le monde, il a fallu proposer aux joueurs de choisir la version sur laquelle ils joueront. Puisque dans la communauté française les gens préfèrent tout avoir directement et ne pas se donner pour, je vais vous donner une page HTML/CSS toute simple et vous expliquer le fonctionnement et le principe. Rien de vraiment compliqué. Bref, vous devrez créer une page qui s'appelle par exemple "choixhotel.php" -> Une fois créée, vous y insérerez le code proposé ci-dessous. Dans votre CMS, vous trouverez le code du bouton "entrer dans l'hôtel" (en général c'est dans header.php) et vous remplacerez le /hotel.php (ou /client.php) par /choixhotel.php Par la suite, vous aurez votre "hotel.php" avec votre version 24 FPS (Donc le Habbo.swf classique) Vous créerez par exemple un "hotel60fps.php" où vous appellerez cette fois le Habbo.swf en 60 FPS Dans la page "choixhotel.php", vous changerez les <a href=""> des boutons et vous y mettrez les liens de vos hôtels différents. Côté chiant avec ce système: si vous voulez modifier des images dans votre Habbo.swf, vous devrez le faire sur les 2 versions. Je sais qu'il existe d'autres manières de le faire, mais moi j'aime bien celle-ci. Voici donc le code, un code tout simple: [Hidden Content] Cordialement, Obscurian.
  26. 1 point
    La communauté habbo est pratiquement morte, flash a été la cible de chrome dans la version 76 sois celle qui est sortie il y a quelques jours, et je pense que d’ici peu flash va disparaître entièrement des navigateurs web, leur seule option s’ils souhaitent continuer à vivre c’est de passer à l’HTML5 mais ça prends du temps à développer, et nous ne savons pas si ils ont déjà commencé ou non cette version, nous verrons bien l’avenir.
  27. 1 point
    Moussaillon, nous revoilà sur le CruiseSide à la recherche des différents trésors que renfermait le Victoria. Aujourd'hui, je viens t'annoncer avec fierté que mon instinct de capitaine m'a permis de régler un problème très commun sur ChocolateyCMS, et ce, dû au fait qu'Arcturus continue ses mises à jour et que le développement de Chocolatey s'est arrêté en 2017. Avant de commencer, il te faudra un rétro utilisant Chocolatey, sinon ce tutoriel ne te servira strictement à rien, je t'invite à cliquer si tu n'en as pas encore créé. Chocolatey : C'est un navire rempli de cartes au trésor. Celui-ci te permettra de créer ta propre chaloupe, rapidement, efficacement et tout en reprenant les fondamentaux du navire "Habbo" qui sombre avec ses moussaillons depuis très longtemps à cause de la chaloupe "HabboCity" qui serait, selon Lambert, insurmontable et invincible. Le navire Chocolatey appartenait au marin d'eau douce sant0ro, celui-ci le fît concevoir complètement avec les frameworks Laravel et Composer, une petite prouesse dans un monde de chaloupes, utilisant quasiment tous les mêmes technologies. Apparts à l'inscription : Alors effectivement, contrairement à tous les CMS existants et partagés sur la toile, Chocolatey est l'un des seuls qui rassemblent toutes les fonctionnalités d'Habbo, dont le choix d'appart à l'inscription : Mais le problème, c'est que ce système fonctionne, il crée les apparts, mais sans les mobis dans la majorité des cas... Ce qui est tout simplement dû à vos items qui ne comportent en aucun cas les mêmes ids que celles qu'utilisent Chocolatey de base. Avant de commencer, il te faudra ton équipement matelot, sinon, tu risques de pas faire long feu face aux têtes-grises. Un éditeur de code Une cible projet qui t'encourage à continuer Une peinte d'hydromel de café Une boussole montre précise En bref... Pour commencer tu vas devoir télécharger un éditeur de code Ensuite, tu vas te rendre dans le coffre app/Helpers Puis, tu vas ouvrir la carte Nux.php Et pour terminer, tu devras modifier ce que je vais t'indiquer Si tu as bien lu les phrases ci-dessous, tu as pu trouver les coordonnées du coffre "SublimeText" Pas besoin de te dessiner une carte au trésor, un matelot se doit d'être intelligent Pas besoin de te dessiner une carte au trésor, un matelot se doit d'être incorrigible Tu vas ouvrir la carte Nux.php, et suivre à la lettre ce qui suit (exemple qui s'applique à la fonction createBedRoom, sachant que dans ce fichier, les 2 fonctions qui suivent définissent 2 des 3 apparts) : protected function createBedRoom(User $user): bool { $room = (new Room())->store("{$user->name}'s room", "{$user->name} has entered the building", 'model_h', 25, 12, 610, 2403, 0.0, $user->uniqueId, $user->name); $user->update(['home_room' => $room->id]); // Floor Items (new RoomItem())->store($user->uniqueId, $room->id, id_à_modifier, 9, 9, '0.00000', 4, ''); (new RoomItem())->store($user->uniqueId, $room->id, 15542, 9, 12, '0.00000', 0, ''); (new RoomItem())->store($user->uniqueId, $room->id, 15542, 10, 9, '0.00000', 4, ''); (new RoomItem())->store($user->uniqueId, $room->id, 15542, 10, 12, '0.00000', 0, ''); (new RoomItem())->store($user->uniqueId, $room->id, 16412, 9, 5, '1.00000', 0, ''); (new RoomItem())->store($user->uniqueId, $room->id, 16435, 7, 5, '1.00000', 0, ''); (new RoomItem())->store($user->uniqueId, $room->id, 16486, 8, 5, '1.00000', 0, ''); (new RoomItem())->store($user->uniqueId, $room->id, 17816, 6, 2, '1.00000', 0, '4'); (new RoomItem())->store($user->uniqueId, $room->id, 17816, 9, 2, '1.00000', 0, '4'); (new RoomItem())->store($user->uniqueId, $room->id, 17824, 7, 2, '1.00000', 0, '1'); (new RoomItem())->store($user->uniqueId, $room->id, 17894, 9, 10, '0.00000', 0, ''); (new RoomItem())->store($user->uniqueId, $room->id, 18074, 8, 4, '1.00000', 0, '1'); (new RoomItem())->store($user->uniqueId, $room->id, 18817, 3, 10, '0.01000', 2, ''); (new RoomItem())->store($user->uniqueId, $room->id, 18835, 3, 9, '0.00000', 0, ''); (new RoomItem())->store($user->uniqueId, $room->id, 18835, 3, 11, '0.00000', 0, ''); (new RoomItem())->store($user->uniqueId, $room->id, 18835, 5, 9, '0.00000', 0, ''); (new RoomItem())->store($user->uniqueId, $room->id, 18835, 5, 11, '0.00000', 0, ''); // Wall Items (new RoomItem())->store($user->uniqueId, $room->id, 22988, 0, 0, '0', 0, '', ':w=4,2 l=0,35 l'); (new RoomItem())->store($user->uniqueId, $room->id, 23163, 0, 0, '0', 0, '1', ':w=4,8 l=0,43 r'); (new RoomItem())->store($user->uniqueId, $room->id, 23261, 0, 0, '0', 0, '', ':w=2,10 l=2,34 l'); (new RoomItem())->store($user->uniqueId, $room->id, 23331, 0, 0, '0', 0, '', ':w=2,10 l=2,29 l'); return true; } Si tu as un peu de logique, tu as compris que "id_à_modifier" signifie tout simplement que l'id renseigné, est l'item_id de la table "catalog_items" du catalogue par défaut sur lequel Chocolatey se base, il te suffira tout simplement de te baser sur cet id, faire un tour dans le catalogue que je vais partager dans la partie "Téléchargements", récupérer le "catalog_name", et le rechercher dans le catalog_items de ton catalogue afin d'obtenir son items_id que tu utiliseras pour remplacer celui déjà existant dans le fichier ci-dessus. Bien sûr matelot tu dois bien te douter que chaque ligne débutant par "new RoomItem" est une ligne indiquant les coordonnées d'un mobis en particulier et de sa position au sein de l'appart... C'est donc à toi de suivre attentivement la logique, et tu y arriveras à coup sûr tel un brave matelot à retrouver les mobis perdus en mer ! Pour télécharger le catalogue original utilisé par Chocolatey, voici les liens : [Hidden Content] C'est à toi maintenant de choisir l'option qui te convient le mieux : Télécharger un catalogue non mis à jour mais compatible avec Chocolatey depuis 2017 et le mettre à jour Utiliser ton propre catalogue en employant la logique que je t'ai faits passer pour fixer le bug des apparts à l'inscription Support Si tu ne te sens pas de le faire, ou que tu n'y arrives pas, plutôt que de polluer l'espace commentaire de ce sujet, je te propose de tout te faire à partir du moment ou tu as déjà créé ton rétro, et qu'il est accessible et fonctionnel sur ton domaine. Bien sûr, comme ça utilise de mon temps, une petite participation de 2€ minimum de ta part est obligatoire, ça paraît logique matelot ! Je ne répondrais à aucune demande d'aide, soit je fais tout soit je ne fais rien, sinon, je ne m'en sors plus, le cas par cas c'est ce qu'il y a de plus horrible Que la mer soit avec toi matelot !
  28. 1 point
    Salut, tu dois replacer le figuremap (ou figuredata) de tes swf dans l'émulateur. Tu te rends dans gamedata tu prend le fichier, ensuite dans l'émulateur dossier extra tu colle celui de tes swf
  29. 1 point
    Nous avons pris le cap 90° nord moussaillon. Nous avons hâte de jeter l'ancre et nous espérons assisté à des aurore boréale. Que la mer sois avec nous moussaillon!
  30. 1 point
    Salut, dans ton administration tu devrais avoir une page avec ces noms "Configuration / site"... Si tu n'as aucunes page, tout se fait via la db
  31. 1 point
    Bien le bonjour/bonsoir à tous, Après 5 mois "d'absence", je décide de faire mon retour sur les rétro-serveurs mais cette fois-ci, dans la partie administrative. Afin d'aider les personnes qui sont dans le besoin pour les recrutements d'une équipe ou aussi bien pour la gestion d'équipe. Je recherche actuellement un projet sérieux, ambitieux et avec un certain professionnalisme afin d'exercer pleinement mes fonctions au sein de l'hôtel. Les postes auxquels je serais ravi de vous servir: Gérant, Resp. Communication, Resp. MOD et Resp. GM Pourquoi ces postes me direz-vous? Dans la vie active, je suis étudiant dans une filière gestion/administration et cela me permettrait de mettre mes connaissances ainsi que mes acquis au profit du projet! Je ne vais pas faire plus long aha, si vous voulez qu'on s'entretienne vocalement ou simplement en message, je vous laisse mon Discord ci-après: Oweap#5532 Bonne continuation à tous!
  32. 1 point
    NOTRE PROJET Notre projet débute donc le 10/07/2019 ou le fondateur a eu l'idée de créer un rétro mais comme il l'a pensé il a dit "J'aimerais faire un rétro mais je ne sais pas Développer" directement le fondateur et partis chercher un développeur il l'a donc posez quelques questions puis le développeur était très compétent ! Le fondateur a bien dit qu'il voulait des choses inédites forcément le fondateur a vu que Clayton vend des ressources il lui a donc demandé Clayton lui a dit oui je vends mes ressources inédites directement le fondateur lui a donc acheté les ressources inédites (Nous remercions Clayton pour les ressources). | L'équipe Nous avons toujours privilégié la qualité à la quantité, nous recrutons principalement par observation et ne recrutons que les meilleurs. Si vous souhaitez rentrez dans notre équipe nous vous conseillons d'être fidèle, actif et de montrer vos compétences (NALI ET SEUL POUR L'INSTANT.) Fondateur | Nali | Machinerie Nous sommes hébergés sur des machines de chez CloudforDream (Partenaire de H-Dev) VPS------> 12go de ram Hébergement Web-----> Espace disque Illimités + Anti-DDos pour toutes fluidité CMS---------> Inédit (Des screen plus bas) Émulateur--------> (Vous verrez a l'ouverture ) SCREEEN me.php.pfi | Noté bien Il y aura une versions bêta sous peu --> Ouverture entre le 1er Août et le 6 Août. | Liens Discord: wGrdhV | https://discord.gg/wGrdhV @ Akushi pour les ressources Habbo-Dev pour que je poste ce message CloudforDream pour les machines En vous Souhaitant une très bonne soirée !
  33. 1 point
    Merci beaucoup c'est gentil de ta part
  34. 1 point
    Tes créations sont magnifiques, j'aime beaucoup les badges !!! Continue comme ça !
  35. 1 point
    Bonjour / bonsoir, Premier poste sur habbo-dev. 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 : [Hidden Content] Bonne journée/soirée Torune Gérant chez Zibbow.fr Développeur débutant Pixel artiste habbo
  36. 1 point
    Merci beaucoup pout ton partage!
  37. 1 point
    Regarde ce tutoriel, normalement après ça devrait fonctionner
  38. 1 point
    Très beau met assez connu ces badges Merci
  39. 1 point
    Tu dois régénérer puis clean avant de fermer. N'hésite pas de me laisser un +1 matelot
  40. 1 point
    Bonjour, Comme vous l'avez remarqué la section développement n'étais plus présente durant plusieurs heures. Nous avons décidé de faire une refonte complète de la section afin de la rendre beaucoup plus propre. Elle est maintenant beaucoup plus claire concernant les catégories, et beaucoup plus propre. Nous restons ouvert à des idées concernant cette section, nous prenons en compte toutes vos suggestions! Cordialement,
  41. 1 point
    Fais ça : 1. Vas sur démarrer puis Panneau de configuration. 2. Clique sur Horloge, langue et région, puis clique sur Modifier le format de date, de l'heure ou des nombres. 3. Une fenêtre s'ouvre, clique en bas sur Paramètres supplémentaires. 4. Une nouvelle fenêtre s'ouvre, et dans la case Symbole décimale, change la virgule par un point. 5. Enfin, relance votre émulateur.
  42. 1 point
    Pour être honnête ni fais ni à faire c'est franchement dégueulasse ta palette.
  43. 1 point
    Mais qu'elle talent ! Prochaine étape le manoir d'Harry potter ?
  44. 1 point
    Je ne pense pas que ce soit une bonne idée car beaucoup s'inscrivent sur le forum uniquement pour les tutoriels sur le forum... Si les liens ne sont disponible que sur H-Dev ça poussera l'utilisateur à attendre une dizaine de jours et il prendra peut-être goût au forum et il restera ? +1 utilisateur actif ?
  45. 1 point
    Hey HabboDev ! Aujourd'hui je suis très heureux de vous mettre en ligne gratuitement mon Plugin (ou addon) que vous pouvez insérer directement dans votre administration, j'ai fait un code simple avec plein d'explications pour les débutants et pour ceux qui veulent modifier le css Je pense que vous n'aurez pas de mal à installer le plugin, j'ai tout fait pour vous faciliter la tache et les seules erreurs que vous trouverez lors de la configuration seront expliquées en détails pour vous aider à la régler mais je suis à votre disposition pour tout régler, vous aurez un petit didacticiel pour vous introduire dans le plugin. Cette version nécessite une DataBase (DB) mais je posterais une version qui ne nécessite pas une base de données pour ceux qui veulent juste envoyer des mails Voici le roman que je vous avais précédemment écrit dans mon ancien article que vous pouvez trouver ici ou juste e dessous, quasiment pas modifié. Arrêtons de tourner autour du pot, soyons concrets ! Voici les fichiers de téléchargement : [Hidden Content] Have Fun ! Bonne continuation à vous tous et toutes Faites une bonne et longue utilisation du plugin En cas de problème, je suis toujours là ! UBrain
  46. 1 point
    Yo la compagnie, j'espère que vous allez bien, moi en tout cas ça va niquel ! Aujourd'hui, j'ai décidé de vous faire part de ce LOOOOOOOONNNNGGG tutoriel qui vous permettra de sécuriser votre rétro et/ou site à 99,99%. Pourquoi ce partage ? Parce que je remarque que plus nous avançons dans le temps, plus de nouvelles petites têtes de noobs se pointent, et essaient par tout les moyens de DDOS pour qu'on parle d'eux, malheureusement; des fois ils y arrivent, c'est donc pour cela que je vous partage ce petit topic tiré du web, et adapté à Habbo-Dev pour le plaisir de vos petits yeux, et bien, je n'ai plus qu'à vous souhaiter une très bonne lecture ! Avant Propos On peut lutter contre les pirates et les hackeurs et protéger son site internet en suivant ces simples conseils. Ils sont assez efficaces pour se défendre des attaques automatiques et donneront du travail à celui qui vise spécifiquement à pénétrer votre site pour diverses raisons. Prenez ces conseils comme une liste de bonnes pratiques qu’un professionnel doit appliquer au minium. Ici, vous n’aurez que des recommandations relatives à l’hébergement d’un site internet à destination du client et du web-développeur. Vous n’apprendrez pas à protéger un serveur web comme un administrateur système doit le faire, car cela fait partie de sa formation. INTRODUCTION Comment éviter que votre site web ne soit utilisé par un pirate comme plateforme de phishing (hameçonnage) ou d’envoi massif de spams (pourriels) ? Comment éviter le “defacing”, c’est-à-dire l’effacement de votre site web et son remplacement par un autre, ou une page avec un slogan anti-occidental ? Comment éviter certains trous de sécurité ? A priori, les serveurs mutualisés de votre hébergeur devraient être relativement sécurisés et disposer d’outils permettant de bloquer certains comportements suspects. Ce sont des professionnels qui ont la maitrise de leurs outils. Ils mettent à votre disposition un espace que vous devez contrôler, ils ne le font pas pour vous. En effet, ils ne s’occupent que de leur partie (la gestion du matériel et de leurs serveurs), et vous êtes responsable des données que vous y mettez (site web, e-mail, fichiers…). Par conséquent, l’hébergeur suspend votre site web après une attaque, vous laissant le soin de corriger le problème tout seul. Tant que vous n’intervenez pas, cette action a posteriori bloque votre compte et votre site web reste inaccessible. Il est donc préférable de prévenir le piratage pour l’empêcher de vous nuire. Voici donc quelques conseils concrets, pratiques et très efficaces. C’est l’accumulation de ces trucs et astuces qui sécurisera votre site, car il n’y a pas de solution unique; les pirates utilisent plusieurs moyens différents pour forcer un compte. Qui sont les pirates ? Les premiers sont des “skiddy”, des jeunes (“kid” en anglais, “kiddy” pour petit jeune) qui utilisent des scripts prêts à l’emploi (le “s” de skiddy) qu’on trouve facilement sur le web pour exploiter les failles d’un CMS, blog, e-commerce, etc. Ils ne font qu’utiliser ces scripts comme on utilise un logiciel. Ce ne sont pas des “petits génies”, ils ne programment pas et n’inventent rien. Ils se lancent des défis à celui qui effacera ou violera le plus de sites web. Les autres, bien plus dangereux, sont des pirates au service d’une mafia afin de prendre le contrôle de votre site web via une faille de votre CMS, blog ou e-commerce pour le convertir en plateforme d’envoi de spams ou de phishing, ou en automate pour violer d'autres ordinateurs. Ceux-là créent leurs propres scripts qu’ils ne partagent pas avec une communauté. Ils font cela pour l’argent; les mafieux les payent en fonction du nombre de sites web piratés, d’identifiants et mot de passe récoltés, de moyens de paiements interceptés, d’ordinateurs personnels dont ils ont pris le contrôle à l’insu du malheureux propriétaire (c’est-à-dire votre PC et chez vous en profitant de votre connexion à internet en programmant un malware par exemple). Pourquoi attaquent-ils votre site ? Ni le skiddy, ni le mafieux ne vous visent personnellement. Les uns le font pour le jeu, les autres pour l’argent. Il est peu probable qu’on vous vise personnellement. Certains skiddies effacent des sites et se cachent derrière des pseudo slogans politiques et anti-occidentaux, histoire de vous faire peur, de se donner de l’importance et se prendre au sérieux. Il n’en est rien. Comment savent-ils que mon site a une faille de sécurité ? Réponse: Google ou tout autre moteur de recherche ! Il cherche un fichier précis comme login.php, confip.php ou autres, et, combiné avec quelques mots-clés, ils savent quel CMS, blog ou e-commerce vous utilisez. Ils essaieront alors de lancer un script pour tester si l’attaque fonctionne. Il ne font même pas ça manuellement, car ils ont des logiciels qui le font automatiquement !!! Leurs logiciels testent chaque URL listée par Google à la recherche de la faille. C’est aussi simple que ça. Ils vous trouvent par hasard. Donc, nous allons essayer de nous prémunir contre ces attaques automatiques. Ces conseils ne concernent que les sites web utilisant un CMS, blog ou e-commerce, etc. programmés par des informaticiens ou par vous. CONSEIL NUMÉRO 1: votre CMS, blog ou e-commerce doit être à jour. Vous suivrez les mises à jour de sécurité et les installerez sans attendre. CONSEIL NUMÉRO 2: LES RÈGLES LES PLUS IMPORTANTES Comme ce tutoriel est long, voici les règles qu’il faut appliquer en priorité. Vous pourrez inclure les autres plus tard. 1- Attribuer par FTP aux fichiers les droits chmod 404 et aux dossiers les droits chmod 505. 2- Règles de filtrage par htaccess. Permet d’arrêter de nombreuses attaques avant de toucher votre site web. 3- Règles de sauvegarde et de restauration de votre site web. D’abord, vérifiez quels fichiers le pirate a ajouté ou modifié en installant ce script. 4- Si vous programmez en PHP, des règles simples de filtrages sont à voir. Même chose pour l'injection SQL. Ne soyez pas irresponsable, pensez à filtrer tout ce qui entre dans votre script. LES DROITS D’ÉCRITURE, DE LECTURE ET D’EXÉCUTION. -= INDISPENSABLE =- Plus d’infos ici: Description du CHMOD et de la signification des numéros. Attention, ces règles peuvent fonctionner pour certains hébergeurs et pas chez d’autres. Faites un petit essai, cela en vaut vraiment la peine. On a l’habitude de dire qu’on doit attribuer par FTP les droits 644 à un fichier et 755 à un dossier. En fait, certains hébergeurs (mais pas tous) ne semblent pas utiliser de groupe. Donc, on pourrait très bien utiliser les droits 604 pour un fichier et 705 pour un dossier. Si un pirate pénètre le système avec un droit de groupe, il n’aura accès à rien, ni en lecture ni en écriture. On peut aller plus loin. Protégeons les parties sensibles de votre CMS, blog ou e-commerce, comme le fichier config.php et .htaccess en lui donnant les droits 404 (ou 444). Personne ne pourra le modifier, même pas vous (c’est faux dans l’absolu si votre site a un gros trou de sécurité, mais imparable contre une attaque automatique). Vous ne pourrez le faire que par FTP quand vous aurez vraiment besoin de le modifier. Voilà comment je protège mon site: - Tous les fichiers ont les droits 404 (ou 444). - Tous les dossiers ont les droits 505 (ou 555). - Si un fichier ou un dossier nécessitent des droits d’écriture par le serveur mettez 604 pour le fichier et 705 pour le dossier. Inutile de faire le fameux 777 (tous les droits à tout le monde) qui est un danger public, une provocation au piratage, car vous annoncez que votre maison est grande ouverte, sans porte ni fenêtre, tout le monde peut se servir. - Les fichiers config et htaccess ont des droits 404 (ou 444) - Le dossier “www” ou “public_html” doit être en chmod 705 ou 755 selon votre hébergeur, ne le changez jamais. Avantage: personne ne peut modifier vos fichiers. Inconvénient: il faut changer les droits en écriture (644 et 755) si vous faites une mise à jour de votre CMS, blog ou e-commerce et remettre les bons droits 404 (ou 444) et 505 (ou 555) après. Cela prend 10 min., mais ça en vaut la peine. Si votre hébergeur ne vous permet pas de faire cela, déménagez chez un autre. Pourquoi est-ce si important ? Le pirate essaye d’installer un fichier sur votre site afin d’en prendre le contrôle (pour effacer le site, y placer des fichiers pour faire du phishing ou un script qui envoie du spam, etc.). Il cherche des trous de sécurité pour pouvoir enregistrer son fichier de prise de contrôle dans votre serveur. Si votre site web a un trou de sécurité, le pirate l’exploitera, mais comme votre site web n’a que des dossiers et fichiers interdits en écriture, il ne pourra rien enregistrer. Son attaque ne marchera pas. Le plus simple est d’utiliser votre logiciel de FTP, d’afficher les informations relatives à un fichier ou un dossier et votre logiciel affiche l’option de modification des droits. Une autre méthode efficace, si vous avez de nombreux fichiers, est de se connecter en SSH (voir sa description plus bas). Sinon, voici un petit script PHP qui vous permettra de réaliser cette opération très simplement. Vous enregistrez ce fichier dans votre hébergement web, vous l’ouvrez depuis votre navigateur, entrez le chemin du dossier à traiter, et choisissez les réglages CHMOD pour tous les fichiers et dossiers inclus dans ce répertoire. Un rapport détaillé vous donnera les résultats. Une fois l'opération terminée, supprimez ce fichier pour éviter toute utilisation involontaire. Vous pouvez télécharger ce fichier PHP ici: chmod. <?php /* FORMULAIRE DE MODIFICATION DES DROITS CHMOD DES FICHIERS ET DOSSIERS Enregistrez ce fichier dans votre répertoire hébergement web, ouvrez-le avec votre navigateur et suivez les instructions. Un rapport d'erreur est fourni. Supprimez le fichier après utilisation. */ // initialisation des variables $dosPerm = "0"; $ficPerm = "0"; $retval = "0"; // nombre d'erreurs CHMOD // Chemin du dossier a traiter $chem = preg_replace("/[^_A-Za-z0-9-\.%\/]/i",'', $_POST["chemin"]); // chemin de fichier absolu (avec nettoyage contre piratage) $chem = preg_replace("/\.\.\//",'', $chem); // on interdit la commande ../ define('ABSPATH', dirname(__FILE__)); $chem = ABSPATH.$chem; // chemin de fichier absolu de votre compte du genre /home/loginftp/www/ ou /home/loginftp/public_html/ etc. //Droits des dossiers $d1 = preg_replace("/[^57]/",'', $_POST["dir1"]); $d2 = preg_replace("/[^057]/",'', $_POST["dir2"]); $d3 = preg_replace("/[^057]/",'', $_POST["dir3"]); $dosPerm = "0".$d1.$d2.$d3; $dosPerm = octdec($dosPerm); //droits des fichiers $f1 = preg_replace("/[^46]/i",'', $_POST["fic1"]); $f2 = preg_replace("/[^046]/i",'', $_POST["fic2"]); $f3 = preg_replace("/[^046]/i",'', $_POST["fic3"]); $ficPerm = "0".$f1.$f2.$f3; $ficPerm = octdec($ficPerm); // Formulaire html pour changer les droits print "<html><meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\" />"; print "<body><h3>Changer les droits d'acc&egrave;s CHMOD aux dossiers et fichiers <br />dans votre h&eacute;bergement.</h3>"; print "<table><tr><td>"; print "<form method=\"post\">"; print "<tr><td>Droits des dossiers: </td>"; print "<td><select name=\"dir1\"><option value=\"5\">5</option><option value=\"7\" selected>7</option></select><select name=\"dir2\"><option value=\"0\">0</option><option value=\"5\" selected>5</option><option value=\"7\">7</option></select><select name=\"dir3\"><option value=\"0\">0</option><option value=\"5\" selected>5</option><option value=\"7\">7</option></select></td></tr>"; print "<tr><td>Droits des fichiers: </td>"; print "<td><select name=\"fic1\"><option value=\"4\">4</option><option value=\"6\" selected>6</option></select><select name=\"fic2\"><option value=\"0\">0</option><option value=\"4\" selected>4</option><option value=\"6\">6</option></select><select name=\"fic3\"><option value=\"0\">0</option><option value=\"4\" selected>4</option><option value=\"6\">6</option></select></td></tr>"; print "<tr><td>R&eacute;pertoire &agrave; contr&ocirc;ler: </td>"; print "<td>".ABSPATH." <input type=\"text\" name=\"chemin\" maxlength=\"80\" size=\"30\" value=\"/\" ></td></tr>"; print "<tr><td> </td><td><input type=\"submit\" value=\" Changer les CHMOD des Dossiers et Fichiers \">"; print "</form>"; print "</td></tr></table>"; if ( ($dosPerm||$ficPerm) > 0 ){ function rChmod($chem,$dosPerm,$ficPerm) { echo "<p><b>Journal:</b></p>\r\n"; $d = new RecursiveDirectoryIterator($chem); $d ->setFlags(RecursiveDirectoryIterator::SKIP_DOTS); foreach (new RecursiveIteratorIterator($d, 1) as $path) { $chmodret = false; $chmodresultat = ""; if ( $path->isDir() ) { $chmodret = chmod( $path, $dosPerm ); } else { if ( is_file( $path ) ) { $chmodret = chmod( $path, $ficPerm ); } } if ($chmodret) {$chmodresultat = "OK"; } else { $chmodresultat = "ERREUR"; ++$retval; } echo $chmodresultat . " " . $path . "<br />\r\n"; } return $retval; } $nbfailed = rChmod($chem,$dosPerm,$ficPerm); echo "<p><b>"; if ($nbfailed > 0) { echo $nbfailed . " erreur(s) CHMOD. Voyez le journal ci-dessus."; } else echo "Pas d'erreur apparente. Vérifiez par vous-même.</b> Supprimez le fichier après utilisation.</p>\r\n"; } print "</body></html>"; ?> Il est possible d’accélérer le changement des droits par SSH en automatisant cette action. Votre hébergeur doit vous donner accès à une connexion SSH. Avec un script qui fait du pseudo-ssh en PHP, mettez le fichier dans le dossier "www" ou "public_html" et commencez le travail. Changer tous les droits par FTP de tous les fichiers et dossiers peut être long et fastidieux avec le risque d’en oublier. J’utilise les lignes de commandes ci-dessous pour changer les droits rapidement par SSH. Connectez-vous en SSH à votre compte, puis placez-vous dans le dossier “www” (ou “public_html”) en entrant la commande cd www , et entrez les commandes suivantes en une seule ligne (après avoir modifié les noms des fichiers et dossiers selon les besoins): En mode SSH, mettez-vous dans le dossier "www" ou "public_html" avant de commencer. On copie une ligne, on appuie sur la touche Entrée, et on copie une autre ligne, on appuie sur la touche Entrée, etc. après avoir modifié les noms des fichiers et dossiers selon les besoins. Tous les fichiers ont les droits 404 ou 444 (droit de lecture, aucun droit d’écriture): find . -type f -print0 | xargs -0 chmod 404 Tous les dossiers ont les droits 505 ou 555 (droit de lecture, aucun droit d'écriture): find . -type d -print0 | xargs -0 chmod 505 Tous les fichiers portant le nom “.htaccess” ont les droits 404 ou 444 (droit de lecture, aucun droit d'écriture): find . -type f -name .htaccess -print0 | xargs -0 chmod 404 Tous les fichiers contenant le nom “config*.php” (utilisation du caractère joker *) du dossier “blog” ont les droits 404 (droit de lecture, aucun droit d'écriture): find /home/loginftp/www/blog -type f -name "config*.php" -print0 | xargs -0 chmod 404 Tous les fichiers php (“*.php” utilisation du caractère joker *) ont les droits 404 ou 444 (droit de lecture, aucun droit d'écriture): find . -type f -name "*.php" -print0 | xargs -0 chmod 404 Tous les dossiers portant le nom “dossier_a_verrouiller” ont les droits 505 ou 555 (droit de lecture, aucun droit d'écriture): find . -type d -name dossier_a_verrouiller -print0 | xargs -0 chmod 505 Tous les dossiers comportant le mot upload, comme “123-upload” ou “uploadbidule” (“*upload*” utilisation du caractère joker *) qui se trouvent dans le dossier “forum” ont les droits 705 (droit de lecture et droit d'écriture pour vous et le serveur): find /home/loginftp/www/forum -type d -name "*upload*" -print0 | xargs -0 chmod 705 Un article sur la signification du CHMOD et la signification des numéros. LE FICHIER .HTACCESS Je vous propose 10 astuces pour sécuriser votre site web. Elles sont très efficaces et permettent de stopper beaucoup de tentatives de piratages avant que votre CMS, blog ou e-commerce entre en action. Donc, dans une certaine mesure, si votre logiciel a une faille, peut-être que ces règles éviteront qu’elle ne soit exploitée. N’installez pas ces règles en une fois, suivez les conseils d’installations et de tests en bas de la 10è astuce. Appliquez au moins les règles 4, 5 et 6 qui sont très efficaces, elles vous protégerons de 90% des attaques automatiques tout en ayant peu de risque de bloquer votre site internet. Créez le fichier .htaccess avec un logiciel de texte simple (tout sauf Word). Appelez-le “txt.htaccess”, envoyez-le par FTP dans votre dossier www et renommez-le en “.htaccess”. Puis donnez-lui par FTP les droits 404 ou 444. Il ne sera pas modifiable. Voici une suite de commandes qui permettent de sécuriser votre site web. 1- Register_Globals sur OFF: Si vous utilisez PHP 5.4 ou supérieur, il est inutile de s’en préoccuper. Depuis la version 4.2 de PHP, cette fonction est sur OFF et elle est obsolète depuis PHP 5.4; c’est tant mieux pour la sécurité. Or, certains hébergeurs mettent encore ce paramètre sur ON sur les serveurs mutualisés. Vérifiez cela avec votre hébergeur et corrigez-le si nécessaire. -= INDISPENSABLE =- Un conseil: si un script exige que le paramètre PHP Register_Globals soit sur ON, trouvez un autre script concurrent. php_value register_globals OFF // ou mettez ce code si cela ne marche pas SetEnv REGISTER_GLOBALS 0 Si votre hébergeur n’utilise pas cette possibilité, alors essayez de modifier le fichier php.ini en ajoutant cette ligne: register_globals = 0 2- Interdire l’accès à ce fichier depuis un navigateur web: <Files .htaccess> order allow,deny deny from all </Files> 3- Interdire de lister le contenu d’un dossier: Options -Indexes 4- Exclure les logiciels suspects utilisés par les pirates et certains aspirateurs de site web. -= TRÈS EFFICACE ET INDISPENSABLE =-. Appliquez cette règle, car on bloque déjà une grande part des attaques automatiques. Cette liste est le minimum qu’il faut avoir et elle donne d’excellents résultats. Vous pouvez en ajouter d’autres si vous en trouvez. ###FILTRE CONTRE CERTAINS ROBOTS DES PIRATES RewriteEngine On ## EXCEPTION: TOUS LES ROBOTS MEMES ANONYMES OU BANNIS PEUVENT ACCEDER A CES FICHIERS RewriteCond %{REQUEST_URI} !^/robots.txt RewriteCond %{REQUEST_URI} !^/sitemap.xml ## RewriteCond %{HTTP_USER_AGENT} ^-?$ [OR] ## ANONYMES RewriteCond %{HTTP_USER_AGENT} ^curl|^Fetch\ API\ Request|GT::WWW|^HTTP::Lite|httplib|^Java|^LeechFTP|lwp-trivial|^LWP|libWeb|libwww|^PEAR|PECL::HTTP|PHPCrawl|PycURL|python|^ReGet|Rsync|Snoopy|URI::Fetch|urllib|WebDAV|^Wget [NC] ## BIBLIOTHEQUES / CLASSES HTTP DONT ON NE VEUT PAS. ATTENTION, CELA PEUT BLOQUER CERTAINES FONCTIONS DE VOTRE CMS. NE PAS TOUT EFFACER, MAIS CHERCHEZ LE NOM DE LA CLASSE HTTP CONCERNEE (DEMANDEZ AUX DEVELOPPEURS DE VOTRE CMS). CETTE LISTE BLOQUE 80% DES ROBOTS SPAMMEURS. IL FAUT LA CONSERVER. ## RewriteCond %{HTTP_USER_AGENT} ^[bcdfghjklmnpqrstvwxz\ ]{10,}|^[0-9a-z]{15,}|^[0-9A-Za-z]{19,}|^[A-Za-z]{3,}\ [a-z]{4,}\ [a-z]{4,} [OR] ## CEUX QUI INVENTENT DES NOMS AU HASARD, RETIREZ LES 2 DIESES EN DEBUT DE LIGNE POUR L'ACTIVER RewriteRule (.*) - [F] 5- On bloque toute une série de failles potentielles. La plupart des pirates utilisent ces moyens pour tester la faiblesse de votre site. Là, on les bloque avant qu'il ne pénètre votre CMS, blog ou e-commerce. -= TRÈS EFFICACE ET INDISPENSABLE =- ### FILTRE CONTRE XSS, REDIRECTIONS HTTP, base64_encode, VARIABLE PHP GLOBALS VIA URL, MODIFIER VARIABLE _REQUEST VIA URL, TEST DE FAILLE PHP, INJECTION SQL SIMPLE RewriteEngine On RewriteCond %{REQUEST_METHOD} (GET|POST) [NC] RewriteCond %{QUERY_STRING} ^(.*)(%3C|<)/?script(.*)$ [NC,OR] RewriteCond %{QUERY_STRING} ^(.*)(%3D|=)?javascript(%3A|:)(.*)$ [NC,OR] RewriteCond %{QUERY_STRING} ^(.*)document\.location\.href(.*)$ [OR] RewriteCond %{QUERY_STRING} ^.*(%24&x).* [NC,OR] RewriteCond %{QUERY_STRING} ^.*(127\.0).* [NC,OR] RewriteCond %{QUERY_STRING} ^(.*)(%3D|=)(https?|ftp|mosConfig)(%3A|:)//(.*)$ [NC,OR] ## ATTENTION A CETTE REGLE. ELLE PEUT CASSER CERTAINES REDIRECTIONS RESSEMBLANT A: http://www.truc.fr/index.php?r=http://www.google.fr ## RewriteCond %{QUERY_STRING} ^.*(_encode|localhost|loopback).* [NC,OR] RewriteCond %{QUERY_STRING} ^(.*)GLOBALS(=|[|%[0-9A-Z]{0,2})(.*)$ [OR] RewriteCond %{QUERY_STRING} ^(.*)_REQUEST(=|[|%[0-9A-Z]{0,2})(.*)$ [OR] RewriteCond %{QUERY_STRING} ^(.*)(SELECT(%20|\+)|UNION(%20|\+)ALL|INSERT(%20|\+)|DELETE(%20|\+)|CHAR\(|UPDATE(%20|\+)|REPLACE(%20|\+)|LIMIT(%20|\+)|CONCAT(%20|\+)|DECLARE(%20|\+))(.*)$ [NC] RewriteRule (.*) - [F] 6- On bloque certaines requêtes bizarres: -= TRÈS EFFICACE ET INDISPENSABLE =- ### DES FAUX URLS OU VIEUX SYSTEMES OBSOLETES, ON LES NEUTRALISE RedirectMatch 403 (\.\./|base64|boot\.ini|eval\(|\(null\)|^[-_a-z0-9/\.]*//.*|/etc/passwd|^/_vti.*|^/MSOffice.*|/fckeditor/|/elfinder/|zoho/|/jquery-file-upload/server/|/assetmanager/|wwwroot|e107\_) # DESACTIVE LES METHODES DE REQUETES TRACE TRACK DELETE RewriteEngine On RewriteCond %{REQUEST_METHOD} ^(TRACE|DELETE|TRACK) [NC] RewriteRule ^.* - [F] 7- On n’autorise que l’affichage de certains fichiers, et pas les autres. Le fichier index.php est le fichier par défaut. Si on affiche index.htm, ça ne marche pas. L’intérêt est d’interdire au pirate d’afficher sur son navigateur un fichier ou un format de fichier non autorisé.Attention: il faut tester ces interdictions et les adapter au besoin. ### SEUL LE FICHIER index.php EST SERVI COMME PREMIER FICHIER PAR DEFAUT. LES AUTRES SONT INTERDITS DirectoryIndex index.php ### INTERDIRE LES AUTRES TYPES DE FICHIER INDEX <Files ~ "^(index)\.(p?s?x?htm?|txt|aspx?|cfml?|cgi|pl|php[3-9]|jsp|xml)$"> order allow,deny deny from all </Files> ### INTERDIRE L'AFFICHAGE DE CERTAINS FORMATS DE FICHIER ### EXÉCUTÉS PAR LE SERVEUR MAIS INTERDIT D'AFFICHAGE PAR LE NAVIGATEUR WEB <Files ~ "\.(inc|class|sql|ini|conf|exe|dll|bin|tpl|bkp|dat|c|h|py|spd|theme|module|mdb|rar|bash|git|hg|log|svn|swp|cvs)$"> deny from all </Files> ### INTERDIRE L'AFFICHAGE DE CERTAINS FICHIERS COMME config, option, login, setup, install, admin, home, default, xmlrpc. ### A ADAPTER SI CELA POSE PROBLEME, NOTAMMENT RETIREZ wp-(login|admin|config)| SI VOUS UTILISEZ WORDPRESS <Files ~ "^(wp-(login|admin|config)|config(\.inc)?|install?|admin|user|login|configure|configuration|options?\.inc|option|settings?(\.inc)?|functions?(\.inc)?|setup(\.inc)?|readme|changelog|default|home|xmlrpc|bigdump|uploadTester|errors?|test|data|members?|hacke?r?d?|[-_a-z0-9.]*mafia[-_a-z0-9.]*|[-_a-z0-9.]*power[-_a-z0-9.]*|[-_a-z0-9.]*jihad[-_a-z0-9.]*|php|shell|ssh|root|cmd|[0-9]{1,6})\.(p?s?x?htm?l?|txt|aspx?|cfml?|cgi|pl|php[3-9]{0,1}|jsp?|sql|xml)$"> order allow,deny deny from all </Files> 8- Interdiction du hotlinking. Remplacez mondomaine par votre nom de domaine, et \.fr par fr, com, net, org ou autres extensions en gardant le \ avant le point. ### ON EVITE LE VOL D'IMAGES, VIDEO, SON, FEUILLE DE STYLE, PDF ET ZIP ### LES VISITEURS DOIVENT PASSER PAR LE SITE. RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^https?://[-a-z0-9.]*mondomaine\.fr$ [NC] RewriteCond %{HTTP_REFERER} !^https?://[-a-z0-9.]*mondomaine\.fr/.*$ [NC] RewriteCond %{HTTP_REFERER} !^https?://.*(translate|paypal|google|bing|yahoo|yandex|baidu|facebook|qwant|duck|ixquick|pinterest|twitter).*$ [NC] ## CES DOMAINES PEUVENT AFFICHER LES ELEMENTS DU SITE RewriteCond %{HTTP_REFERER} !^mobile?://.*$ [NC] ## LES CONNEXIONS A TRAVERS LES APP DES MOBILES PEUVENT AFFICHER LES ELEMENTS DU SITE RewriteRule .*\.(gif|jpe?g?|jp2|png|svgz?|css|pdf|zip|gz|js|mp3|m4a|mp4|mov|divx|avi|wma?v?|wmp|swf|flv|docx?|xlsx?|pptx?|vbs|rtf|asf?x?|odt|ods|odp|odg|odb|eot|ttf|woff|woff2)$ - [NC,F] 9- Si des pirates ont réussi à pénétrer votre site, ils installent un script qui leur permettent de prendre les commandes de votre hébergement. Ici, on bloque la plupart des commandes de ces scripts. À tester avec votre site web, car c'est très puissant et efficace. À la 5e ligne, remplacez “/home/loginftp/” par votre chemin de fichier absolu avant le dossier “www” ou “public_html”. Cette règle est très efficace mais peut casser votre CMS, blog ou e-commerce. À utiliser en dernier, puis à tester intensément, et effacez éventuellement la règle qui pose problème. ### FILTRE CONTRE PHPSHELL.PHP, REMOTEVIEW, c99Shell et autres RewriteEngine On RewriteCond %{REQUEST_URI} .*((php|my)?shell|remview.*|phpremoteview.*|sshphp.*|pcom|nstview.*|c99|r57|webadmin.*|phpget.*|phpwriter.*|fileditor.*|locus7.*|storm7.*)\.(p?s?x?htm?l?|txt|aspx?|cfml?|cgi|pl|php[3-9]{0,1}|jsp?|sql|xml) [NC,OR] RewriteCond %{REQUEST_METHOD} (GET|POST) [NC] RewriteCond %{QUERY_STRING} ^(.*)=/home/loginftp/(.*)$ [OR] RewriteCond %{QUERY_STRING} ^work_dir=.*$ [OR] RewriteCond %{QUERY_STRING} ^command=.*&output.*$ [OR] RewriteCond %{QUERY_STRING} ^nts_[a-z0-9_]{0,10}=.*$ [OR] RewriteCond %{QUERY_STRING} ^(.*)cmd=.*$ [OR] ## ATTENTION A CETTE REGLE. ELLE PEUT CASSER VOTRE SITE ## RewriteCond %{QUERY_STRING} ^c=(t|setup|codes)$ [OR] RewriteCond %{QUERY_STRING} ^act=((about|cmd|selfremove|chbd|trojan|backc|massbrowsersploit|exploits|grablogins|upload.*)|((chmod|f)&f=.*))$ [OR] RewriteCond %{QUERY_STRING} ^act=(ls|search|fsbuff|encoder|tools|processes|ftpquickbrute|security|sql|eval|update|feedback|cmd|gofile|mkfile)&d=.*$ [OR] RewriteCond %{QUERY_STRING} ^&?c=(l?v?i?&d=|v&fnot=|setup&ref=|l&r=|d&d=|tree&d|t&d=|e&d=|i&d=|codes|md5crack).*$ [OR] RewriteCond %{QUERY_STRING} ^(.*)([-_a-z]{1,15})=(ls|cd|cat|rm|mv|vim|chmod|chdir|concat|mkdir|rmdir|pwd|clear|whoami|uname|tar|zip|unzip|gzip|gunzip|grep|more|ln|umask|telnet|ssh|ftp|head|tail|which|mkmode|touch|logname|edit_file|search_text|find_text|php_eval|download_file|ftp_file_down|ftp_file_up|ftp_brute|mail_file|mysql|mysql_dump|db_query)([^a-zA-Z0-9].+)*$ [OR] RewriteCond %{QUERY_STRING} ^(.*)(wget|shell_exec|passthru|system|exec|popen|proc_open)(.*)$ RewriteRule (.*) - [F] 10- Empêcher l’exécution de tout script PHP, Perl, CGI dans un dossier. L’option ci-dessous vous permet par exemple de protéger un dossier d’upload ou tout dossier très sensible dont vous voulez renforcer la sécurité. Il ne faut pas utiliser cette option dans le fichier .htaccess avec tous les codes décrits ci-dessus. Je vous invite plutôt à créer un fichier .htaccess et à le mettre dans le dossier à protéger. Cette option empêche un navigateur web d’exécuter le script directement. Mais si le navigateur ouvre le fichier index.php qui fait un include() vers un fichier php se trouvant dans le dossier protégé par le code ci-dessous, tout s’exécutera bien. On protège donc l’exécution directe du fichier par un navigateur quand le pirate essaye d’entrer du code malicieux non filtré. # Aucun script dans le dossier et ses sous-dossiers, que ce soit PHP, PERL ou autre CGI, ne pourra s'executer si ExecCGI est inactif. Et interdit d'afficher la liste des fichiers. OPTIONS -ExecCGI -Indexes Ne mettez pas ces règles d’un coup. Copiez-en une, puis testez votre CMS, blog ou e-commerce en ajoutant, modifiant un article, ajoutez effacez un utilisateur, accédez à votre interface d’administration et faites plusieurs choses. Si tout est OK, mettez une autre règle. En cas de problème, regardez l’URL appelée. Il y a peut-être un mot clé qui est bloqué par le fichier .htaccess. Il faudra effacer ce mot clé du fichier .htaccess. Vous l’avez compris, ce système filtre l’URL et regarde s’il est conforme à une utilisation normale. Donc, si vous avez un message d’erreur, trouvez le mot clé qui bloque la requête. Il faut adapter ces règles à votre cas, ce n’est pas du simple copier-coller. Plus tard, si dans l’utilisation de votre CMS, blog ou e-commerce, vous voyez une erreur 403, alors il est probable qu’une règle du filtrage soit active. Enfin, votre CMS, blog ou e-commerce utilise souvent le fichier .htaccess pour y mettre des règles de ré-écriture d’URL plus lisibles (appelé URL rewriting). Mettez les filtres anti-pirates en premier et les règles URL rewriting à la fin. En effet, les filtres s’appliquent du premier au dernier. Placer les filtres anti-pirates après les règles de ré-écriture d’URL de votre CMS, blog ou e-commerce n’apporterait aucun bénéfice (ce n’est pas vrai à 100%, mais il y a des raisons). AVOIR LA LISTE DES FICHIERS MODIFIÉS ET AJOUTÉS Voici un petit script php qui vous permet d’avoir la liste des derniers fichiers créés ET modifiés. Si vous avez été victime d’un piratage, il vous permettra de savoir quels fichiers ont été ajoutés et ceux qui ont été modifiés par le pirate avec la date et l’heure. Ainsi, en comparant la date de ces fichiers modifiés aux logs, vous saurez si la modification est normale ou pas et vous saurez quand et comment le pirate a frappé. Il sert également à comprendre le comportement d’un script ou d’un CMS, blog, wiki et voir quels fichiers ont été manipulés par ce logiciel. Copiez le code ci-dessous et créez un fichier texte que vous pourrez appeler par exemple: liste-modif.php Mettez ce script dans votre hébergement dans le dossier “www” ou “public_html”, ouvrez-le avec votre navigateur web, donnez le nombre de jours représentant la période à vérifier, puis le nom du dossier à analyser. Le chemin de fichier doit se terminer par / comme par exemple: “/forum/” qui correspondra à “/home/votreloginftp/www/forum/” Si vous voulez vérifier tout le contenu du dossier “www” ou “public_html”, cliquez uniquement sur le bouton “Vérifier Fichiers”. Attention, si vous avez beaucoup de fichiers et de répertoires, le listage peut prendre trop de temps et le script peut s’interrompre après 30s d’exécution. Si c’est le cas, essayez votre recherche répertoire par répertoire. Ce script ne va donner la liste que des dossiers à partir du chemin “/home/votreloginftp/www/” ou “/home/votreloginftp/public_html/” de votre hébergement. Une fois l'opération terminée, supprimez ce fichier pour éviter toute utilisation involontaire. Vous pouvez télécharger ce fichier PHP ici: modif.zip (2,1 Ko) <?php /* Donne la liste des derniers fichiers créés ET modifiés. Très utile en cas de piratage pour savoir quels fichiers sont ajoutés et ceux qui ont été modifiés. Utile pour comprendre le comportement d'un script ou d'un CMS et voir quels fichiers ont été manipulés. Mettez ce script dans votre hébergement, ouvrez-le avec votre navigateur web, donnez le nombre de jours représentant la période à vérifier, puis le nom du dossier à analyser. Ce script ne va donner la liste que des dossiers à partir du chemin /home/votreloginftp/www/ de votre hébergement. Supprimez le fichier après utilisation. Crédits: Les 4/5 du code sont l'oeuvre de Linda MacPhee-Cobb (http://timestocome.com) */ $go_back = 0; // affiche résultat ou non $i = 0; // compteur de boucle $dir_count = 0; // initialisation de la boucle $date = time(); // date et heure actuelle $one_day = 86400; // nombre de secondes pour une journée $days = preg_replace("/[^0-9]/i",'', $_POST["jours"]); // nombre de jours à vérifier $path = preg_replace("/[^_A-Za-z0-9-\.%\/]/i",'', $_POST["chemin"]); // chemin de fichier absolu (avec nettoyage contre piratage) $path = preg_replace("/\.\.\//",'', $path); // on interdit la commande ../ define('ABSPATH', dirname(__FILE__)); $path = ABSPATH.$path; // chemin de fichier absolu de votre compte du genre /home/loginftp/www/ ou /home/loginftp/public_html/ etc. $directories_to_read[$dir_count] = $path; // Formulaire pour remonter le temps print "<html><body><h3>Contr&ocirc;le des derniers fichiers modifi&eacute;s <br />dans votre h&eacute;bergement .</h3>"; print "<table><tr><td>"; print "<form method=\"post\">"; print "<tr><td>Nombre de jours &agrave; v&eacute;rifier 1-99: </td>"; print "<td>&nbsp;&nbsp;<input type=\"text\" name=\"jours\" maxlength=\"2\" size=\"2\"></td></tr>"; print "<tr><td>Nom du r&eacute;pertoire &agrave; contr&ocirc;ler: </td>"; print "<td>".ABSPATH." <input type=\"text\" name=\"chemin\" maxlength=\"80\" size=\"30\" value=\"/\" > (mettre un / &agrave; la fin)</td></tr>"; print "<tr><td> </td><td><input type=\"submit\" value=\" V&eacute;rifier Fichiers \">"; print "</form>"; print "</td></tr></table>"; // Affichage du résultat $go_back = $one_day * $days; print "<br /> Retour sur les <strong>" . ($go_back/$one_day) ."</strong> derniers jours. <br /><br />"; if ( $go_back > 0 ){ print "<table><tr><th>Nom du Fichier</th><th>Date de modification</th></tr>"; $diff = $date - $go_back; while ( $i <= $dir_count ){ $current_directory = $directories_to_read[$i]; // obtenir info fichier $read_path = opendir( $directories_to_read[$i] ); while ( $file_name = readdir( $read_path)){ if (( $file_name != '.' )&&( $file_name != '..' )){ if ( is_dir( $current_directory . "/" . $file_name ) == "dir" ){ // besoin d'obtenir tous les fichiers d'un répertoire $d_file_name = "$current_directory" . "$file_name"; $dir_count++; $directories_to_read[$dir_count] = $d_file_name . "/"; }else{ $file_name = "$current_directory" . "$file_name"; // Si temps modifiés plus récent que x jours, affiche, sinon, passe if ( (filemtime( $file_name)) > $diff ){ print "<tr><td> $file_name </td>"; $date_changed = filemtime( $file_name ); $pretty_date = date("d/m/Y H:i:s", $date_changed); print "<td> ::: $pretty_date</td></tr>" ; } } } } closedir ( $read_path ); $i++; } print "</table>"; print "<br />Supprimez le fichier après utilisation.</body></html>"; } // if go_back > 0 ) ?> LES MOTS DE PASSE Protégez vos mots de passe. On peut essayer de pénétrer votre hébergement en devinant votre mot de passe FTP ou SQL. Si vous changez les mots de passe, respectez les règles suivantes: 1- un mot de passe doit avoir au minimum 12 caractères, plus c’est mieux. 2- il ne doit jamais être un mot qu’on trouve dans le dictionnaire d’aucune langue. Les logiciels pour cracker des mots de passe ont des dictionnaires de centaines de milliers de mots de toutes les langues et cherchent toutes les combinaisons. Cela prend entre quelques minutes à quelques petites heures pour cracker ces mots de passe très facilement. 3- Un bon mot de passe contient des lettres majuscules et minuscules, des chiffres et des caractères non alphanumériques (comme les ponctuations). 4- N’UTILISEZ JAMAIS LE MÊME MOT DE PASSE pour le FTP, base SQL, e-mail, interface d’administration du site web. Le pirate SAIT que s’il trouve votre mot de passe, il a de fortes chances que ce soit le même mot de passe ailleurs !!! Beaucoup d’hébergeurs proposent un mot de passe unique pour “simplifier” la gestion. Il existe des logiciels qui créent des mots de passe uniques et aléatoires et gèrent cela pour vous (regardez 1Password, Dashlane, LastPass, KeepassX…). C’est ce qu’il y a de mieux car vous n’avez rien à mémoriser. Des sites web proposent des mots de passe phonétiques, créant des mots faciles à mémoriser: http://tools.arantius.com/password http://www.freepasswordgenerator.com/ http://www.pctools.com/guides/password/ Une méthode personnelle de création de mot de passe. Pour être sûr qu’un mot de passe mémorisable n’existe dans aucune langue, tapez-le en partie ou en entier dans Google. S’il ne retourne aucun résultat, alors votre mot de passe n’est pas un mot du dictionnaire. INSTALLATION D’UNE BASE SQL Lorsque vous installez votre CMS, blog ou e-commerce pour la première fois, il vous propose des réglages et paramètres par défaut que nous acceptons à chaque fois. En cas de faille, le pirate peut utiliser ces réglages et paramètres par défaut pour pénétrer votre base SQL et la modifier. Voici quelques conseils pour éviter que cette forme d’attaque de type injection SQL soit possible. Il y a plusieurs formes d’injections SQL. La règle 5 du .htaccess en arrête une autre forme. Sinon, la vraie protection contre les injections SQL est une bonne programmation. 1- Quand vous installez votre CMS, blog ou e-commerce, il vous donne comme login “admin” et vous demande d’entrer un mot de passe. Dans la mesure du possible, changez “admin” pour autre chose, un pseudo par exemple. Un pirate sait que le login par défaut est “admin” et lancera ses scripts uniquement sur le mot de passe. Mais si le login “admin” n’existe pas, il n’a aucune chance de pénétrer le système. Il faut parfois faire cette modification dans phpMyadmin. Mais attention, il faut être sûr que cela ne cassera pas votre base. Posez la question sur le forum de l’éditeur de votre CMS, blog ou e-commerce pour savoir si c’est possible. 2- Le premier utilisateur est donc l’administrateur et il porte toujours le numéro (ou ID) 1. Dans le cas où le login n’est pas “admin”, certains scripts peuvent essayer d’avoir le mot de passe de l’utilisateur numéro 1 qui est, dans 99,99% des cas, l’administrateur. Dans la mesure du possible, effacez l’utilisateur numéro 1 sur la liste et soyez l’administrateur portant le numéro 2. Il faut parfois faire cette modification dans phpMyadmin. Mais attention, il faut être sûr que cela ne cassera pas votre base. Posez la question sur le forum de l’éditeur de votre CMS, blog ou e-commerce pour savoir si c’est possible. 3- Lors de l’installation, votre CMS, blog ou e-commerce vous demande de choisir un préfixe pour le nom des tables. On accepte toujours le préfixe par défaut comme wp_ pour Wordpress, g2_ pour Gallery2, dc_ pour DotClear, phpbb_ pour phpBB, etc. Le pirate peut chercher la table avec la liste des utilisateurs et leurs mots de passe. Si, comme tout le monde, vous n’avez pas changé le préfixe, il lui sera facile de trouver la table. Donc, changez le préfixe de vos tables SQL pour plus de sécurité. Vous pouvez le faire après installation. Il faut parfois faire cette modification dans phpMyadmin. Mais attention, il faut être sûr que cela ne cassera pas votre base. Posez la question sur le forum de l’éditeur de votre CMS, blog ou e-commerce pour savoir si c’est possible. Par exemple, avec Wordpress en cas de changement de préfixe après installation, il faut aussi changer 2 entrées dans la base de données en plus du fichier wp-config.php, voyez leurs forums pour savoir comment faire. Mon conseil: TOUJOURS MODIFIER LES PARAMÈTRES PAR DÉFAUT ! NOMMAGE DE FICHIERS Pour éviter que les robots des pirates ne vous trouvent grâce à Google, changez certaines habitudes et notamment le nom et l’URL de certains fichiers. 1- N’appelez pas la page de votre formulaire de contact: courrier.php ou contact.html. Appelez là autrement comme “courrier”, “missive”, etc. Les robots spammeurs auront plus de mal à trouver un formulaire de contact à pirater pour envoyer des spams grâce à une faille de votre script d’envoi de mail. Faites la même chose avec d’autres fichiers: pas de login.php, admin.php, download.php (on va chercher la faille pour télécharger un fichier hors de son répertoire), etc. En règle général, évitez ces mots anglais trop répandus. 2- Les spammeurs ne sont pas idiots. Changez aussi aussi certains noms du formulaire. Dans les balises html INPUT, changez l’attribut NAME qui contient des mots comme “e-mail”, “mail”, “name” ou “subject” par leur équivalent en français (courriel, nom, sujet). Faites ce changement dans le formulaire HTML et dans votre script php ou cgi. 3- Évitez de donner le nom de votre CMS, blog ou e-commerce directement dans l’URL comme: www.domaine.tld/phpbb/ ou www.domaine.tld/gallery/ ou www.domaine.tld/blog/ ou www.domaine.tld/forum/ ou www.domaine.tld/admin/. Les spammeurs et piratent cherchent ces URL à cibler pour une attaque. Soyez plus original pour votre sécurité. Le mieux est d’éviter le mot anglais et de préférer son équivalent en français. CRYPTER SON FICHIER CONFIG.INC.PHP Malgré toutes les précautions, le pirate a pénétré votre site et cherche maintenant à connaitre les login et mot de passe de votre base MySQL pour la pirater, la vider et en prendre le contrôle. On peut lui compliquer la tâche en cryptant ces données sensibles. Le serveur web pourra lire ces informations facilement, mais elles ne seront pas lisibles directement par un œil humain. Pour un expert en PHP, cette protection ne dure que 2 minutes, cela lui fait du travail en plus, mais nous ne sommes pas là pour lui faciliter la tâche ? Visitez ce site web et cryptez vos données. www.phpencode.org ou www.mobilefish.com/services/php_obfuscator/php_obfuscator.phpou cherchez un “PHP Obfuscator”. Par exemple, mon fichier config.php contient ceci: <?php //** MySQL settings **// $db_server = "serveursql"; $db_name = "nombasesql"; $db_username = "loginsql"; $db_password = "motdepasse"; ?> Je copie la partie à encoder entre les balises <?php et ?>Je choisis l’encodage “PHP - Extrastrength”. Ne cherchez pas un encodage plus élevé, j’ai parfois constaté des erreurs sur les serveurs web.Je copie la longue ligne qui commence par eval(xxxx entre les balises <? et ?> et le colle dans le fichier config.inc.php, ce qui donne: <?php eval(gzuncompress(gzinflate(base64_decode('AW4Akf942k3LTQqAIBQE4H3QHQZp5cYDRDeoRXSAMHyIkFo+K7p9f5t2w3wzSkmJ7hz6Fkw5u2AZUipVFpWZRqa0UwLQQLx5S7zOov40aE/ApyH6STP9dLsP7+LWOVoXfrZo5iMm85iP2dBTkKgv8oMsVg==')))); ?> Ainsi, vous pouvez occulter toutes les informations sensibles. Et attribuez par FTP les droits 404 ou 444 à votre fichier config.inc.php (ou équivalent) si c’est possible. CRYPTEZ VOTRE ADRESSE E-MAIL Si vous n’avez pas d’autre choix que d’afficher une adresse e-mail sur votre site web, vous avez 2 solutions: 1- Créez un fichier image (gif, png, jpeg) avec votre adresse écrite dessus. Ce n’est pas du texte, les robots spammeurs ne le verront pas. 2- Cryptez votre adresse e-mail avec du javascript. J’utilise cette méthode depuis des années et jamais ces adresses n’ont été spammées. Allez sur ce site web www.aspirine.org pour faire crypter votre adresse. Pour aller encore plus loin, au lieu d’intégrer ce code à votre page html, on va l’appeler depuis un fichier javascript. L’avantage est que si l’adresse est présente sur plusieurs pages, vous n’avez à faire la modification qu’une fois. Créez un dossier qu’on appelle “java” et on va y mettre un fichier qu’on va appeler “adresse.js”. Copiez dans ce fichier la ligne de code javascript de votre adresse e-mail cryptée qui commence par “var …”. Par exemple: var g6="";for(var z1=0;z1<335;z1++)g6+=String.fromCharCode(("{fw%}<B\'m3xnmya\'Bwj {tjxztrst%a\'a\'B kjwm%fA,0.a\'a\'1l4 4-jhfqujw3,?tyqnfr,aaBkjw ,ViqyVj755zaajsVnfrtistr5955zaantr,ztjxztrst%Sa\',aa,0.a\'a\'1l4V4-jhfqujw3str@5955}(+ntrCa\',aa,aaBkjwm3xnmya\'By4-jhfqujw3,Cf4AiqyS@j7}(+jsnfrSti.b5`ba\'a\'`1l4S\'@z5B\'\'@ktw-{fw%u<B5@u<A}<3qjslym@u<0B88.z50B}<3xzgxyw-u<188.3xuqny-\'\'.3wj{jwxj-.3otns-\'\'.@j{fq-z5.".charCodeAt(z1)-(-59+64)+24+39)%(5*2+85)+-45+77);document.write(eval(g6)) Ensuite, dans votre page html, copiez le code suivant: <script src="java/adresse.js" type="text/javascript"></script> ADRESSES E-MAILS À ÉVITER Plus en rapport avec le spam qu’avec le piratage, les adresses e-mails qui ont les préfixes les plus courants sont spammées automatiquement (car ils ont plus de chances d’exister). Donc, évitez de créer des adresses avec les noms suivants: webmaster@ admin@ contact@ email@ mail@ info@ sales@ support@ root@ www@ abuse@ news@ J’utilisais contact@ et info@ sans jamais les diffuser sur le web, mais le nombre de spams devenaient insupportables. Bref, pour le spam comme pour le piratage, il faut éviter la fainéantise intellectuelle et les paramètres par défaut. PROTÉGER UN DOSSIER AVEC UN MOT DE PASSE La protection par mot de passe Apache en utilisant un fichier .htacces et un fichier .htpasswd est très efficace. Il existe plusieurs guides expliquant comment faire. Or, ils oublient tous un point important: ne mommez pas le fichier contenant le mot de passe “.htpasswd”. Ce nom n’est pas obligatoire. Vous pouvez l’appeler comme vous voulez, par exemple “.htmotdepasse” ou “.htbidule”. Le pirate ne trouvera pas de fichier “.htpasswd” car il est nommé autrement ! LE FICHIER ROBOTS.TXT Vous connaissez le rôle du fichier robots.txt? http://www.robotstxt.org/ On utilise ce fichier pour interdire à un moteur de recherche d’indexer un dossier ou un fichier. Mais ne déclarez pas dans ce fichier robots.txt un répertoire ou un fichier qui doit rester secret non seulement des moteurs de recherche mais aussi des pirates !!! Tout le monde peut lire le contenu du fichier robots.txt et donc trouver l’adresse de votre dossier/fichier secret. Pour garder un dossier à l’abri des regards des robots indexeurs et des pirates, il est plus efficace de le protéger avec un mot de passe htaccess (voir ci-dessus). PROTÉGER VOS FICHIERS STYLE.CSS ET INDEX.PHP Protégez par FTP vos fichiers “style.css” et “index.php” avec les droits 404 ou 444. J’ai vu un cas de piratage du fichier style.css où le pirate avait modifié ce fichier pour afficher un pop-up. Protégez aussi par FTP le fichier “index.php” avec les droits 404 ou 444, car c’est par lui que passe toutes les commandes de votre CMS, blog ou e-commerce. COMMENT TESTER LA SÉCURITÉ DE MON SITE WEB ? Voici 3 méthodes simples qui vous permettront de vérifier si vous utilisez un script avec de grosses failles de sécurité. Avec un filtrage des données entrantes et les conseils donnés dans ce forum, vous devriez être capable de régler le problème. Sinon, pour votre sécurité, changez de CMS, blog ou e-commerce car le développeur ne s’est pas préoccupé de la sécurité. D’après mes logs, les 3 attaques suivantes représentent la grosse majorité. Ces failles sont si énormes que les pirates les cherchent en premier. Ils sont comme nous, adeptes du moindre effort. REMARQUE 1: aucun de ces exemples ne vous apprendra à pirater un site. Il en faut bien plus et c’est plus compliqué que ça. Cependant, vous saurez si votre script est mal codé ou non. REMARQUE 2: Désactivez les règles de filtrages du fichier .htaccess proposées ci-dessus. En effet, ces règles vont stopper la plupart des attaques présentées ci-dessous en vous envoyant une erreur “403 Forbidden”. Donc, pour savoir si votre script est faillible, désactivez ces règles et s’il y a une faille, corrigez le script ou installez-en un autre mieux sécurisé. 1- Attaque par exécution d’un script externe: Créez un fichier texte contenant le code suivant: <?php echo "Hackeur vaillant, rien d'impossible !!!"; ?> Appelez-le “pirate.txt” et faites-en une autre copie appelée “pirate.php”. Puis, par FTP, mettez-les dans le dossier www de votre serveur. Dans votre CMS, blog ou e-commerce, les URLs ressemblent à ça (à adapter à votre cas): http://www.votredomaine.tld/?page=123 Remplacez “123” par “http://www.votredomaine.tld/pirate.txt” comme ceci: http://www.votredomaine.tld/?page=http://www.votredomaine.tld/pirate.txt? Si vous voyez le message “Hackeur vaillant, rien d’impossible !!!” apparaitre, alors vous avez un énorme trou de sécurité. Oui, un fichier texte, au lieu d’être lu, a été exécuté en php. On peut faire la même chose avec son fichier php: http://www.votredomaine.tld/?page=http://www.votredomaine.tld/pirate.php? On peut aller plus loin. Si le fichier pirate est sur un autre site: http://www.votredomaine.tld/?page=http://www.autresiteweb.tld/pirate.txt? 2- Attaque par XSS ou Cross Site Scripting:On utilise le javascript pour prendre le contrôle de votre CMS, blog ou e-commerce.Vos URLs ressemblent à ça (à adapter à votre cas): http://www.votredomaine.tld/?page=123 On remplace “123” par du javascript. S’il n’est pas filtré, alors c’est piraté. Par exemple: http://www.votredomaine.tld/?page="><script>alert(/Hackeur vaillant, rien d’impossible !!!/)</script> Ou une autre variante: http://www.votredomaine.tld/?page=javascript:alert(%22Hackeur vaillant, rien d'impossible !!!%22) Si une fenêtre d’alerte javascript apparait avec le texte “Hackeur vaillant, rien d’impossible !!!”, votre site est ouvert à ce genre d’attaque. 3- Faille dans le téléchargement de fichiers: Cela s’applique à 2 cas: a) Vous avez un script de téléchargement qui propose à vos visiteurs de télécharger des fichiers. Vous avez mis tous les fichiers à télécharger dans un dossier de votre hébergement, par exemple /home/loginftp/www/download/ . Votre URL ressemble à ça (à adapter à votre cas): http://www.votredomaine.tld/download.php?fichier=monfichier.pdf Si on on modifie “monfichier.pdf” qui se trouve dans le dossier “/home/loginftp/www/download/” par “../config.inc.php” qui se trouve ici “/home/loginftp/www/” comme cela: http://www.votredomaine.tld/download.php?fichier=../config.inc.php Est-ce qu’on le télécharge ? A-t-on ainsi les login et mot de passe de votre base de données SQL ? Croyez-le ou pas, mon script de téléchargement le permettait. Donc, on pouvait télécharger n’importe quel fichier de mon site. b) Vous avez un script PHP qui utilise la fonction include() pour appeler d’autres fichiers. Ces fichiers sont appelés depuis l’URL et non dans le code PHP du script. Par exemple: http://www.votredomaine.tld/?page=forum.php Comme ci-dessus, peut-on charger d’autres fichiers? Par exemple le fichier robots.txt: http://www.votredomaine.tld/?page=robots.txt Normalement, on ne peut pas voir le contenu d’un fichier PHP car son code est exécuté à la différence du script de téléchargement en a). Donc, ceci devrait donner une page blanche, mais vérifiez-le quand même: http://www.votredomaine.tld/?page=config.inc.php Heureusement, chez certains hébergeurs (Comme Alls-Heberg) la fonction PHP include() ne permet pas d’ouvrir un fichier en dehors de votre hébergement (pour des raisons de sécurité). Mais cela doit être possible sur d’autres serveurs moins sécurisés: http://www.votredomaine.tld/?page=http://www.autresite.tld À cœur vaillant, rien d’impossible est la devise de Jacques Coeur qui vécut au XVe s. Comme je regrette le temps des pages statiques en html ! est ma devise. SÉCURISER UN SCRIPT PHP Une note très instructive sur le bon usage du PHP par la Direction centrale de la sécurité des systèmes d’information qui dépend du Secrétariat général de la défense nationale: http://www.certa.ssi.gouv.fr/site/CERTA-2007-INF-002/ Une explication sur la sécurité avec PHP est ici: http://phpsec.org/projects/guide/ Ensuite, si vous utilisez un petit script en PHP qui traite les données d’un formulaire ou d’une variable dans une URL comme “/?page=23&id=machin” (donc utilisation des requêtes GET ou POST), il faut filtrer ces données pour éviter toute faille. J’utilise ce bout de code que je mets en tête du script afin de filtrer toutes les données qui y entrent: foreach ($_REQUEST as $key => $val) { $val = preg_replace("/[^_A-Za-z0-9-\.&=]/i",'', $val); $_REQUEST[$key] = $val; } Ainsi ne sont autorisés que les caractères alphanumériques et les signes _ - . & = Tous les autres caractères sont effacés. Il existe un autre filtre si celui présenté ci-dessus est trop restrictif: foreach ($_REQUEST as $key => $val) { $val = trim(stripslashes(htmlentities($val))); $_REQUEST[$key] = $val; } Pour protéger une variable précise envoyée par formulaire on peut mettre au choix un des deux filtres ci-dessous (ne pas mettre les 2 filtres pour une même variable): /* pour un filtrage de base */ $variable = trim(stripslashes(htmlentities($_POST["variable"]))); /* pour un filtrage plus restrictif */ $variable = preg_replace("/[^_A-Za-z0-9-\.&=]/i",'', $_POST["variable"]); Ceci est une protection générale qui fonctionne contre les formes les plus simples de piratage. Ne mettez ce code que seulement s’il n’y a aucun système de filtrage. À partir de PHP 5.2, il existe une série de filtres qui permet de bien cibler le filtrage des données: http://fr.php.net/filter. SÉCURISER UN SCRIPT PERL C’est comme pour l’article précédent sur le php. Si vous utilisez un petit script en PERL qui traite les données d’un formulaire ou d’une variable dans une URL comme “/index.cgi?page=23&id=machin” (donc utilisation des requêtes GET ou POST), il faut filtrer ces données pour éviter toute faille. J’utilise ce bout de code que je mets en tête du script afin de filtrer toutes les données qui y entrent: $val = $ENV{'QUERY_STRING'}; $val =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $val =~ s/<([^>]|\n)*>//g; $val =~ s/([<>\&\$;:\`\|\"\'*\?\!\~\^\(\)\[\]\{\}]|\\|\.\.|^\/)//g; D’abord, on décode les caractères non alphanumériques qui sont encodés en url-encoded. Puis, on efface les caractères qui peuvent poser des problèmes comme des balises html et certains signes à la 4e ligne du code ci-dessus. Ceci est une protection générale qui fonctionne contre les formes les plus simples de piratage. Ne mettez ce code que seulement s’il n’y a aucun système de filtrage. CONTRER LES INJECTIONS SQL Cette attaque vise les serveurs web en cherchant les erreurs de programmation des scripts ASP, CGI et PHP, ces mêmes scripts exécutant des requêtes SQL. Si vous ne programmez pas, inutile de vous y attarder, il s’agit ici d’une piqure de rappel aux programmeurs. Qu’est qu’une attaque de type SQL injection ? SQL (Structured Query Language) est un language de base de données utilisé par nombre de CMS, blog, wiki, Gallery, etc.. C’est un language basé sur des requêtes utilisant des instructions telles que INSERT (insertion de données dans la base de données), DELETE (pour en supprimer), UPDATE (pour en mettre à jour), SELECT (pour en sélectionner et lire), et bien d’autres. Mais cette simplicité fait d’elle aussi une proie facile aux détections de failles. Exemple de requête : mysql_query("SELECT * FROM users WHERE login = 'toto';"); Cette requête sélectionne l’utilisateur (extrait de la table “users”) dont le login est “toto”. “SELECT *” signifiant qu’on sélectionne tous les champs de cette table. L’exemple ci-dessous est une attaque de type SQL injection afin de récuperer un mot de passe, c’est l’attaque la plus courante. Ma page contient un formulaire d’identification utilisateur classique où l’on entre un identifiant et un mot de passe. La requête associée à ce formulaire permettant de vérifier que les login / password entrés sont valides par rapport à notre base de données serait : mysql_query("SELECT * FROM users WHERE utilisateur = '$login' AND motdepasse = '$password'"); Cette requête aurait pour effet de sélectionner l’utilisateur en question si le nom d’utilisateur ET le mot de passe entrés sont dans notre base de données. Si l’un des deux est erroné, la requête ne renverra aucun résultat. L’attaque en question Sachant que dans mon exemple la variable $login contient ce que j’ai tapé dans mon premier champ de texte et que la variable $password contient ce que j’ai tapé dans le deuxième champ de texte (le mot de passe), voici ce qui arrivera si j’entre le code suivant dans le premier champ Identifiant (ou login) : ' OR 1=1"); // , la requête est : mysql_query("SELECT * FROM users WHERE utilisateur = '' OR 1=1"); //' AND motdepasse = '$password'"); Et elle permettrait certainement d’identifier l’utilisateur avec succès, car la requête est vraie si un utilisateur "" existe OU si 1=1. Comme l’utilisateur vide n’existe pas, mais que 1 est égal à 1, alors la requête est vraie et valide. Donc, en ajoutant ce code, on force à croire que n’importe quelle requête est vraie. Le signe “//” signifiant un commentaire en PHP, le reste du code n’est pas interprété, il est rendu inutile. Et vous voilà avec un accès à la base de données ! Ceci est l’exemple le plus simple, il en existe bien d’autres qui permettent de véritablement prendre le contrôle d’un serveur en se faisant passer pour root ou l’administrateur. Les possibilités sont malheureusement nombreuses. Nous ne les développerons pas. Comment se protéger des attaques par injection SQL ? Pour prévenir ces attaques, il faut connaitre la programmation. Si celle-ci est bien réalisée, les attaques ne sont plus possibles. Voici quelques conseils : - Évitez d’utiliser un compte ayant tous les pouvoirs pour l’exécution de votre serveur SQL. - Supprimez les fonctions que vous n’utilisez pas telle que : master..xp_cmdshell, et de manière générale toutes celles commencant par “master..xp”. - Vérifiez les entrées utilisateurs telles que les champs de texte. Vérifiez aussi que les nombres attendus soient bien des nombres avec une fonction telle que IsNumeric() par exemple. - Vérifiez aussi à bien filtrer les paramètres des URL qui sont ajoutables manuellement. - Utilisez les caractères et fonctions d’échappement telles que AddStripSlashes() en PHP, voyez les caractéristiques de la fonction et, en général, les documentations de vos languages de programmation pour plus d’informations. Cela empêchera l’entrée utilisateur du caractère ’ en l’échappant à l’aide d’un slash le précédant. - Empêchez d’une manière générale certaines séquences d’entrées utilisateurs telles que “;”, “insert”, “select”, “//”, “--”, etc. - Limitez le nombre de caractères qu’un utilisateur peut entrer dans un champ de texte, car ceci peut fort bien lui compliquer la tâche. - Attention à ce que vous mettez dans les cookies, car un mot de passe (même crypté en md5) est vite trouvé par une attaque de ce type. Par la suite, un remplacement de cette valeur dans le cookie évite à l’attaquant une attaque de type brute force ; c’est donc un joli cadeau. Application concrète La méthode la plus simple est de filtrer toutes les variables en appliquant les filtres php comme ceci : /* pour un filtrage de base */ $variable = mysql_real_escape_string(htmlspecialchars($_POST["variable"])); Voici un petit script pour éviter les injections SQL dans un formulaire d’identification (identifiant et mot de passe) à adapter suivant vos formulaires : <?php function anti_injection( $user, $pass ) { # on regarde s'il n'y a pas de commandes SQL $banlist = array ( "insert", "select", "update", "delete", "distinct", "having", "truncate", "replace", "handler", "like", "procedure", "limit", "order by", "group by" ); if ( eregi ( "[a-zA-Z0-9]+", $user ) ) { $user = trim ( str_replace ( $banlist, '', strtolower ( $user ) ) ); } else { $user = NULL; } # on regarde si le mot de passe est bien alphanumérique # on utilise strtolower() pour faire marcher str_ireplace() if ( eregi ( "[a-zA-Z0-9]+", $pass ) ) { $pass = trim ( str_replace ( $banlist, '', strtolower ( $pass ) ) ); } else { $pass = NULL; } # on fait un tableau # s'il y a des charactères illégaux, on arrête tout $array = array ( 'user' => $user, 'pass' => $pass ); if ( in_array ( NULL, $array ) ) { die ( 'ERREUR : Injection SQL détectée' ); } else { return $array; } } // ########## $login = anti_injection ($_POST['pseudo'],$_POST['pass']); // on lance la fonction anti injection $password = $login['pass']; // on recupère le pass $password=md5($password); // on met le pass en md5 $pseudo = $login['user']; // on recupère le pseudo ?> AVEZ-VOUS ÉTÉ PIRATÉ SANS LE SAVOIR ? Vous avez un CMS, blog ou e-commerce ? Vous avez peut-être été piraté sans le savoir par des pirates qui veulent mettre des liens vers leurs sites web afin d’augmenter artificiellement leur Pagerank. Attention, c’est très sérieux. C’est un piratage invisible, presque bénin, mais bien réel. Si vous trouvez les éléments décrits ci-dessous, votre CMS, blog ou e-commerce a été piraté par des professionnels payés pour cela, non par des gamins qui s’amusent à effacer des sites en mettant leurs pseudos à la place. Connectez-vous à votre phpMyadmin. Une fois identifié, dans la colonne de gauche en haut, cliquez sur le nom de votre base, puis dans la fenêtre principale, en haut cliquez sur l’onglet Recherche. Puis entrez l’une des 3 phrases: %display:none% %height:0% %visibility:hidden% Si vous trouvez des entrées dans les textes de vos pages ou les commentaires contenant “display:none” ou “height:0” ou “cisibility:hidden”, alors vous avez été piraté. Ces liens web vers les sites des pirates sont invisibles mais bien présents dans le code et visibles par les robots indexeurs. Effacez ces liens, changez vos mot de passe, mettez à jour votre logiciel et suivez les conseils dans ce topic. En espérant en avoir aidé plus d'un, n'hésitez pas à lâcher un petit "+1", ça fait toujours plaisir ! Source provenant du web et adaptée pour Habbo-Dev
  47. 1 point
    Bonjour à tous avec l'apparition de la section graphiste et pour l'inaugurer, je décide aujourd'hui de vous partager un avatar réalisé pour les membre d'Habbo-dev. Vous allez retrouvé ci-dessous : un visuel et un fichier .psd pour le modifer à votre guisse (aucun droit n'est reclamé sur cette création) PS : Si vous n'arrivez ou ne savez pas modifier le fichier .psd n'hésitez pas à contactez n'importe quelle Graphistes Certifiés Sans plus attendre voici la bête : Lien de téléchargement (virus scan non fournis c'est un fichier .psd) : Avatar 2D Habbo-Dev 2018.psd
  48. 1 point
    Je vous présentes aujourd'hui RevCMS sous le fameux skin de ShockCMS, un très beau thème propre, bien fait et aussi facile sur la navigation. En effet, j'avais commencé le développement de ce skin pour HabLand mais ayant eu un problème avec le fondateur, je pense le partager une fois la fin de son développement. C'est pour quoi donc je vais mettre a votre disposition quelques screens et a vous de me dire ce qu'il manque et ce qu'il faut pour qu'il soit totalement complet. J'attends vos avis ainsi que suggestions qui peuvent participer au développement de la template en fonction de RevCMS.
  49. 1 point
    Pareil j'ai un anti-virus qui détecte toujours un virus sur hsource.fr ^^
  50. 1 point
    hsource est un site louche et les ressources ne sont pas mise à jour, et puis mon anti virus m'empêche d'aller dessus mdrr
This leaderboard is set to Paris/GMT+02:00
×
×
  • Create New...