WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

Du bist nicht angemeldet.

#1 26.08.2015 22:17:42

norhei
Developer

Code Whithout Evil

The good old code whithout evil. Its meaned as a replacement for the old code module.
This one no longer depends on eval() instead it creates tempoary files to include.

Offline

#2 27.08.2015 08:38:07

cwsoft
Mitglied

Re: Code Whithout Evil

Mal ne dumme Frage. Wo ist der Unterschied, ausser dass evil böse ist? Ob jetzt der bösartigen Code von evil ausgeführt wird, oder in eine Datei geschrieben und von dort includiert wird, ergibt für mich auf ersten Blick nicht wirklich mehr Sicherheit.


Account inactive since 2018/11/17.

Offline

#3 27.08.2015 09:28:23

webbird
Administrator

Re: Code Whithout Evil

Uff, bitte keine eval is evil Debatten. Die sind genauso sinnlos wie die OOP gegen prozedural Debatten. Oder die Frage, ob man Scripten maßgeblich beschleunigen kann, wenn man ' statt " verwendet.


Ich habe eine Amazon-Wishlist. wink Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal

Offline

#4 27.08.2015 10:01:29

norhei
Developer

Re: Code Whithout Evil

Just a few comments on eval:
1. Eval is slow, on old php versions up to 10x times.
2. Eval is not easy to debug evaled code.
3. Eval offers some potential for security issues, nothing you cannot handle but often unnecessary.
4. Eval des not cooperate whith eAccelerator or APC

So why use it if we dont need to?

Sorry writing on phone.

Offline

#5 27.08.2015 10:08:13

norhei
Developer

Re: Code Whithout Evil

One more thing, eval often is used by malware to hide code. So if you dont have any eval in your code its pretty easy to simply find that malware via grep. An issue that was actually mentioned by Dietmar as he was trying to remove the malware on websitebaker.org.

So again, why use it, if there is no need to?

Beitrag geändert von norhei (27.08.2015 15:09:52)

Offline

#6 27.08.2015 20:24:12

florian
Administrator

Re: Code Whithout Evil

Added to AOR


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#7 29.08.2015 09:34:59

cwsoft
Mitglied

Re: Code Whithout Evil

@norhei: Naja man kann ja nach base64 und eval und rot13 suchen, dann findet man bösartigen Code auch. Ich würde nicht sagen, dass ein Code Modul ohne eval besser oder sicherer ist. Ein Codemodul ist per default unsicher, da man jeden PHP Code ausführen kann. Das einzigste Argument mag die Performance sein, die dürfte aber in 90% der Fälle wurscht sein. Das getöns mit Temporären Dateien ist nur besser, wenn diese wirklich vom Server gelöscht werden und nicht erraten und extern aufgerufen werden können. Fürs Codemodul macht eval für mich Sinn, weil es genau das macht, was es soll, einen als String übergebenen Code interpretieren und ausführen.

Beitrag geändert von cwsoft (29.08.2015 09:35:33)


Account inactive since 2018/11/17.

Offline

#8 29.08.2015 13:02:31

norhei
Developer

Re: Code Whithout Evil

Also erst mal:
Jep, die können nicht einfach aufgerufen werden, müssen per include geladen werden, sonst 404.
Da kannst du raten wie du willst ;-)
Was das Löschen betrifft, die liegen im /temp , besser wäre es wir hätten einen wie von DV vorgeschlagenen eigenen /var Ordner. In dem Module ihre Dateien verwalten könnten. Jetzt ist das Problem eher ein anderes , wenn die Dateien einfach mal gelöscht werden, muss er die neu erstellen. Aber keine Angst das macht er.

weil es genau das macht, was es soll, einen als String übergebenen Code interpretieren und ausführen

Wenn das doch so egal ist , ist es dann nicht auch egal wie es das unter der Oberfläche macht ?
Wenn es dann obendrein etwas leichter zu debuggen, deutlich schneller, resourcensparend und etwas sicherer ist, ist das dann irgendwie schlimm ?

Es tut genau das gleiche, nur hat es ein paar Vorteile. Obendrein musst Du es nicht mal benutzen ... wo ist jetzt das Problem ?  smile

Offline

#9 29.08.2015 14:32:01

cwsoft
Mitglied

Re: Code Whithout Evil

@norhei: Ich hab mit dem neuen Codemodul kein Problem, sehe aber auch nicht den Nutzen für den Endandwender. Ich stör mich nur etwas an der "etwas mehr Pseudosicherheit", das ist alles  neutral


Account inactive since 2018/11/17.

Offline

#10 29.08.2015 19:55:35

florian
Administrator

Re: Code Whithout Evil

webbird schrieb:

Uff, bitte keine eval is evil Debatten.

+1


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#11 29.08.2015 21:33:07

norhei
Developer

Re: Code Whithout Evil

Ähhhm , das mit dem Evil ist ein Wortspiel, ich hätts auch Turbo Code nennen können.
Hauptsächlich ging es mir nicht darum das eval() wegzubekommen, sondern das Modul leistungsfähiger zu machen.
Ich hatte, weil Low Budget und eilig, eine sehr komplexe Seite fast komplett aus Code und einem selbstgebauten Form Manager Tool gebaut.
Allerdings waren sie sehr umfangreichen und mit komplexen Berechnungen versehenen Seiten unglaublich langsam. Deswegen ist diese Modul entstanden und es hat die Geschwindigkeit + Speicherverbrauch dramatisch(mehr als Faktor 10) verbessert. Zudem konnte ich dann mit APC arbeiten was vorher nicht ging, das hat nochmal eine Menge gebracht.   

Code whithout Evil war einfach nur ein lustiger Name, an dem sich aber recht viele zu stören scheinen.       
Wobei natürlich nicht immer eval()==Evil gilt.

Offline

#12 30.08.2015 09:07:22

cwsoft
Mitglied

Re: Code Whithout Evil

@norhei: Danke für die Klarstellung. Ich hasse es nur wenn Leute für "dumm" verkauft werden unter dem Deckmantel der "Pseudosicherheit" wie z.B. im verlinktem WB-Classic Thread von Dietmar. Das ist zu WB-Classic Zeiten zu oft passiert und da reagiere ich mittlerweile recht gereitzt  roll

Die anderen Gründe kann ich alle nachvollziehen und wenn das die Motivation für das Modul war. - super.


Account inactive since 2018/11/17.

Offline

#13 18.02.2017 21:26:20

viktor321j
Mitglied

Re: Code Whithout Evil

Bei dem Versuch, das Codemodul ("Code without evil") zu installieren, erhalte ich diese Fehlermeldung: "Die übertragene Datei ist ungültig". Nun verwende ich halt code2 ("should be installed only if it's really necessary") - etwas unbefriedigend für mich. Gibt es noch andere Möglichkeiten der Abhilfe?
Das Problem betrifft alle meine WBCE 1.1.11-Installationen, die ansonsten fehlerfrei funktionieren, tritt aber auch auf, wenn ich das Modul probehalber in WB Classic zu installieren versuche (PHP-Version 7.0.13).
Hat jemand einen Tipp für mich?
Danke!

Offline

#14 19.02.2017 02:23:34

florian
Administrator

Re: Code Whithout Evil

Problem mit Code kann ich mit WBCE 1.1.11 und PHP 7.0 nicht reproduzieren.
Der Hinweis bei code2 "nur Installieren, wenn notwendig" steht da nur, weil es so ein mächtiges Tool ist (wie eigentlich auch Code) und es nur in Umgebungen installiert werden sollte, in denen man den weiteren Backendnutzern vertrauen kann; bzw. man sollte darauf achten, ggf. die Zugriffsmöglichkeiten auf das Modul entsprechend einzuschränken. Davon abgesehen, ist code2 in vielen Dingen sogar besser (neueres Syntaxhighlighting, auch andere Sprachen außer PHP möglich, anpassbare Größe, auch als interner Kommentar verwendbar).


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#15 21.02.2017 14:10:23

viktor321j
Mitglied

Re: Code Whithout Evil

OK, danke für die Info.

Offline

#16 21.02.2017 15:07:41

evaki
Gast

Re: Code Whithout Evil

Installation über "Erweiterungen"
PHP-7.0.0-ts

$module_name        = 'Code';
$module_function    = 'page';
$module_version        = '5.5';
$module_status        = 'beta';

[== PHP ==]
. */ $module_directory = 'code'; $module_name = 'Code'; $module_function = 'page'; $module_version = '5.5'; $module_status = 'beta'; $module_platform = '2.7 | 2.8.x'; $module_author = 'Ryan Djurovich for basic code module, Norbert Heimsath (Heimsath.org) for Modifications'; $module_license = 'GNU General Public License v3 and any later'; $module_license_terms = 'http://www.gnu.org/licenses/gpl.html'; $module_requirements = '-'; $module_description = 'This module allows you to execute PHP commands and allows php script tags. This version runs whithout using eval.'; ?> 

Die übertragene Datei ist ungültig

MfG. Evaki

Beitrag geändert von evaki (21.02.2017 15:13:17)

#17 21.02.2017 15:12:15

florian
Administrator

Re: Code Whithout Evil

Ich habe das mit der oben im Thread und der aus dem AOR versucht nachzustellen, und beide Male hat die Installation geklappt.


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#18 21.02.2017 15:13:43

evaki
Gast

Re: Code Whithout Evil

Ich werd mal gleich reingucken. Im Moment noch Telefongerassel ohne Ende.... Wahnsinn heute

#19 21.02.2017 15:16:56

florian
Administrator

Re: Code Whithout Evil

"Die übertragene Datei usw." kriege ich nur, wenn ich versuche, Code statt über Erweiterungen >  Module bei Erweiterungen > Templateszu installieren - kann das das Problem sein?

Beitrag geändert von florian (21.02.2017 15:17:48)


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#20 21.02.2017 15:19:42

evaki
Gast

Re: Code Whithout Evil

So, ohne "Short-Tag-Erlaubnis" war's der erste Versuch und damit Abbruch die Folge.
Aus Kompatibilitätsgründen (z.B. XML) ist das wohl nicht nur bei mir deaktiviert (short_open_tag in php.ini).
Na, denn man gleich weiter... bis gleich

Päuschen......

Oh,oh...
Das Teil scheint komplett mit Shorttags zu laufen, naja -oder anders: im angegebenen Modus eben nicht.
Daschja doof. Muß ich ja nochmal reingucken yikes

Längeres Päuschen......

Alle Shorttags wech un jut is ( echo 'alles wird  jut'; )

MfG. Evaki

Das sollte nun auch bei viktor321j funktionieren  big_smile

Beitrag geändert von evaki (22.02.2017 14:12:11)

Liked by:

florian

#21 22.02.2017 12:11:28

viktor321j
Mitglied

Re: Code Whithout Evil

Genau, evaki, nach Aktivierung von short_open_tag in meiner php.ini funktioniert's.
In welcher der Moduldateien befinden sich denn die Shorttags, die zu korrigieren wären?

Beitrag geändert von viktor321j (22.02.2017 12:15:24)

Offline

#22 22.02.2017 13:45:52

evaki
Gast

Re: Code Whithout Evil

Die dauerhafte Aktivierung per php.ini ist nicht zu empfehlen, weshalb ich die Dateien geändert und als code_d.zip an meinen o. Beitrag angehängt habe.
MfG. Evaki

#23 22.02.2017 13:54:35

florian
Administrator

Re: Code Whithout Evil

Danke, ich hab's im AOR aktualisiert.


Code allein macht nicht glücklich. Jetzt spenden!

Offline

Fußzeile des Forums

up