Ecshop、Discuz! 等开源产品的局限,ecshopdiscuz
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>'");
或类似
<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>);
这种语句,偶尔出现倒也可以理解,如果所有的地方都是这样(正如Ecshop),则应该出于对数据库只有入门水平的人手里。因为他完全没有使用prepared statement的概念。
所以,这种系统几个人用应该是快如闪电,并发量一大,后台数据库可能被搅成一锅粥了。
正确的连接数据库的方法应该是:
<span>$mysqli</span> = <span>new</span> mysqli("server", "username", "password", "database_name");
而不是
$conn = mysql_connect('server','username','password') or die ("数据连接错误!!!");
正确的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();
而不是前面那样。
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> . "')");
但在这些系统里,上面的第二行很少看到。
这样造成的问题就是,针对这些系统的机器人极多。基本上你的论坛上线不久很快就被机器人发的水贴、广告贴盯上了。
本人对这些系统研究还很肤浅,不过看到这两条,就已经明白,这种系统是供学习用的。开发这些产品的公司,他们的水平很高,不过高质量的代码应该是用在了商业性收费的产品上。大家别以为可以捡到便宜。
转载请注明出处:cnblogs上的海边的骆驼博客。原博文地址:http://www.cnblogs.com/yingjiang/p/4750408.html

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

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é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. 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 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 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 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 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.

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
