Table des matières
Ecshop、Discuz! 等开源产品的局限,ecshopdiscuz
Maison php教程 php手册 Ecshop、Discuz! 等开源产品的局限,ecshopdiscuz

Ecshop、Discuz! 等开源产品的局限,ecshopdiscuz

Jun 13, 2016 am 08:55 AM
programmeur php

Ecshop、Discuz! 等开源产品的局限,ecshopdiscuz

记得今年年初,我初次接触Discuz!和Ecshop时,一阵阵地惊叹:成熟度这么高的产品,居然是免费的。我们这些搞传统软件开发的要怎么活?另外也奇怪,做这些产品的公司,他们要怎么活?

我公司的网站,原型正好是用Ecshop和Discuz!,到开发方移交给我们后,我们做二次开发,深入了解了其代码,早期的疑惑才有了答案。

可以说,这些产品,都无法支持真正严肃的应用环境。

1)所有的数据库访问都不用mysqli连接,因此无法用prepared statement,而全部用拼接方式。

这些系统,对数据库(主要都是mysql)的访问,全部采用sql拼接方式。举一个Ecshop的例子:

   <span>$w_openid</span> = <span>$db</span> -> getOne("SELECT `wxid` FROM `wxch_user` WHERE `wxid` = '<span>$openid</span>'");
Copier après la connexion

或类似

   <span>$wxch_user_sql</span> = "INSERT INTO `<span>$thistable</span>` ( `user_name`,`password`,`field3`,`field4`) VALUES ('$variable1','<span>$variable2</span>','value3','value4')"<span>;
   </span><span>$db</span> -> query(<span>$wxch_user_sql</span>);
Copier après la connexion

这种语句,偶尔出现倒也可以理解,如果所有的地方都是这样(正如Ecshop),则应该出于对数据库只有入门水平的人手里。因为他完全没有使用prepared statement的概念。

所以,这种系统几个人用应该是快如闪电,并发量一大,后台数据库可能被搅成一锅粥了。

正确的连接数据库的方法应该是:

 <span>$mysqli</span> = <span>new</span> mysqli("server", "username", "password", "database_name");
Copier après la connexion

而不是

$conn = mysql_connect('server','username','password') or die ("数据连接错误!!!");
Copier après la connexion

 正确的sql语句应该是:

<span>$stmt</span> = <span>$mysqli</span>->prepare("INSERT INTO table (column) VALUES (?)"<span>);

</span><span>$stmt</span>->bind_param("s", <span>$safe_variable</span><span>);

</span><span>$stmt</span>->execute();
Copier après la connexion

而不是前面那样。

 

2)系统安全性极差

因为不用prepared statement,只要编程人员不注意,sql injection可以说到处都有可能。但看看他们的代码,可以说压根不注意。因为这些系统,对用户输入几乎不用转义。

对于已经很烂的代码,正确的用法是应该有第二行:

<span>$unsafe_variable</span> = <span>$_POST</span>["user-input"<span>];
</span><span>$safe_variable</span> = <span>mysql_real_escape_string</span>(<span>$unsafe_variable</span><span>);

</span><span>mysql_query</span>("INSERT INTO table (column) VALUES ('" . <span>$safe_variable</span> . "')");
Copier après la connexion

但在这些系统里,上面的第二行很少看到。

这样造成的问题就是,针对这些系统的机器人极多。基本上你的论坛上线不久很快就被机器人发的水贴、广告贴盯上了。

 

本人对这些系统研究还很肤浅,不过看到这两条,就已经明白,这种系统是供学习用的。开发这些产品的公司,他们的水平很高,不过高质量的代码应该是用在了商业性收费的产品上。大家别以为可以捡到便宜。

 

转载请注明出处:cnblogs上的海边的骆驼博客。原博文地址:http://www.cnblogs.com/yingjiang/p/4750408.html 

 

 

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Où trouver la courte de la grue à atomide atomique
1 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Du début à la fin : comment rédiger le CV parfait pour un programmeur PHP Du début à la fin : comment rédiger le CV parfait pour un programmeur PHP Sep 10, 2023 pm 04:21 PM

Comment rédiger un CV de programmeur PHP parfait Dans un marché du travail hautement compétitif, un excellent CV est crucial pour les demandeurs d'emploi. Pour les programmeurs PHP, rédiger un CV parfait est particulièrement important, car le CV n'est pas seulement une fenêtre pour mettre en valeur vos compétences et votre expérience, mais aussi la clé pour attirer l'attention de l'employeur. Cet article expliquera en détail comment rédiger un CV de programmeur PHP parfait du début à la fin. Première étape : Choisissez un modèle de CV concis et attrayant Choisir un modèle de CV concis et attrayant est la première étape dans la rédaction de votre CV.

Améliorez votre taux de réussite dans votre recherche d'emploi : conseils pour rédiger un excellent CV de programmeur PHP Améliorez votre taux de réussite dans votre recherche d'emploi : conseils pour rédiger un excellent CV de programmeur PHP Sep 10, 2023 pm 06:30 PM

Améliorer le taux de réussite dans la recherche d'emploi : conseils pour rédiger un excellent CV de programmeur PHP Dans la société moderne, la recherche d'emploi est devenue une tâche importante à laquelle est confronté chaque diplômé. Lorsqu'il s'agit de postuler à un emploi, votre CV est l'élément le plus important. Un excellent CV peut vous faire gagner un entretien et même déterminer si vous réussirez à obtenir un emploi. Surtout pour un poste hautement compétitif comme celui de programmeur PHP, comment rédiger un CV exceptionnel est devenu une question clé pour tout demandeur d'emploi. Ci-dessous, je partagerai quelques conseils pour rédiger un excellent CV de programmeur PHP.

Comment rédiger un CV de programmeur PHP qui impressionnera les employeurs Comment rédiger un CV de programmeur PHP qui impressionnera les employeurs Sep 08, 2023 am 08:19 AM

Comment rédiger un CV de programmeur PHP qui impressionnera les employeurs. Sur le marché du travail hautement compétitif, il est particulièrement important de rédiger un excellent CV. En tant que programmeur PHP, en plus de votre expérience professionnelle et de vos compétences impressionnantes, un CV doit également refléter votre amour pour la programmation et de solides connaissances professionnelles. Cet article présentera quelques conseils et exemples de code pour vous aider à rédiger un CV de programmeur PHP qui brillera aux yeux des employeurs. Informations personnelles concises et claires La section des informations personnelles de votre CV doit inclure votre nom, vos coordonnées et votre site Web personnel.

Ne soyez plus ignoré ! Apprenez à concevoir un CV de programmeur PHP impressionnant Ne soyez plus ignoré ! Apprenez à concevoir un CV de programmeur PHP impressionnant Sep 08, 2023 pm 04:30 PM

Ne soyez plus ignoré ! Apprenez à concevoir un CV de programmeur PHP impressionnant Dans le marché du travail compétitif d'aujourd'hui, avoir un CV impressionnant est la clé pour décrocher l'emploi de vos rêves. Surtout pour les postes techniques tels que les programmeurs PHP, les CV sont une fenêtre pour mettre en valeur vos compétences et votre expérience. Cet article vous apprendra comment concevoir un CV de programmeur PHP impressionnant, accompagné d'exemples de code. Premièrement, un bon CV attirera l’attention du lecteur. Le titre doit décrire succinctement votre

La route des programmeurs PHP vers une contre-attaque bien rémunérée La route des programmeurs PHP vers une contre-attaque bien rémunérée Sep 09, 2023 am 09:22 AM

La voie vers une contre-attaque bien rémunérée pour les programmeurs PHP Avec le développement rapide d'Internet, la demande dans le domaine de l'informatique continue d'augmenter. À cette époque, les personnes ayant besoin de compétences en programmation sont les plus demandées. En tant que langage de programmation couramment utilisé, PHP offre aux programmeurs une voie de contre-attaque très payante. Cet article présentera comment les programmeurs PHP peuvent évoluer vers une contre-attaque bien rémunérée en apprenant PHP et les technologies associées, et joindra quelques exemples de code. 1. Maîtrisez les connaissances de base de PHP Pour devenir un excellent programmeur PHP, vous devez d'abord maîtriser les connaissances de base de PHP.

Conseils accrocheurs pour un CV de programmeur PHP : comment se démarquer des autres candidats Conseils accrocheurs pour un CV de programmeur PHP : comment se démarquer des autres candidats Sep 12, 2023 am 10:16 AM

Conseils de CV accrocheurs pour les programmeurs PHP : Comment se démarquer des autres candidats Avec le développement rapide de l'industrie Internet, les programmeurs PHP sont également devenus l'un des postes les plus populaires sur le marché du travail. Cependant, de plus en plus de personnes choisissent PHP comme orientation de carrière, ce qui rend la concurrence plus intense. Dans de telles circonstances, comment faire en sorte que votre CV se démarque et devienne populaire aux yeux des employeurs est une question à laquelle tout programmeur PHP doit réfléchir. Tout d’abord, un bon CV doit démontrer vos compétences de manière claire et concise.

Explorez les conseils de rédaction : comment rédiger un CV de programmeur PHP convaincant Explorez les conseils de rédaction : comment rédiger un CV de programmeur PHP convaincant Sep 09, 2023 pm 04:09 PM

Explorez les conseils de rédaction : Comment rédiger un CV de programmeur PHP convaincant Dans le marché du travail compétitif d'aujourd'hui, un CV convaincant est particulièrement important pour les programmeurs PHP. Un bon CV attire non seulement l'attention de l'employeur, mais met également en valeur vos compétences et votre expérience. Cet article explorera quelques conseils de rédaction pour vous aider à rédiger un excellent CV de programmeur PHP, complété par des exemples de code mettant en valeur vos capacités professionnelles. Format concis et clair Le format de votre CV doit être concis et clair, permettant aux employeurs de numériser rapidement vos informations pertinentes.

Améliorez votre profil : comment rédiger un CV de programmeur PHP qui vous démarque Améliorez votre profil : comment rédiger un CV de programmeur PHP qui vous démarque Sep 10, 2023 pm 05:12 PM

Dans le marché du travail hautement compétitif d'aujourd'hui, comment se démarquer de la foule des demandeurs d'emploi est devenu une question très importante. Surtout pour les programmeurs PHP, un bon CV peut directement affecter votre capacité à obtenir un entretien. Cet article vous donnera une introduction détaillée sur la façon de rédiger un CV de programmeur PHP qui vous démarquera. Tout d'abord, un bon CV doit contenir les éléments importants suivants : informations personnelles, intention d'emploi, formation, expérience professionnelle, compétences et expertise, et expérience de projet personnel. Nous y allons partie par partie

See all articles