Erreur de base de données sur le forum IPB. Compétition de piratage : un moyen simple d'organiser le DoS dans la carte d'alimentation de vision du profil de solution IPB

À mon avis, en tant qu'administrateur de site, ce ne sont pas des informations personnelles. De plus, ces informations se trouvent à de nombreux endroits en dehors de votre profil. Elles apparaissent dans les sujets du forum, dans la fenêtre contextuelle de votre utilisateur, elles définissent les autorisations dont vous disposez, etc. sur votre profil est un faux sentiment de confidentialité.

Pour moi, cela n'a tout simplement pas de sens d'introduire un faux sentiment de sécurité en "cachant des choses dans mon profil" alors que tout ce que vous mettez dans votre profil sur un forum communautaire est par nature public pour tous les membres de ladite communauté.

En d’autres termes : sur Facebook, votre profil ne concerne que vous. Sur une communauté, votre profil concerne ce que vous avez fait dans cette communauté. C'est le point de vue opposé.

Je pense que votre opinion sur les profils de forum est datée. Cela peut s'appliquer à un certain nombre de forums, mais vous prétendez être une solution d'entreprise, c'est donc pour cela que j'aborde ce problème. Mon site est peut-être une petite pomme de terre, mais il est en train de devenir l'un des plus populaires dans son créneau.

Les profils sur mon site ont beaucoup de potentiel. Mais comme mes membres sont un mélange de professionnels de mon créneau industriel et de consommateurs/bricoleurs qui ne le sont pas, la puissance de mes profils de membres dans leur ensemble peut être sérieusement diluée avec des informations diverses qui n'ont rien à voir avec mon secteur d'activité. , par exemple, les 2 membres dont j'utilise les pages de profil pour illustrer mon propos.

Cet utilisateur, MarmoMan, est un pro dans son domaine. Les informations qu'il fournit sont pertinentes pour l'industrie et peuvent être utilisées comme une sorte de liste d'entreprises. Toute personne qui visite le site peut consulter son profil et voir son statut dans l'industrie, ses antécédents professionnels et ses réalisations et le contacter de diverses manières qui peuvent lui être très bénéfiques. Ce type de profil est un atout pour mon site.

Cet utilisateur, arrowpawn, est un consommateur qui est venu nous voir à propos de problèmes de revêtement de sol qu'il rencontrait, a obtenu des réponses et n'est pas revenu depuis. Mais le membre s'est assuré de laisser une impression durable que je n'ai découverte que ce soir. En plus de tous les des informations non liées à l'industrie dans l'onglet À propos de moi, il y a des informations de contact, y compris un lien vers un site Web, dans l'onglet Informations de contact. Ce n'est pas bon pour mon site et est considéré comme du spam - même s'il s'agit d'une entreprise légitime. Ils J'ai profité du handicap dont je dispose pour masquer certaines informations de profil et certains groupes d'utilisateurs aux robots de recherche et aux non-membres.

IPS4.x a un grand potentiel pour transformer les pages de profil en un atout pour de nombreux forums. Il pourrait avoir la possibilité d'ajouter des champs pertinents à l'objectif du site, d'activer et de désactiver la confidentialité pour certains de ces champs, de rendre certains/tous les champs contrôlables par l'administrateur et d'ajouter le référencement au profil, entre autres options. Les zones du site doivent inclure uniquement les informations que l'administrateur juge importantes en fonction de la catégorie d'utilisateurs et permettre également une certaine configuration utilisateur.

Ce que je veux vous dire, c'est que tout ce qui est mis dans un profil ne doit PAS nécessairement être public, surtout si vous souhaitez avoir plus de contrôle sur le contenu pertinent de votre site Web. Et je ne suis pas du genre à comparer cette fonctionnalité à Facebook. J'espère qu'il sera incomparable à tout autre produit de forum disponible. Vous disposez des ressources, des compétences et du potentiel nécessaires pour développer des profils IPS en bien plus qu'une simple fonctionnalité de forum.


acte. Alors voilà acte action», qui signifie « action ». (ci-après dans le texte au lieu de acte on dira action) action acte=En ligne ou acte=UtilisateurCP

acte = idx
Trouvez d’abord ce code :
if (! isset($choice[ $ibforums->input["act"] ])) ( $ibforums-> idx idx sur portail OU sur maison


$choice = array("idx" => "Tableaux", "SC" => "Tableaux", "SF" => "Forums", "SR" => "Forums", "ST" => "Sujets", "Connexion" => "Connexion", "Post" => "Post", "Poll" => "lib/add_poll", "Reg" => "S'inscrire", "En ligne" => "En ligne", "Membres" => "Liste des membres", "Aide" => "Aide", "Recherche" => "Rechercher", "Mod" => "Modéré", "Imprimer" => "misc/print_page", "Transférer" => " misc/forward_page", "Mail" => "misc/contact_member", "Invite" => "misc/contact_member", "ICQ" => "misc/contact_member", "AOL" => "misc/contact_member", " YAHOO" => "misc/contact_member", "MSN" => "misc/contact_member", "report" => "misc/contact_member", "chat" => "misc/contact_member", "integ" => "misc /contact_member", "Msg" => "Messenger", "UserCP" => "Usercp", "Profile" => "Profile", "Track" => "misc/tracker", "Stats" => "misc/ stats", "Attach" => "misc/attach", "ib3" => "misc/ib3", "legends" => "misc/legends", "modcp" => "mod_cp", "calendar" => "calendar", "buddy" => "browsebuddy", "boardrules" => "misc/contact_member", "mmod" => "misc/multi_moderate", "warn" => "misc/warn", "home" = > "dynamiclite/csite", "module" => action "avertir" => "misc/avertir",, alors cela signifie pour agir = avertir
sources sources

langue Et peau. On retrouve ainsi :
$ibforums->lang = $std->load_words($ibforums->lang, "lang_post" , $ibforums->lang_id); $ibforums->lang = $std->load_words($ibforums->lang, "lang_ucp" , $ibforums->lang_id); Et
$this->html = $std-> lang_post.php Et lang_ucp.php skin_ucp.php

Voici ce qui est lié à cela :

"idx" =>
"SC" =>
"SF" =>
"SR" =>
"ST" =>
"Connexion" =>
"Publier" =>
"Sondage" =>
"Enregistrement" =>
"En ligne" =>
"Membres" =>
"Aide" =>
"Rechercher" =>
"Modifier" =>
"Imprimer" =>
"En avant" =>
"Courrier" =>
"Inviter" =>
"ICQ" => Envoi d'un message à ICQ
"AOL" => Envoi d'un message à AOL
"YAHOO" => Envoi d'un message à YAHOO
"MSN" => Envoyer un message à MSN
"rapport" =>
"discuter" =>
"intégré" =>
"Msg" =>
"UtilisateurCP" =>
"Profil" =>
"Track" => Abonnez-vous au sujet/forum
"Statistiques" =>
"Joindre" =>
"ib3" =>
"legends" => Émoticônes, aide bbcode
"modcp" =>
"calendrier" =>
"copain" =>
"règles du conseil" =>
"mmod" =>
"avertir" =>
"maison" =>
"module" =>


acte

Vous avez peut-être une question, qu'est-ce que c'est : "idx" => "Boards", "SC" => "Boards", "SF" => "Forums", "SR" => "Forums", "ST" => "Les sujets",








if ($ibforums->input["showforum"] != "") ( $ibforums->input["act"] = "SF"; $ibforums->input["f"] = intval($ibforums-> input["showforum"]); ) else if ($ibforums->input["showtopic"] != "") ( $ibforums->input["act"] = "ST"; $ibforums->input[" t"] = intval($ibforums->input["showtopic"]); // Récupérez et mettez en cache le sujet maintenant car nous avons besoin de l'attr "f" pour // les skins... $DB->query("SELECT t.*, f.topic_mm_id, f.name comme forum_name, f.quick_reply, f.id comme forum_id, f.read_perms, f.reply_perms, f.parent_id, f.use_html, f.start_perms, f.allow_poll, f. mot de passe, f.posts comme forum_posts, f.topics comme forum_topics, f.upload_perms, f.show_rules, f.rules_text, f.rules_title, c.name comme cat_name, c.id comme cat_id FROM ibf_topics t, ibf_forums f , ibf_categories c WHERE t.tid=".$ibforums->input["t"]." et f.id = t.forum_id et f.category=c.id"); $ibforums->topic_cache = $DB->fetch_row( ); $ibforums->input["f"] = $ibforums->topic_cache["forum_id"]; ) sinon if ($ibforums->input["showuser"] != "") ( $ibforums->input[ "act"] = "Profil"; $ibforums->input["MID"] = intval($ibforums->input["showuser"]); )

Structure et chemins dans IPB

Forums IBResource


Il n'y a pas de réponses dans ce fil

IBResource

  • Ville: 99|rus

Beaucoup de gens ont probablement une question :
"Pourquoi y a-t-il autant de fichiers dans IPB ? Après tout, les chemins mènent toujours à un seul fichier index.php, et seuls les paramètres changent."

Ce court article sur les fichiers IPB devrait donc vous aider à mieux comprendre IPB. Que chercher où. Où changer quoi.

Presque toutes les pages d'IPB ont un paramètre dans l'adresse acte. Alors voilà acte est une abréviation du mot anglais " action», qui signifie « action ». (ci-après dans le texte au lieu de acte on dira action) C'est donc l'élément principal de la division par fichiers. Presque chaque valeur d'action a son propre fichier avec des fonctions + son propre fichier avec des modèles + son propre fichier de langue. Pourquoi presque ? Parce qu'il y a des petites actions, naturellement sur des valeurs différentes action, mais ils sont tous combinés en un seul fichier avec des fonctions + également un fichier de langue combiné + également un fichier combiné avec des modèles. Par exemple, il existe de grandes acte=En ligne ou acte=UtilisateurCP. Ils ont chacun leurs propres fichiers de service avec des fonctions, etc.
Alors, comment comprendre quelle action s’applique à quels fichiers ?

Pour ce faire, allez sur index.php. Tout y est écrit. Laissez-moi vous dire tout de suite que index.php ? acte = idx est l'adresse de la page principale du forum où sont présentées toutes les catégories et forums.
Trouvez d’abord ce code :
if (! isset($choice[ $ibforums->input["act"] ])) ( $ibforums->input["act"] = "idx"; ) Cette entrée signifie que si le paramètre d'action n'est pas spécifié, alors c'est égal par défaut idx. C'est pourquoi lorsque vous démarrez un forum, la page principale du forum avec une liste de forums s'ouvre simplement à l'adresse. En changeant la valeur ici idx sur portail(pour un forum sur lequel IBF Portal 3.2 ou 4.0 est installé) OU sur maison(si vous avez la version 1.2 et que le portail IPDynamic Lite est installé), alors vous obtiendrez que par défaut ce ne sera pas le forum qui se chargera, mais le portail.

Maintenant, allez un peu plus haut et trouvez quelque chose comme ceci :
$choice = array("idx" => "Tableaux", "SC" => "Tableaux", "SF" => "Forums", "SR" => "Forums", "ST" => "Sujets", "Connexion" => "Connexion", "Post" => "Post", "Poll" => "lib/add_poll", "Reg" => "S'inscrire", "En ligne" => "En ligne", "Membres" => "Liste des membres", "Aide" => "Aide", "Recherche" => "Rechercher", "Mod" => "Modéré", "Imprimer" => "misc/print_page", "Transférer" => " misc/forward_page", "Mail" => "misc/contact_member", "Invite" => "misc/contact_member", "ICQ" => "misc/contact_member", "AOL" => "misc/contact_member", " YAHOO" => "misc/contact_member", "MSN" => "misc/contact_member", "report" => "misc/contact_member", "chat" => "misc/contact_member", "integ" => "misc /contact_member", "Msg" => "Messenger", "UserCP" => "Usercp", "Profile" => "Profile", "Track" => "misc/tracker", "Stats" => "misc/ stats", "Attach" => "misc/attach", "ib3" => "misc/ib3", "legends" => "misc/legends", "modcp" => "mod_cp", "calendar" => "calendar", "buddy" => "browsebuddy", "boardrules" => "misc/contact_member", "mmod" => "misc/multi_moderate", "warn" => "misc/warn", "home" = > "dynamiclite/csite", "module" => "modules",); Et voici une liste de toutes les valeurs action(à gauche) et une liste de noms de fichiers (sans l'extension php) à quoi ils font référence (à droite). Si la ligne est comme ça - "avertir" => "misc/avertir",, alors cela signifie pour agir = avertir le fichier de service se trouve à
Pourquoi le répertoire n'est-il pas spécifié dans la ligne ? sources, et je l'ai indiqué ? Parce que tous les fichiers de service (presque) se trouvent dans le dossier sources(traduit de l'anglais - codes sources).
Comment puis-je savoir où se trouvent les fichiers de langue et les modèles d'un fichier donné ?
Juste. On va dans le fichier, par exemple on a sélectionné UserCP.php. Là, nous cherchons des mots langue Et peau. On retrouve ainsi :
$ibforums->lang = $std->load_words($ibforums->lang, "lang_post" , $ibforums->lang_id); $ibforums->lang = $std->load_words($ibforums->lang, "lang_ucp" , $ibforums->lang_id); Et
$this->html = $std->load_template("skin_ucp"); D'où il n'est pas difficile de comprendre que 2 fichiers de langue sont utilisés lang_post.php Et lang_ucp.php. Et un seul fichier modèle est utilisé skin_ucp.php

Voici ce qui est lié à cela :

"idx" => index - Page principale du forum
"SC" => Afficher la catégorie - Affiche une liste des forums de la catégorie sélectionnée
"SF" => Afficher le forum - Affiche une liste de sujets pour le forum sélectionné !
"SR" => Afficher les règles - Affiche les règles du forum sélectionné (vous pouvez créer les vôtres pour chaque forum)
"ST" => Afficher le sujet - Affiche le sujet sélectionné (liste de tous les messages dans le sujet sélectionné)
"Connexion" => Sert l'autorisation (connectez-vous au forum en utilisant votre compte)
"Post" => Sert à publier des messages, à créer des sujets, des sondages
"Poll" => Sert à ajouter des votes à un sondage
"Reg" => Inscription, récupération de mot de passe...
"En ligne" => Liste des utilisateurs actifs (ceux qui sont en ligne)
"Membres" => Liste de tous les utilisateurs, tri différent...
"Aide" => Maintenance des fichiers d'aide (FAQ, visualisation, tri)
"Rechercher" => Rechercher sur le forum. Recherche Avancée. Afficher les nouveaux messages depuis la dernière visite, les sujets actifs.
"Mod" => Modération. Actions du modérateur. Transférer des sujets. Division, etc.
"Imprimer" => Vue du thème pour l'impression, sauvegarde du thème en HTML, Ms Word...
"Transférer" => Envoi d'un lien vers un sujet à un ami par e-mail.
"Mail" => Rédaction et envoi d'un courrier à l'utilisateur par e-mail.
"Inviter" => Une telle fonction n'existe pas encore. Mais les développeurs se préparent déjà à l'avance
"ICQ" => Envoi d'un message à ICQ
"AOL" => Envoi d'un message à AOL
"YAHOO" => Envoi d'un message à YAHOO
"MSN" => Envoyer un message à MSN
"report" => Rapport au modérateur (envoi d'un lien vers le rapport au modérateur par e-mail sur le message)
"chat" => Module de discussion. Chat payant Invision Power Chat. C'est pour ça qu'il n'est pas dans le set
"integ" => Envoi d'un message à Integrity Messenger
"Msg" => Maintenance de la boîte aux lettres personnelle. Réception des envois et autres actions avec les MP (messages en Privat)
"UserCP" => Grand script pour travailler avec "Profile". Cela inclut la gestion des abonnements et des paramètres du forum, etc...
"Profil" => Afficher le profil utilisateur...
"Track" => Abonnez-vous au sujet/forum
"Stats" => 10 meilleurs auteurs, 10 meilleurs auteurs aujourd'hui et un lien vers l'Administration
"Joindre" => Télécharger un fichier joint à un message (pièce jointe)
"ib3" => Module de connexion au forum pour Ikonboard 3. Lié à la conversion depuis IkonBoard3
"legends" => Émoticônes, aide bbcode
"modcp" => Panneau de contrôle du modérateur. Et tout ce qui s'y rapporte
"calendrier" => Calendrier. publication, modification des événements du calendrier...
"buddy" => Liste de contacts des utilisateurs. Ajouter un utilisateur aux contacts, etc.
"boardrules" => Règles générales pour l'ensemble du forum. De la visualisation.
"mmod" => Multimodération. Créer des règles générales pour la modération des forums
"warn" => Système d'évaluation/d'avertissement
"home" => Afficher le portail IPDynamic Lite. Ce lien explique clairement pourquoi act=home est un portail
"module" => Modules de synchronisation supplémentaires. Apparu uniquement dans la version 1.2


Donc si vous souhaitez modifier quelque chose, regardez dans la barre d'adresse de votre navigateur et voyez à quoi correspond le paramètre acte, et vous saurez immédiatement où chercher. Et l'endroit que vous recherchez peut être trouvé par un texte qui n'est pas dynamique (ne change pas). Et comme le texte est statique, cela signifie qu'il se trouve probablement dans les fichiers de langue. Cela signifie qu'après l'avoir trouvée grâce à une recherche dans les fichiers de langue, vous pouvez voir quelle variable correspond à cette entrée et déjà chercher le bon endroit par le nom de la variable, ce qui vous mènera généralement à des modèles avec le langage HTML déjà familier. Là, ayant des compétences de base en anglais (généralement les variables sont appelées simples avec des mots clairs en anglais), vous pouvez y trouver ce dont vous avez besoin et comprendre sans traduction de quoi il s'agit.

Vous avez peut-être une question, qu'est-ce que c'est : "idx" => "Boards", "SC" => "Boards", "SF" => "Forums", "SR" => "Forums", "ST" => "Les sujets",
idx - index - page principale du forum
SC - Afficher la catégorie - afficher la catégorie sélectionnée (liste des forums de la catégorie sélectionnée)
SF - Afficher le forum - Afficher le forum (liste des sujets pour le forum sélectionné)
SR - Afficher les règles - Afficher les règles du forum (vous pouvez ajouter les vôtres à chaque forum via AdminCP)
ST - Afficher le sujet - Afficher le sujet (liste des messages du sujet sélectionné)

Également dans la dernière version 1.2, plusieurs types de liens plus abrégés ont été introduits pour simuler ces liens habituels. Ce
index.php?showforum=3 - cette entrée est identique à index.php?act=SF&f=3
index.php?showtopic=33234 - cette entrée est identique à index.php?act=ST&f=forum_number&t=33234
index.php?showuser=343 - cette entrée est identique à index.php?act=Profile&CODE=03&MID=343

Ces trois raccourcis sont implémentés par le code écrit dans index.php :
if ($ibforums->input["showforum"] != "") ( $ibforums->input["act"] = "SF"; $ibforums->input["f"] = intval($ibforums-> input["showforum"]); ) else if ($ibforums->input["showtopic"] != "") ( $ibforums->input["act"] = "ST"; $ibforums->input[" t"] = intval($ibforums->input["showtopic"]); // Récupérez et mettez en cache le sujet maintenant car nous avons besoin de l'attr "f" pour // les skins... $DB->query("SELECT t.*, f.topic_mm_id, f.name comme forum_name, f.quick_reply, f.id comme forum_id, f.read_perms, f.reply_perms, f.parent_id, f.use_html, f.start_perms, f.allow_poll, f. mot de passe, f.posts comme forum_posts, f.topics comme forum_topics, f.upload_perms, f.show_rules, f.rules_text, f.rules_title, c.name comme cat_name, c.id comme cat_id FROM ibf_topics t, ibf_forums f , ibf_categories c WHERE t.tid=".$ibforums->input["t"]." et f.id = t.forum_id et f.category=c.id"); $ibforums->topic_cache = $DB->fetch_row( ); $ibforums->input["f"] = $ibforums->topic_cache["forum_id"]; ) sinon if ($ibforums->input["showuser"] != "") ( $ibforums->input[ "act"] = "Profil"; $ibforums->input["MID"] = intval($ibforums->input["showuser"]); )

En général, tout ce que vous souhaitez modifier peut être trouvé en recherchant dans les fichiers du forum. Par conséquent, conservez toujours une copie de tous les fichiers du forum sur votre disque dur. Après tout, rechercher des fichiers sur le serveur via FTP est tout simplement impossible. Mais c'est un sujet pour un autre article. Donc La Fin. Bonne chance

Tous les commentaires et questions sur l’article s’il vous plaît ! S'il y a des changements ou des questions et réponses importantes, je les ajouterai ici au sujet !

Invision Power Board (également abrégé en IPB, IP.Board) est l'une des solutions les plus populaires au monde pour créer des forums. Ce logiciel est développé par Invision Power Services, Inc.

Le système a été créé à l'aide des technologies HTML, PHP, JS, AJAX et utilise MySQL comme serveur de base de données (de plus, d'autres serveurs de bases de données sont pris en charge, tels que Microsoft SQL Server et Oracle). IPB est un logiciel payant.

Malgré le fait qu'Invision Power Board soit un produit payant, il existe un grand nombre de communautés dédiées à son support et à sa modification. La plupart des modifications et styles de conception développés par ces communautés sont gratuits et téléchargeables gratuitement. La plus grande communauté russe est IBResource.ru.

La version 1.3 des forums IPB est la dernière version distribuée gratuitement du moteur et son utilisation est toujours autorisée par IPS, bien qu'elle ne soit plus prise en charge par les développeurs et que l'accès au téléchargement sur la ressource officielle ait déjà été interrompu. Malgré le caractère obsolète de cette version du forum et la présence de failles de sécurité connues, de nombreuses personnes l'utilisent encore et n'expriment aucune envie de la mettre à jour. IPS a continué à publier des mises à jour de sécurité jusqu'à ce que la version 2.1 soit annoncée pour le développement en 2005, après quoi elle a cessé de prendre en charge cette version du forum. Sur certains sites, vous pouvez même désormais voir des liens vers les mises à jour de sécurité qu'ils publient, ainsi que des mises à jour permettant au script du forum de fonctionner en PHP5. Ces mises à jour ne sont pas prises en charge par IPS. La version 1.3.1 était un shareware pour une période de test, qui pouvait durer aussi longtemps que souhaité. Après cette version, Invision Power Services a commencé à commercialiser ses produits sous licence commerciale.

Avantages

  • Installation en seulement 3 minutes. Les composants d'installation automatique permettent à presque n'importe quel utilisateur d'installer un forum en quelques minutes seulement. Le processus ne nécessite pas de connaissances particulières : le système effectuera lui-même toutes les opérations, en vous demandant uniquement les données nécessaires. Oui, pas besoin de discussions inutiles : une licence IPB donne à chaque propriétaire le droit de commander l'installation gratuite de son forum.
  • Support technique en russe. Les titulaires d'une licence IP.Board ont accès à une assistance technique en russe. De plus, les spécialistes du service ne parlent pas seulement votre langue maternelle, ils sont également les développeurs « natifs » du forum. Cela signifie que vous n’avez pas besoin de leur expliquer les symptômes des problèmes, ainsi que les solutions possibles. Une parfaite maîtrise du sujet permet de réaliser tous les travaux avec le forum sans faire perdre de temps et d’efforts au client.
  • Orientation sociale. Faire du forum un environnement de communication à part entière, offrir aux utilisateurs des opportunités supplémentaires de rencontrer des gens et d'établir des liens - ceci est facilité par les attributs d'interaction sociale des participants au forum. Les utilisateurs d'IP.Board peuvent facilement échanger divers contenus entre eux, créer des profils personnels, se faire des amis en les ajoutant à leur cercle.
  • Interface Web 2.0 conviviale. Il n’y a jamais trop de bonnes choses. Pour encore plus de commodité, le système IPB utilise les technologies modernes Web 2.0. Grâce à cela, l'utilisation des fonctions de base nécessaires du forum est simple et intuitive. Et comme c’est simple, cela signifie que les participants sont épargnés par le « prélude » technique ennuyeux à la communication.
  • La flexibilité. IPB propose de nombreuses options pour personnaliser votre communauté et personnaliser les options. La flexibilité du système vous permet d'intégrer le forum avec des solutions tierces sans trop d'effort, ainsi que de modifier n'importe quel élément de l'interface (conception, ajout de nouvelles fonctions).
  • Fidélité à la marque."Le consommateur n'est pas un imbécile, c'est votre femme." Un forum intéressant, une organisation bien pensée de la communauté, tout cela contribue à l’image de l’entreprise et fidélise les clients à la marque. Les utilisateurs apprécieront certainement le confort de l'environnement de communication créé : la possibilité de discuter de la marque avec d'autres personnes, d'échanger des opinions, de répondre et d'interagir avec la direction de l'entreprise elle-même.
  • Coûts réduits. La communauté du forum agit comme une consultation en ligne 24h/24, réduisant considérablement le nombre d'appels vers votre service d'assistance technique. Il est psychologiquement beaucoup plus simple et plus facile pour l'utilisateur de demander de l'aide sur le forum : participation amicale, avis et conseils de spécialistes indépendants - grâce à la communication, non seulement tous les problèmes sont résolus, mais aussi les émotions négatives dues aux difficultés rencontrées sont supprimé.
  • Recherche en marketing. Le système IP.Board vous permet d'utiliser le forum comme outil de recherche marketing. Étudier les notes et les opinions de vos clients, mener des enquêtes, tester - les larges capacités techniques du forum vous permettent d'appliquer divers schémas de recherche.
  • Multitâche. La flexibilité de la configuration du système vous permet d'utiliser IP.Board pour atteindre divers objectifs. En complément de l'outil de communication traditionnel, certaines entreprises ont organisé un système de gestion de projet basé sur le forum. IP.Board sert à la fois de système de service client interne et externe. Grâce à la possibilité de configurer en profondeur et individuellement les droits d'accès, vous pouvez adapter le travail du forum même aux tâches les plus complexes et spécifiques.
  • Adéquation des prix. Les conditions d'achat du produit logiciel IP.Board et le plan tarifaire développé vous permettent de trouver la meilleure option pour résoudre les tâches assignées au forum. Vous payez pour ce que vous utilisez réellement, ce dont vous avez réellement besoin.
  • Modules supplémentaires. Vous pouvez étendre les fonctionnalités du système IP.Board à l'aide d'applications officielles supplémentaires (galerie, blog, module d'archives de fichiers). Les solutions prêtes à l'emploi vous évitent un développement indépendant et une modification des fonctionnalités. Les modules supplémentaires sont entièrement compatibles avec le système et utilisent un seul espace communautaire, ce qui permet de les installer en un clic, sans nécessiter de connaissances et compétences particulières. Les applications prennent également en charge la sortie de nouvelles versions, et leur maintenance est incluse dans le package général de services d'assistance technique du forum.
  • Gestion réfléchie du forum. L'efficacité de toute communauté est facilitée par une « conduite » compétente. Les outils de gestion intégrés à IP.Board vous permettent de créer un système d'administration et de modération flexible avec la différenciation des droits nécessaire. La gestion du forum comprend un large éventail de fonctionnalités : de la surveillance du contenu à la création d'un centre de diagnostic qui vous permet de maintenir le forum, de surveiller les statistiques et de vérifier le système pour d'éventuelles erreurs.

Possibilités

  • Installation simple, intuitive et rapide
  • Disponibilité de pilotes pour différents types de bases de données : MSSQL, Oracle, PostgreSQL
  • Prêt à travailler immédiatement après l'installation
  • Groupes et multi-groupes pour les utilisateurs
  • Profil utilisateur moderne
  • Amis

Versions

  • 1.x.x, dernière version - 1.3.1 , le support a été interrompu.
  • 2.0.x, dernière version - 2.0.4 : 4 mai
  • 2.1.x, dernière version - 2.1.7 : 13 juillet
  • 2.2.x, dernière version - 2.2.2 : 22 février
  • 2.3.x, dernière version - 2.3.6 : 2 octobre
  • 3.0.x, dernière version - 3.0.5 : 8 décembre
  • 3.1.x, dernière version - 3.1.4 : 18 novembre
  • 3.2.x, dernière version - 3.2.3 : 9 septembre
  • 3.3.x, dernière version - 3.3.4 : 11 juillet

Histoire du développement

Invision Power Services (IPS) a été fondée par deux programmeurs, Matt Mecham et Charles Warner, en 2002, peu de temps après avoir quitté Jarvis Entertainment Group (la société à l'origine des forums Ikonboard). Leur tout premier produit était IPB, qui a attiré l'attention de nombreux utilisateurs d'Ikonboard.

Bien que les développeurs d'Invision Power Services aient initialement choisi de distribuer le code source du forum gratuitement, IPB a arrêté de publier des versions gratuites en 2004. Il a été décidé de laisser la version d'essai d'Invision Power Board 2.0.0 en téléchargement gratuit, mais le 27 septembre 2004, cette opportunité a également été fermée en raison de l'introduction d'une version de démonstration gratuite, qui avait des restrictions sur 5 000 messages, 1 000 sujets et 200 utilisateurs. Avec cela, Invision Power Services met fin aux affirmations selon lesquelles l'IPB sera toujours gratuit. Le 1er juillet 2005, IPS a introduit une nouvelle limite pour la version démo - pas plus de 15 jours d'utilisation (dans certains cas, jusqu'à 5 jours) et quelques mois plus tard, cette période a été limitée à 24 heures.

La version IPB 2.0.4 est devenue la première version à être officiellement vendue en Russie et dans les pays de la CEI. La communauté russophone a reçu l'autorisation officielle d'IPS pour vendre une version localisée d'IP.Board dans le segment russophone.

Version 1.3

La version 1.3 des forums IPB est la dernière version distribuée gratuitement du moteur et son utilisation est toujours autorisée par IPS, bien qu'elle ne soit plus prise en charge par les développeurs et que l'accès au téléchargement sur la ressource officielle ait déjà été arrêté. Malgré le caractère obsolète de cette version du forum et la présence de failles de sécurité connues, de nombreuses personnes l'utilisent encore et n'expriment aucune envie de la mettre à jour. IPS a continué à publier des mises à jour de sécurité jusqu'à ce que la version 2.1 soit annoncée pour le développement en 2005, après quoi elle a cessé de prendre en charge cette version du forum. Certains sites continuent de publier des mises à jour de sécurité et des mises à jour pour exécuter cette version du forum sur PHP5, mais ces mises à jour ne sont pas prises en charge par IPS. L'utilisation de ces versions est illégale si vous ne les avez pas téléchargées depuis le site officiel.

Version 2.0

Les forums IPB 2.0 sont très similaires à ceux de la version 2.1. Cette version est la dernière version téléchargeable gratuitement sur le site officiel d'IPS. Tout comme avec la version 1.3, de nombreux utilisateurs continuent de l'utiliser, en utilisant des versions d'essai illimitées de 2.0 PDR (Under Development Version), PF (English. Pré-finale; version, qui est en phase de test et de développement, est publiée avant la version finale) et Final, qui ont également leurs propres failles de sécurité et ne sont plus prises en charge par les développeurs. La version finale 2.0 pourrait être téléchargée gratuitement dans les premières heures suivant sa sortie officielle depuis le site officiel du développeur.

Version 2.1

IPB 2.1 présente des avantages significatifs par rapport à ses prédécesseurs, tels que : les dernières mises à jour de sécurité, Rich Text Editor en tant qu'éditeur de messages utilisateur et de nombreux outils de modération, notamment utilisant la technologie AJAX. La partie administrative d'IPB 2.1 a été entièrement repensée. Toutes les versions d'IPB 2.1 sont des logiciels commerciaux ; il n'est pas possible de télécharger une version de démonstration sur le site officiel.

Version 2.2.7

La sécurité d'Invision Power Board 2.2 a été testée par une société tierce, ce qui a permis de détecter des vulnérabilités dangereuses dans le script du forum avant même la sortie de la version finale. Immédiatement après la sortie de la version 2.2, la version 2.2.1 a été publiée, qui corrige de nombreux bugs.

Version 2.3

Cette version inclut plusieurs modifications de code qui améliorent les performances du système sur les grands forums. À partir de la version 2.3, le forum est livré avec deux styles (bleu classique et style Pro). Ce dernier est positionné par le développeur comme léger et peut être facilement utilisé comme base pour développer ses propres styles, ou, par exemple, comme style pour les forums à fort trafic. Dans cette version, IPS a étendu les capacités du panneau d'administration du forum en ajoutant un système d'aide intelligent et en fournissant un tableau de bord comme page principale du centre d'administration. Parmi les nouveautés du forum, il convient de noter l'apparition de la réaffectation de style (URL Mapping). Grâce à ce paramètre, il est possible d'attribuer des styles personnalisés à des URL spécifiques : par exemple, créer un style différent du style des forums pour la page d'affichage du profil.

Version 3.0

Cette version comporte d'importants changements, notamment l'introduction d'un nouveau moteur de modèles, un nouveau design, une facilité accrue d'édition des modèles, des améliorations des codes BB, son propre système de réputation et bien plus encore... De plus, la version 3 nécessite PHP5. Les bases de données Oracle ne sont plus prises en charge. La principale innovation a été l'apparition de hooks, avec lesquels vous pouvez modifier et/ou ajouter de nouvelles fonctionnalités sans changer le code source du forum. Pour installer des hooks, l'administrateur doit simplement télécharger le fichier XML du hook dans le centre d'administration. Malheureusement, la création de hooks n'est possible qu'en mode développement et nécessite une énorme quantité de travail manuel (une grande partie de ce travail peut être automatisée à l'aide du Toolkit IPB3).

Tous les crochets sont divisés dans les types suivants (les noms des crochets sont tirés de la version russe d'IBR, le nom original est indiqué entre parenthèses) :

  • Surchargeur d'actions - vous permet d'étendre la classe de contrôleur spécifiée avec votre propre classe ;
  • Surchargeur de skin - vous permet d'étendre la classe de modèle spécifiée avec votre propre classe (s'applique à tous les skins) ;
  • Modification du modèle (Hook de modèle) - vous permet d'ajouter du code arbitraire (principalement du HTML) à l'endroit souhaité dans le modèle.

Version 3.1

Le système de crochets a également été développé - de nouveaux types de crochets ont été ajoutés :

  • Hook de modèle (auparavant - Modification de modèle, Hook de modèle) - développé, vous pouvez remplacer des blocs et obtenir les valeurs des variables transmises au modèle ;
  • Data hook - vous permet de traiter les données avant de les insérer (de les recevoir) dans (depuis) ​​la base de données ;
  • Hook de bibliothèque - vous permet de remplacer de nombreuses classes système.

Version 3.2

Remarques

voir également

  • Ikonboard - Un script de forum développé à l'origine par Matt Mecham.

Liens

Officiel

  • Documentation Invision Power Board - documentation officielle en anglais pour Invision Power Board

Il existe une petite vulnérabilité dans le moteur du forum IPB. Vous pouvez troller l'administrateur et en même temps tuer son forum pendant plusieurs jours (vérifié personnellement sur deux forums).

Félicitations au participant au concours

Ce texte a été soumis à un concours d'auteurs que nous avons lancé au printemps. Nous avons trié un grand nombre de documents soumis, résumé les résultats et récompensé les gagnants. L'auteur de cette note a reçu un prix : un abonnement de trois mois à Hacker. Toutes nos félicitations!

Voyons étape par étape comment cela fonctionne.

  1. Vous devez d'abord vous inscrire sur le forum pour pouvoir poster.
  2. Après inscription, créez un sujet « poubelle » où les modérateurs regardent à peine, ou laissez un message dans l'un de ces sujets. Le contenu d’un article ou d’un sujet doit être énorme. Certains administrateurs font des erreurs lors de la configuration du serveur, permettant aux utilisateurs d'envoyer des messages avec une longueur de texte illimitée. Personnellement, j'ai haché le mot DDoS en SHA-512 et copié le hachage dans le formulaire de soumission jusqu'à ce que le navigateur se bloque pendant plusieurs secondes à cause de la quantité de texte insérée sur la page.
  3. Soumettre un nouveau sujet ou un nouveau message. Le moteur est mis en œuvre de manière négligente et les longs messages ne sont pas raccourcis avec la possibilité de les développer en cliquant sur un bouton. Et la sortie de ces publications est gérée par PHP, et non par JS côté client. En conséquence, nous obtenons une énorme page avec plusieurs millions de caractères chargés de manière synchrone depuis le serveur.
  4. Nous lançons une attaque DDoS sur un sujet avec un message énorme. Puisque toutes les requêtes vont directement à PHP, et de celui-ci à la base de données, le site échouera très rapidement avec l'erreur 500 Internal Server Error, puis avec l'erreur 504 Gateway Timeout (puisque la base de données, même sur un VPS, ne pourra pas pour servir un message aussi énorme si rapidement, alors parlez d'hébergement partagé) et ne pourra pas se lever de sitôt, car les requêtes sur la base de données se bloqueront et attendront une réponse du serveur et de la base de données.
  5. Vous pouvez cacher l'attaque aux modérateurs particulièrement stupides en utilisant une astuce avec vos oreilles. IPB dispose d'un module « Activité » (Découvrez dans la version anglaise du moteur). Il s'agit d'un flux qui stocke l'historique des publications récentes. Ainsi, afin de détourner l'attention des modérateurs (qui peuvent détecter un sujet, le supprimer et bannir le compte), vous devez immédiatement commencer à inonder la page d'activité après avoir envoyé un message indésirable. Après avoir consulté les journaux, l'administrateur système pensera que l'attaque concerne le flux de messages et ne sera pas en mesure de détecter la racine du problème - le sujet que nous avons créé, qui, soit dit en passant, sera également entièrement affiché sur la page. . La seule chose qu'il peut faire est de fermer le flux des utilisateurs non enregistrés. Et même dans ce cas, il s’agit d’une décision douteuse dont souffre la convivialité.
  6. Quelques heures d'attaque DDoS intense sur une page indésirable, et littéralement dans quelques jours (semaines au maximum), la base de données du forum plantera pour toujours. Non, il ne tombera pas simplement, il sera brisé de manière irréparable. Je ne sais pas de quoi il s’agit ni pourquoi cela se produit, mais cela arrive. Ainsi, vous pouvez non seulement mettre facilement un forum sur un serveur dédié en quelques clics, mais aussi détruire sa base de données, qui sera extrêmement difficile à restaurer sans sauvegarde.

Vous pouvez également remplir votre espace disque avec des journaux. Habituellement, ils louent un VPS avec un disque SSD de 10 à 20 Go et ne sont autorisés à télécharger des images sur le forum qu'à partir de ressources tierces. Il est donc très simple de consigner les journaux : vous devez utiliser le même hachage long dans le nom du sujet. Vous pouvez également augmenter légèrement l'effet en utilisant des référents, en y insérant le même hachage.

C'est une manière intéressante de faire réfléchir le propriétaire du forum IPB à passer à un autre moteur.

La compétition continue

Nous avons décidé d'étendre le concours et d'en faire une promotion permanente. En nous envoyant une description d'un hack, une astuce utile ou la description d'un programme inconnu et sympa, vous pouvez toujours obtenir un abonnement pour un mois, trois mois ou, si vous essayez, pour un an.