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

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



So schreiben Sie einen perfekten Lebenslauf für einen PHP-Programmierer. In einem hart umkämpften Arbeitsmarkt ist ein hervorragender Lebenslauf für Arbeitssuchende von entscheidender Bedeutung. Für PHP-Programmierer ist das Schreiben eines perfekten Lebenslaufs besonders wichtig, denn der Lebenslauf ist nicht nur ein Schaufenster, in dem Sie Ihre Fähigkeiten und Erfahrungen präsentieren können, sondern auch der Schlüssel, um die Aufmerksamkeit des Arbeitgebers zu erregen. In diesem Artikel wird im Detail erklärt, wie man von Anfang bis Ende einen perfekten PHP-Programmierer-Lebenslauf schreibt. Schritt eins: Wählen Sie eine prägnante und attraktive Lebenslaufvorlage. Die Auswahl einer prägnanten und attraktiven Lebenslaufvorlage ist der erste Schritt beim Verfassen Ihres Lebenslaufs.

Verbessern Sie die Erfolgsquote bei der Jobsuche: Tipps zum Verfassen eines hervorragenden Lebenslaufs als PHP-Programmierer In der modernen Gesellschaft ist die Jobsuche zu einer wichtigen Aufgabe für jeden Absolventen geworden. Wenn es um eine Bewerbung geht, ist Ihr Lebenslauf das wichtigste Element. Ein ausgezeichneter Lebenslauf kann Ihnen zu einem Vorstellungsgespräch verhelfen und sogar darüber entscheiden, ob Sie erfolgreich einen Job bekommen können. Insbesondere für eine hart umkämpfte Position wie die des PHP-Programmierers ist das Verfassen eines hervorragenden Lebenslaufs für jeden Arbeitssuchenden zu einem zentralen Thema geworden. Im Folgenden gebe ich einige Tipps zum Verfassen eines hervorragenden Lebenslaufs als PHP-Programmierer.

So schreiben Sie einen Lebenslauf für einen PHP-Programmierer, der Arbeitgeber beeindruckt. Auf dem hart umkämpften Arbeitsmarkt ist es besonders wichtig, einen hervorragenden Lebenslauf zu verfassen. Als PHP-Programmierer muss ein Lebenslauf neben Ihrer beeindruckenden Berufserfahrung und Ihren Fähigkeiten auch Ihre Liebe zum Programmieren und fundierte Fachkenntnisse widerspiegeln. In diesem Artikel werden einige Tipps und Codebeispiele vorgestellt, die Ihnen beim Verfassen eines PHP-Programmierer-Lebenslaufs helfen sollen, der in den Augen der Arbeitgeber glänzen wird. Präzise und klare persönliche Informationen Der Abschnitt mit den persönlichen Informationen Ihres Lebenslaufs sollte Ihren Namen, Kontaktinformationen und Ihre persönliche Website enthalten

Lass dich nicht länger ignorieren! Erfahren Sie, wie Sie einen beeindruckenden Lebenslauf für PHP-Programmierer entwerfen. Auf dem heutigen wettbewerbsintensiven Arbeitsmarkt ist ein beeindruckender Lebenslauf der Schlüssel zum Erhalt Ihres Traumjobs. Insbesondere für technische Positionen wie PHP-Programmierer sind Lebensläufe eine Möglichkeit, Ihre Fähigkeiten und Erfahrungen zu präsentieren. In diesem Artikel erfahren Sie, wie Sie einen beeindruckenden PHP-Programmierer-Lebenslauf mit Codebeispielen entwerfen. Erstens wird ein guter Lebenslauf die Aufmerksamkeit des Lesers auf sich ziehen. Der Titel sollte Ihr Anliegen prägnant beschreiben

Auffällige Lebenslauf-Tipps für PHP-Programmierer: So heben Sie sich von anderen Kandidaten ab Mit der rasanten Entwicklung der Internetbranche sind PHP-Programmierer auch zu einer der beliebtesten Positionen auf dem Arbeitsmarkt geworden. Allerdings entscheiden sich immer mehr Menschen für PHP als Richtung ihrer Karriereentwicklung, was den Wettbewerb intensiviert. Unter solchen Umständen ist es eine Frage, über die jeder PHP-Programmierer nachdenken muss, wie er seinen Lebenslauf hervorstechen und in den Augen der Arbeitgeber beliebt machen kann. Erstens sollte ein guter Lebenslauf Ihre Fähigkeiten klar und prägnant darlegen.

Der Weg zum hochbezahlten Gegenangriff für PHP-Programmierer Mit der rasanten Entwicklung des Internets steigt die Nachfrage im Bereich Informatik immer weiter. In dieser Zeit sind Menschen am gefragtesten, die Programmierkenntnisse benötigen. Als häufig verwendete Programmiersprache bietet PHP Programmierern einen lukrativen Gegenangriffspfad. In diesem Artikel wird vorgestellt, wie PHP-Programmierer durch das Erlernen von PHP und verwandten Technologien zu einem hochbezahlten Gegenangriff übergehen können, und es werden einige Codebeispiele beigefügt. 1. Beherrschen Sie die Grundkenntnisse von PHP. Um ein ausgezeichneter PHP-Programmierer zu werden, müssen Sie zunächst die Grundkenntnisse von PHP beherrschen.

Entdecken Sie Schreibtipps: So schreiben Sie einen überzeugenden Lebenslauf für PHP-Programmierer. Auf dem heutigen wettbewerbsintensiven Arbeitsmarkt ist ein überzeugender Lebenslauf besonders wichtig für PHP-Programmierer. Ein guter Lebenslauf erregt nicht nur die Aufmerksamkeit des Arbeitgebers, sondern stellt auch Ihre Fähigkeiten und Erfahrungen unter Beweis. In diesem Artikel erfahren Sie einige Schreibtipps, die Ihnen bei der Erstellung eines großartigen PHP-Programmierer-Lebenslaufs helfen sollen, komplett mit Codebeispielen, die Ihre beruflichen Fähigkeiten hervorheben. Prägnantes und klares Format Das Format Ihres Lebenslaufs sollte prägnant und klar sein, damit Arbeitgeber Ihre relevanten Informationen schnell überblicken können.

Auf dem hart umkämpften Arbeitsmarkt von heute ist es zu einer sehr wichtigen Frage geworden, wie man sich von der Masse der Arbeitssuchenden abheben kann. Insbesondere für PHP-Programmierer kann ein guter Lebenslauf einen direkten Einfluss darauf haben, ob Sie ein Vorstellungsgespräch bekommen. In diesem Artikel erhalten Sie eine detaillierte Einführung in das Verfassen eines Lebenslaufs als PHP-Programmierer, der Sie hervorhebt. Ein guter Lebenslauf sollte zunächst die folgenden wichtigen Teile enthalten: persönliche Informationen, Berufsabsicht, Bildungshintergrund, Berufserfahrung, Fähigkeiten und Fachwissen sowie persönliche Projekterfahrung. Wir werden Teil für Teil vorgehen
