Inhaltsverzeichnis
Ecshop、Discuz! 等开源产品的局限,ecshopdiscuz
Heim php教程 php手册 Ecshop、Discuz! 等开源产品的局限,ecshopdiscuz

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

Jun 13, 2016 am 08:55 AM
PHP-Programmierer

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>'");
Nach dem Login kopieren

或类似

   <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>);
Nach dem Login kopieren

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

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

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

 <span>$mysqli</span> = <span>new</span> mysqli("server", "username", "password", "database_name");
Nach dem Login kopieren

而不是

$conn = mysql_connect('server','username','password') or die ("数据连接错误!!!");
Nach dem Login kopieren

 正确的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();
Nach dem Login kopieren

而不是前面那样。

 

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> . "')");
Nach dem Login kopieren

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

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

 

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

 

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

 

 

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Von Anfang bis Ende: So schreiben Sie den perfekten PHP-Programmierer-Lebenslauf Von Anfang bis Ende: So schreiben Sie den perfekten PHP-Programmierer-Lebenslauf Sep 10, 2023 pm 04:21 PM

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 Ihre Erfolgsquote bei der Jobsuche: Tipps zum Verfassen eines hervorragenden Lebenslaufs als PHP-Programmierer Verbessern Sie Ihre Erfolgsquote bei der Jobsuche: Tipps zum Verfassen eines hervorragenden Lebenslaufs als PHP-Programmierer Sep 10, 2023 pm 06:30 PM

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.

Wie schreibe ich einen Lebenslauf als PHP-Programmierer, der Arbeitgeber beeindruckt? Wie schreibe ich einen Lebenslauf als PHP-Programmierer, der Arbeitgeber beeindruckt? Sep 08, 2023 am 08:19 AM

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 PHP-Programmierer-Lebenslauf entwerfen Lass dich nicht länger ignorieren! Erfahren Sie, wie Sie einen beeindruckenden PHP-Programmierer-Lebenslauf entwerfen Sep 08, 2023 pm 04:30 PM

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 Auffällige Lebenslauf-Tipps für PHP-Programmierer: So heben Sie sich von anderen Kandidaten ab Sep 12, 2023 am 10:16 AM

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 von PHP-Programmierern zum hochbezahlten Gegenangriff Der Weg von PHP-Programmierern zum hochbezahlten Gegenangriff Sep 09, 2023 am 09:22 AM

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 als PHP-Programmierer Entdecken Sie Schreibtipps: So schreiben Sie einen überzeugenden Lebenslauf als PHP-Programmierer Sep 09, 2023 pm 04:09 PM

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.

Verbessern Sie Ihr Profil: So schreiben Sie einen Lebenslauf als PHP-Programmierer, der Sie hervorhebt Verbessern Sie Ihr Profil: So schreiben Sie einen Lebenslauf als PHP-Programmierer, der Sie hervorhebt Sep 10, 2023 pm 05:12 PM

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

See all articles