Ankündigung

Einklappen
Keine Ankündigung bisher.

CRM Framework bncms

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • CRM Framework bncms

    bncms Ver. 0.3
    http://hu.de1.biz/

    Vorteile

    - Formulargenerierung, - validierung, -speicherung und -sicherheit sind zentralisiert. Codeänderungen betreffen automatisch alle Formulare. Dasselbe ist mit den CRUD Abläufen von Tabellen möglich. Konfiguriert wird die Darstellung der Felder durch die Feldtypen, die den Tabellen bei der Erstellung im Administrationsbereich mitgegeben werden.


    - Relationierte Daten können in die Formulare und Tabellen miteingefügt werden und können auch gleich bearbeitet werden. Dies ermöglicht es theoretisch jede Datenstruktur bearbeiten und visualisieren zu können. Bloss durch Konfiguration und Funktionsaufrufe.


    - Der Code ist extrem simpel, leichtgewichtig und schnell (ca. 100 kB pro Seitenaufruf). Die Programmierung ist minimalistisch und pragmatisch. Die Einfachheit des Codes ist ein weiterer Pluspunkt der schnelle und kostengünstige Entwicklung ermöglicht.


    Wieso bncms?

    Die Programmierprozesse und Anforderungen sind im Webbereich im Grunde technisch gesehen immer die selben. Inhalte aus Tabellen müssen dargestellt werden und müssen auch in einem Administrationsbereich zugänglich gemacht werden (CRUD, Copy Read Update Delete). Diese Daten sind in der Datenbank mit Relationen verbunden. bncms stellt einfach die Relationen (n zu 1 und n zu m Relationen) dar und bietet dann die CMS Funktionen für die Felder. Somit kann man jede Datenbank rasch und übersichtlich anzeigen und in bearbeitbarer Form bereitstellen, unabhängig von Datenbankstruktur und involvierten Skripts. Es kann bestimmt werden wieviel Benutzer sehen und so können zugeschnittene Mini-Backends in hoher und einheitlicher Qualität bereitgestellt werden, für jede erdenkliche Konstellation von Feldern und Tabellen.

    Schönen!

  • #2
    AW: CRM Framework bncms

    Sorry, aber wenn Du es schon öffentlich verkündest, kannst Du hoffentlich mit Kritik umgehen?!
    Das was Du da als Beispiel-Codes zeigst ist so voller Grundsatzfehler, dass sich nur vermuten lässt, wie groß das Ausmaß an schlechtem Programmierstil im Core wirklich ist.
    Sei mir nicht bös' aber Du hast es hier veröffentlicht und musst damit rechnen, dass Feedback kommt.

    Sorry
    PHProcks! » Tutorials

    Kommentar


    • #3
      AW: CRM Framework bncms

      Zitat von Arne Drews Beitrag anzeigen
      Sorry, aber wenn Du es schon öffentlich verkündest, kannst Du hoffentlich mit Kritik umgehen?!
      Das was Du da als Beispiel-Codes zeigst ist so voller Grundsatzfehler, dass sich nur vermuten lässt, wie groß das Ausmaß an schlechtem Programmierstil im Core wirklich ist.
      Sei mir nicht bös' aber Du hast es hier veröffentlicht und musst damit rechnen, dass Feedback kommt.

      Sorry
      Hallo Arne, auch wenn deine Aussage korrekt ist empfinde ich sie nicht als angebrachte Kritik - in meinen Augen sollte Kritik konstruktiv sein. Was du da gemacht hast ist einfach nur bashing - toll das du ganz offensichtlich weisst wie man es besser macht, dann teile doch dein Wissen.

      Ich finde gut das Thorsten87 hier sein Gedankengut frei zur Verfügung stellt! Das OpenSource zu anfang in einem Projekt fehlerhaft ist oder gar von der Architektur / Konzeption schlecht sind ist nicht gerade ungewöhnlich.

      @Thorsten87
      Nun zu den Punkten die Arne wahrscheinlich in seiner Aussage ansprechen wollte:

      Das ganze System ist wie der Programmierer so schön sagt Spaghetticode. Mittlerweile ist es möglich in PHP objektorientiert zu Programmieren, dies sollte man dann auch tun.
      https://www.php-einfach.de/experte/o...ammierung-oop/

      Wenn du dich erstmal in die Objektorientierung eingearbeitet hast, wäre es eine Überlegung wert die Anwendung komplett neu, in dem Fall dann objektorientiert, zu konzipieren und dann umzusetzen. In deiner aktuellen Anwendung hast du das Problem, dass es einen wilden misch-masch zwischen HTML, JAVASCRIPT, CSS und PHP gibt. Das ist mehr als unschön - noch mag das alles soweit übersichtlich sein, sollte deine Applikation jedoch schnell wachsen, dann ändert sich das ganz schnell. Sowas ließe sich in einem objektorientieren Ansatz sehr schön mit einer Template-Klasse / -Engine erledigen. Ein super Beispiel für so eine Engine ist Twig (http://twig.sensiolabs.org/). Hier kannst du mehr lesen über die Vorteile einer Tempalte Engine: https://de.wikipedia.org/wiki/Template-Engine. Zudem ist die Kommunikation mit der Datenbank in deiner Anwendung, alt und unsicher. Bitte schau dir die PHP PDO Klasse an. (http://php.net/manual/en/book.pdo.php).

      Vielleicht solltest du auch, wenn du die Objektorientierung ein bisschen praktiziert hast, dir ein PHP-Framework aussuchen in der du deine Anwendung entwickelst. Solche Frameworks bieten in der Regel nur Vorteile:

      - Kein legacy Code, stetige Weiterentwicklung.
      - In der Regel sehr sicher.
      - Modularer Aufbau, du kannst dann viele Komponenten von vielen Leuten wiederverwenden.
      - uvm

      Auf deiner Webseite habe ich gesehen das du ein Plugin für Magento entwickelt hast. Magento z.B basiert auf dem Zend-Framework, es gibt aber noch viele weitere. Ein paar populäre habe ich dir hier mal aufgeführt:

      Laravel
      - Nach Meinem empfinden sehr gut für "Framework-Einsteiger" geeignet. Sehr performant

      Silex
      - Der kleine Bruder von Symfony, von der Architektur aber eher vergleichbar mit Laravel

      Symfony
      - Etwas komplexer als die zwei erst genannten

      Codeigniter
      - Kann ich leider wenig zu sagen, habe selber keine Erfahrung damit.
      Zuletzt geändert von ne0n; 11.10.2016, 19:34.

      Kommentar


      • #4
        AW: CRM Framework bncms

        Zitat von ne0n
        Nun zu den Punkten die Arne wahrscheinlich in seiner Aussage ansprechen wollte:
        Nö, nichts davon wollte ich ansprechen. Soweit wäre ich nicht mal gegangen, weil es dem TE wie gesagt offensichtlich an Grundlagen mangelt und das hat wenig bis gar nichts damit zu tun, ob jemand OOP oder Prozedural arbeitet!

        Wenn es Dir selbst nicht auffällt, zeige ich Dir gerne was ich u.a. meine:
        PHP-Code:
        define(RELATIVEPATHAPP,"/");
        define(APPNAME,"bncms"); 
        Was soll das sein? Konstanten-Definition über Konstanten?! Das würde so, wie es dort steht schlicht und ergreifend zu einer Notice führen oder aber wäre sinnfrei, da die beiden verwendeten Konstanten bereits irgendwo deklariert wurden! Es mag exotische Anwendungsfälle geben, aber nach der hier verwendeten Benennungslogik zu urteilen, wäre das einfach Blödsinn.

        PHP-Code:
        <script>RELATIVEPATH = '<?= RELATIVEPATH?>';</script>
        Dass sinnvoller Weise ShortOpen Tags in vielen PHP-Konfigurationen nicht aktiv sind, brauche ich Dir als Profi ja nicht sagen, nehme ich an?!
        Wenn ich ein CMS zur Verfügung stelle, sollte ich Sorge tragen, dass es auf den meisten Konfigurationen läuft.

        PHP-Code:
        <h3>Kontaktformular</h3><br>
        <?php
        require_once("bncms/inc/start.inc.php");
        Stichwort: Kontext
        Ich darf - denke ich - von einem CMS erwarten, dass es zumindest dem EVA-Prinzip folgt?

        PHP-Code:
        $_POST[after
        Ein Klassiker: Fehlende Quotes!
        Scripte, die so funktionieren, basieren auf reiner Glückssache.
        Taucht übrigens häufiger an anderen Stellen auch auf. Vereinzelt ist es korrekt umgesetzt, aber gefühlt zu 90% falsch.

        PHP-Code:
        displayRow('''id''contact',"<input type=hidden name=after 
        value='after_contact'><input type=hidden name=date value='"
        .time()."'>",
        "",$a); 
        Ich nenne das keinen Fehler, aber wenn man sich ein wenig an den HTML-Standard halten möchte, fehlen hier die DoubleQuotes der meisten Attribute!

        PHP-Code:
        $r mysql_query($q); 
        Du willst mir jetzt auch noch erzählen, dass er die mysql_* Bibliothek tatsächlich aktuell noch verwenden sollte, bzw. seinen Code damit noch veröffentlichen sollte?!
        Obwohl Du ja auf PDO hingewiesen hast, das muß ich Dir zugestehen.

        Zitat von ne0n
        Was du da gemacht hast ist einfach nur bashing
        Nein, kein Bashing. Als "Vor Augen führen von Tatsachen" würde ich das bezeichnen. Immerhin denke ich an die User, die das nutzen und an einer Auswahl der Problem-Kollektion scheitern.

        Was ich allerdings noch viel schlimmer finde ist, dass Du scheinbar gar nicht verstanden hast, was ich meinte, aber trotzdem darüber urteilst und dem TE bei seinem offensichtlichen Wissenstand auch noch die von Dir genannten Frameworks ans Herz legst. Wie grotesk ist das bitte?!

        Ich verurteile niemanden aufgrund von Unwissenheit oder Erfahrungsmangel, ich gehöre selber nur zu den Hobby Entwicklern im Bereich PHP, aber wenn so ein Code-Stand öffentlich verteilt wird, bekomme ich Gänsehaut und das liegt nicht am von Dir besagten Spaghetti-Code.

        Wie gesagt, ich kann nur den Code von den auf der Seite gezeigten Ausschnitten beurteilen, aber ich vermute im Core sieht es nicht besser aus...

        Mit OOP oder auch nicht und dem Kenntnisstand des TE grundsätzlich hat das alles nichts zu tun, der Code sollte nur nicht öffentlich verfügbar sein, das ist meine Meinung!

        Zitat von ne0n
        Auf deiner Webseite habe ich gesehen das du ein Plugin für Magento entwickelt hast.
        Na halleluja...
        Zuletzt geändert von Arne Drews; 12.10.2016, 00:02.
        PHProcks! » Tutorials

        Kommentar


        • #5
          Hallo zusammen!

          Freut mich, dass euch mein Skript gefällt!

          Das ganze System ist wie der Programmierer so schön sagt Spaghetticode. Mittlerweile ist es möglich in PHP objektorientiert zu Programmieren, dies sollte man dann auch tun.
          Grundsätzlich bin ich kein Freund von OOP. Ich habe bisher bei bncms darauf verzichtet, weil ich stets dafür bin Dinge so einfach mit möglich zu halten. Das spart Zeit und Geld. Spagetthi Code kann verdammt einfach sein und im Grunde kann es jeder dahergelaufene Anfänger sofort bedienen. Das ist ein Vorteil. Das einzige was mich stört ist, dass man so keine Erweiterungen schreiben kann und das Updaten sehr aufwändig werden kann.

          Leider gibt es wegen diesem Ansatz keine Templates und Erweiterungen. Ich weiss aber ehrlich gesagt nicht was mir wichtiger ist, die Einfachheit oder diese Features.

          Wegen der Dinge wie Quotes und Standarts: Wenn man die Quotes überdall dort weglässt wo sie nicht gebraucht werden und die Seite läuft in den neueren Browsern, wen kümmern irgendwelche Standarts????? Die Seite ist so einfacher lesbar und es spart Platz und zwar nicht wenig, das spart Energie und Ladezeit.

          Wegen der Frameworks: Ich habe das Gefühl viele dieser Frameworks sind viel zu kompliziert. Was ich von einem PHP-Framework erwarte ist, dass ich einige wenige Befehle eingeben kann und es tut dann alles für mich mit Sicherheit und allem. Das ist genau was bncms tut mit CRUD. Versuch das mal mit Laravel, da kannst dich erstmal ein Monat einarbeiten. Wenn man schaut diese PHP-Frameworks sind so extrem ausführlich und kompliziert, dass sie speziell ausgebildetes Personal benötigen. Ich habe schon mit Kunden gesprochen die wollten irgendwie eine Tabelle darstellen und ein Fomular das reinschreibt, sind einem solchen auf den Leim gegangen haben für das einfache CRUD mehrere Tausend bezahlt, klar siehts hammer aus und erweiterbar und alles nur wenn du ein Detail ändern möchtest brauchst wieder so einen Spezialsten und das wird richtig teuer und das alles für eine Aufgabenstellung, die man mit irgend einem Datatables-Skript in einer halben Stunde erledigen kann. zB Jquery Datatables.

          Für was soll das PDO gut sein? Ich verwende seit neuestem mysqli_query...
          Zuletzt geändert von Thorsten87; 05.01.2017, 05:45.

          Kommentar


          • #6
            Zitat von Thorsten87
            Grundsätzlich bin ich kein Freund von OOP. Ich habe bisher bei bncms darauf verzichtet, weil ich stets dafür bin Dinge so einfach mit möglich zu halten. Das spart Zeit und Geld.
            Entschuldige, aber dann hast Du OOP nicht verstanden bzw. gehörst zu denen, die davon ausgehen eine Klasse an sich sei bereits OOP. Gerade in großen/umfangreichen Projekten spart OOP Dir Zeit und Geld!

            EDIT2: Kurz mal, wie Dein Code-Ausschnitt in OOP aussehen könnte:
            PHP-Code:
            // Deine Variante:
            $q "CREATE TABLE IF NOT EXISTS `contact` (
                `id` int(11) unsigned NOT NULL auto_increment,
                `name` varchar(25) NOT NULL default '',
                `email` varchar(50) NOT NULL default '',
                `title` varchar(50) NOT NULL default '',
                `text` text NOT NULL default '',
                `date` int(30) NOT NULL default '0',
              PRIMARY KEY (`id`)
            )"
            ;
            dbQuery($q);


            // mögliche OOP ( ungetestet, aber realistisch umsetzbar )
            $oDB->NewTable'contact' )
                ->
            withColumns(
                        
            "`id` int(11) unsigned NOT NULL auto_increment",
                        
            "`name` varchar(25) NOT NULL default ''",
                        
            "`email` varchar(50) NOT NULL default ''",
                        
            "`title` varchar(50) NOT NULL default ''",
                        
            "`text` text NOT NULL default ''",
                        
            "`date` date NOT NULL default CURRENT_TIMESTAMP"
                    
            )
                ->
            onPrimary'id' )
                ->
            Go(); 

            Zitat von Thorsten87
            Wegen der Dinge wie Quotes und Standarts: Wenn man die Quotes überdall dort weglässt wo sie nicht gebraucht werden und die Seite läuft in den neueren Browsern, wen kümmern irgendwelche Standarts????? Die Seite ist so einfacher lesbar und es spart Platz und zwar nicht wenig, das spart Energie und Ladezeit.
            Grundsätzlich mag man da ein ganz klein wenig zustimmen, aber wenn Du etwas veröffentlichst, musst Du damit rechnen, dass man Dich mit Validität konfrontiert. Du bist als Entwickler nicht nur für die Verarbeitung und Auslieferung des Dokumentes verantwortlich, sondern auch für die Qualität des generierten Quelltextes. Wenn Du einen Kunden hast, der Dich durch irgendeinen Validator jagt, bin ich gespannt, ob Du ihm wirklich mit dem Argument kommst: "Wen interessieren die Standards, es funktioniert doch."
            Ich bin auch nicht wirklich ein Freund der Validatoren und behaupte auch, dass eine 100% valide Website generell Usability-Schwächen hat.
            Aber es gibt einfach auch Meldungen in den Validatoren, die man nicht akzeptieren sollte, deshalb sollten einen die Standards schon etwas interessieren.

            Zitat von Thorsten87
            Für was soll das PDO gut sein? Ich verwende seit neuestem mysqli_query...
            MySQLi ist als Alternative ebenso gut. PDO hat halt aus meiner Sicht ein wenig Vorteile, aber das ist tatsächlich Geschmackssache.
            Wichtig ist, dass Du mysql_* nicht mehr verwendest, denn das ist seit PHP7 bereits entfernt, so dass Deine Scripte auf neuen Server-Konfigurationen nicht mehr laufen würden.


            EDIT: Wo Du das schon gerade wieder hervorgeholt hast, ist mir das noch aufgefallen:
            PHP-Code:
            mail(""$_POST[title], $_POST[text]); 
            Die Tatsache, dass Du User-Eingaben ungefiltert verarbeitest/weitergibst, lässt mich nicht nur vermuten, dass Du auch keine weiteren Anstrengungen in Bezug auf RFCs unternimmst?! Dir ist hoffentlich klar, was das ist?!

            Verwende lieber eine Mailerklasse, wie PHPMailer oder SwiftMailer. Diese beachten zumindest einen Großteil der RFCs.
            Das Problem der ungefilterten Daten bleibt allerdings auch dort.
            Zuletzt geändert von Arne Drews; 05.01.2017, 07:32.
            PHProcks! » Tutorials

            Kommentar


            • #7
              Hi,
              Zitat von Arne Drews Beitrag anzeigen
              Verwende lieber eine Mailerklasse, wie PHPMailer.
              bei diesem Risiko?

              Gruß
              Ingo
              Ingo Webdesign

              Kommentar


              • #8
                Naja, ich bot gleichzeitig noch eine Alternative an:
                Zitat von Arne Drews
                Verwende lieber eine Mailerklasse, wie PHPMailer oder SwiftMailer.
                Du hingegen zitierst nur die Hälfte und reißt das aus dem Konzept. Ich könnte jetzt fragen, ob Du es allen ernstes für besser hältst bei dem Kenntnisstand des TE auf mail() zu setzen?! Dann ist aus meiner Sicht PHPMailer selbst mit der Sicherheitslücke noch sicherer! Zumal man eine aktuelle Version nehmen kann, wo das evtl. schon gefixt ist. Die 5.2.21 gibt es ja nicht erst seit gestern, wenn ich mich nicht irre.

                Aber Du wolltest ja eh nur wieder einen Beitrag von mir kommentieren, wie immer...
                PHProcks! » Tutorials

                Kommentar


                • #9
                  Hi,
                  Zitat von Arne Drews Beitrag anzeigen
                  Du hingegen zitierst nur die Hälfte und reißt das aus dem Konzept.
                  ich bezog mich lediglich auf diese eine Empfehlung, die ich zum jetzigen Zeitpunkt nicht kritiklos stehen lassen wollte.

                  Zitat von Arne Drews Beitrag anzeigen
                  Ich könnte jetzt fragen, ob Du es allen ernstes für besser hältst bei dem Kenntnisstand des TE auf mail() zu setzen?! Dann ist aus meiner Sicht PHPMailer selbst mit der Sicherheitslücke noch sicherer!
                  Solange man das nicht in WP nutzt... Und da Du nur nur fragen könntest, aber wohl nicht wirklich fragst, spare ich mir hier die Grundsatzdiskussion, die dem TE kaum weiterhelfen würde, möchte den TE jedoch auf meinen Tipp zur sicheren nutzung von mail() hinweisen.

                  Gruß
                  Ingo
                  Ingo Webdesign

                  Kommentar


                  • #10
                    Zitat von Ingo
                    Und da Du nur nur fragen könntest, aber wohl nicht wirklich fragst, spare ich mir hier die Grundsatzdiskussion, die dem TE kaum weiterhelfen würde, möchte den TE jedoch auf meinen Tipp zur sicheren nutzung von mail() hinweisen.
                    Au ja, das hilft... Auf Sicherheitslücken von ansonsten durchgetesteten Anwendungen hinweisen und dem TE bei seinem Wissenstand dann Dein von Dir stark überschätztes mail() Tutorial an die Hand geben. Aber ich respektiere das und vor allem Deine Courage, dass Du bei solchen Empfehlungen ein reines Gewissen hast.

                    Zitat von aus dem Super-Tutorial
                    Wird fortgesetzt... das Prinzip für den restlichen Code wird aber z.B. auf
                    https://www.teialehrbuch.de/Kostenlo...it-Anhang.html
                    recht gut erklärt.
                    Dein "sicheres" mail()-Tutorial basiert also auf PHP4.3 Büchern ?! Genial...

                    Du darfst jetzt antworten, was du magst, ich werde es so stehen lassen...

                    Gruß Arne
                    Zuletzt geändert von Arne Drews; 06.01.2017, 05:44.
                    PHProcks! » Tutorials

                    Kommentar


                    • #11
                      Hi,
                      Zitat von Arne Drews Beitrag anzeigen
                      Dein "sicheres" mail()-Tutorial basiert also auf PHP4.3 Büchern ?! Genial...
                      da die Funktion seit 4.2.3 (bzw. 4.3.0 für Windows) nicht mehr geändert wurde, ist das nicht veraltet. Und eine Funktion, die seit über 14 Jahren keines Updates bedarf, kann man - richtig angewendet - durchaus als sicher betrachten.

                      Gruß
                      Ingo
                      Ingo Webdesign

                      Kommentar


                      • #12
                        Ich habe mir auch das Mail()-Tutorial angesehen. Leider muss ich sagen, dass der Code nicht mehr auf dem neuesten Stand ist. Ich kann nur empfehlen von "Frank Roth: Sicherheitslücken in Webanwendungen" zu lesen.

                        Zurück zum CMS: Ich habe mir auch den Code angeschaut. Leider sind an vielen Stellen falsche Denkansätze verwendet worden. Und ja, OOP in PHP macht bei einer bestimmten Größe des Codes das Leben leichter. Mit OOP sparst du dir viel Zeit und es wirkt übersichtlicher. Zwar verwende ich auch mal PHP ohne OOP, aber dann nur einmalige Projekte, wo ich den Code kein zweites mal gebrauche und wenn das Projekt zu klein ist. Mein Vorschlag ist: Schaue doch vergleichbare CMS an; wie sie aufgebaut sind und welche Fragmente ein guter Ansatz für dein CMS ist.
                        PS: Wenn euch mein Post gefallen hat, dann lasst mir ein "Daumen hoch" da!

                        Kommentar


                        • #13
                          Zudem, das ist nicht Spaghetti Code sondern es ist einfach mit Funktionen aufgebaut und nicht mit Objekten. Spaghetti Code ist wenn wenn Codeschnipsel immer wieder verwendet werden anstatt Funktionen daraus zu machen und diese wieder aufzurufen. Das tue ich eigentlich nie. Die Objektortiertierung wird heute vorallem dazu verwendet die Struktur von Code unnötig aufzublähen und zu komplizieren um sicherzustellen, dass die Folgeaufträge an die Core Entwickler gehen und um zu verhindern, dass sich Leute zu schnell und zu einfach einarbeiten können. Zudem dient es schlichtweg der Abzocke wenn für einfache Anwendungen komplizierte Lösungen angestrebt werden, die kosten und verunmöglichen, dass andere Entwickler damit umgehen können. Das ist heute die Standartvorgehensweise von universitär ausgebildeten Programmierern, ist ja klar, dort gehts in erster Linie darum Geld zu machen und Leute auszugrenzen, die Energieeffizienz, Performance, Interessen der Auftraggeber oder Programmierer sind dem untergeordnet.

                          Um das noch kurz zu erklären:

                          Wenn ich etwas tun will sagen wir ich will einen Text ausgehen verwende ich folgenden Code:
                          echo "text";

                          Die OOP "spezialisten" usw würden jetzt dazu eine extra Klasse oder Funktion schreiben:
                          function echotext($text) {
                          echo $text;
                          }
                          echotext($text);

                          Dies für eine Anwendung wo es total unsinnig ist. Wenn jetzt jemand mit dieser Anwendung arbeiten muss und nicht eingearbeitet ist würde er auf lauter solche Funktionsaufrufe stossen, die er nicht versteht. Hingegen bei meinem Ansatz würde er auf einen Haufen PHP Befehle stossen, die er auf Anhieb versteht, da Core PHP. Selbstverständlich wird es durch OOP noch viel aufgeblähter. Das resultiert auch in grösseren Dateien und längeren Ladezeiten. Die Sache ist die selbstverständlich müssen Codeschnipsel, die wiederholt werden in Funktionen verpackt werden, aber das umschreiben von jedem PHP Befehl in seine eigene Namensgebung geht schon ins kriminelle rein.

                          mail("", $_POST[title], $_POST[text]);

                          Die Tatsache, dass Du User-Eingaben ungefiltert verarbeitest/weitergibst, lässt mich nicht nur vermuten, dass Du auch keine weiteren Anstrengungen in Bezug auf RFCs unternimmst?! Dir ist hoffentlich klar, was das ist?!

                          Verwende lieber eine Mailerklasse, wie PHPMailer oder SwiftMailer. Diese beachten zumindest einen Großteil der RFCs.
                          Das Problem der ungefilterten Daten bleibt allerdings auch dort.
                          Also nehmen wir es kurz auseinander: Er spricht ja auf CSS und SQL Injection an. CSS ist an dieser Stelle nicht gegeben wiel der Code nicht ausgegeben wird sondern weiterverarbeitet wird. SQL Injection auch nicht weil ja kein Statement mit den Variablen ausgeführt wird. Nehmen wir an ein Angreifer schreibt php code in die Variable rein würde der auch nicht ausgeführt sondern als Plain Text übergeben. Beispiel echo "test". Würde zu dem führen mail("","echo "test"", $_POST[text]);

                          und höchstens zu einem error führen. SO ist das eigentlich bei den meisten seiner aussagen, das ist einfach nur irgendwie stunk wenn du es runterbrichst kommt raus, dass er eigentlich nicht richtig weiss von was er spricht aber wild um sich wirft mit standarts, versionen, bashing usw. Wahrscheinlich hat er noch nie Code selbst geschrieben sondern ist mehr im Systembereich tätig.


                          Auch die phpMailer diskussion ist im grunde total unsinning und dreht sich um das selbe. Mail verwendet man wenn man kurz eine EMail versenden will, phpMailer verwendet man wenn man aufwändige Applikationen usw erledigen will header manipulieren und Dateien anhängen und so weiter. Generell phpmailer zu verwenden ist total unsinnig und zeugt nur von der unerfahrenheit eines programmierers und wohl noch einem der generell immer den längeren weg einschlägt um abzukassieren.
                          Zuletzt geändert von Thorsten87; 07.01.2017, 22:19.

                          Kommentar


                          • #14
                            Hallo,

                            Zitat von Thorsten87
                            Zudem, das ist nicht Spaghetti Code sondern es ist einfach mit Funktionen aufgebaut und nicht mit Objekten. Spaghetti Code ist wenn wenn Codeschnipsel immer wieder verwendet werden anstatt Funktionen daraus zu machen und diese wieder aufzurufen.
                            Wo hast'n das her? Spaghetti-Code ist per se keine feste Definition. Es wird allgemein genutzt, um unlesbare Code-Gewülste zu umschreiben. Das hat weniger mit genutzen oder ungenutzen Funktionen, als mit einer sauberen Frmatierung und dergleichen zu tun.
                            Schau Dir mal einen Teller gekochter Spaghetti an, dann verstehst Du, was gemeint ist.

                            Zitat von Thorsten87
                            Die Objektortiertierung wird heute vorallem dazu verwendet die Struktur von Code unnötig aufzublähen und zu komplizieren um sicherzustellen, dass die Folgeaufträge an die Core Entwickler gehen und um zu verhindern, dass sich Leute zu schnell und zu einfach einarbeiten können.
                            Du bestätigst damit, dass Du OOP immer noch nicht verstanden hast.

                            Zitat von Thorsten87
                            Zudem dient es schlichtweg der Abzocke wenn für einfache Anwendungen komplizierte Lösungen angestrebt werden, die kosten und verunmöglichen, dass andere Entwickler damit umgehen können.
                            Die damit nicht "umgehen" können sind diejenigen, die OOP ebenfalls nicht verstanden haben. Ausserdem ist das Argument absoluter quatsch, denn fremde Entwickler können sich bei vernünftig strukturierten Objekten schneller und besser zurechtfinden, wie bei hunderten von Funktionen.

                            Zitat von Thorsten87
                            Das ist heute die Standartvorgehensweise von universitär ausgebildeten Programmierern, ist ja klar, dort gehts in erster Linie darum Geld zu machen und Leute auszugrenzen, die Energieeffizienz, Performance, Interessen der Auftraggeber oder Programmierer sind dem untergeordnet.
                            Haben wir jetzt Märchenstunde? OOP ist heute so weit verbreitet, weil es Sinn macht, gerade in größeren Unternehmenspolitiken. Entschuldige, aber das was Du von Dir gibst ist der allergrößte Nonsens!

                            Zitat von Thorsten87
                            Wenn ich etwas tun will sagen wir ich will einen Text ausgehen verwende ich folgenden Code:
                            echo "text";

                            Die OOP "spezialisten" usw würden jetzt dazu eine extra Klasse oder Funktion schreiben:
                            function echotext($text) {
                            echo $text;
                            }
                            echotext($text);
                            Wieder Quatsch! Das würde niemand so machen, der wirklich weiß was er tut und mit OOP hat das mal absolut gar nichts zu tun!
                            Erfahrene Programmierer ( und damit meine ich nicht nur im OOP-Bereich ) kommen selbst in großen Anwendungen mit nur einer Ausgabe ( echo oder print ) aus. Dafür schreibt sich keiner eine Funktion, wie Du es hier darstellst. Wenn Du Leute kennst, die das so machen, wie Du es gepostet hast, solltest Du niemals einen Rat in Sachen Programmierung von denen annehmen.

                            Zitat von Thorsten87
                            Dies für eine Anwendung wo es total unsinnig ist.
                            Endlich kann ich Dir mal in einem Punkt zustimmen...

                            Zitat von Thorsten87
                            Also nehmen wir es kurz auseinander: Er spricht ja auf CSS und SQL Injection an. CSS ist an dieser Stelle nicht gegeben wiel der Code nicht ausgegeben wird sondern weiterverarbeitet wird. SQL Injection auch nicht weil ja kein Statement mit den Variablen ausgeführt wird. Nehmen wir an ein Angreifer schreibt php code in die Variable rein würde der auch nicht ausgeführt sondern als Plain Text übergeben. Beispiel echo "test". Würde zu dem führen mail("","echo "test"", $_POST[text]);

                            und höchstens zu einem error führen. SO ist das eigentlich bei den meisten seiner aussagen, das ist einfach nur irgendwie stunk wenn du es runterbrichst kommt raus, dass er eigentlich nicht richtig weiss von was er spricht aber wild um sich wirft mit standarts, versionen, bashing usw. Wahrscheinlich hat er noch nie Code selbst geschrieben sondern ist mehr im Systembereich tätig.
                            Kannst Du die Stelle bitte nochmal hervorheben, wo ich von CSS- oder SQL-Injection gesprochen habe? Kann es sein, dass Du den Begriff RFC nicht verstanden hast und nicht im Stande warst ( oder keine Lust hattest ), Google zu benutzen?! Da Du mich zitiert hast, muss ich davon ausgehen, dass Du mit "er" mich meinst und ich kann Dir versichern, dass ich sicher schon mehr Code geschrieben habe, wie Du es in den nächsten 10 Jahren noch tun wirst.

                            Ich mache Dir ein Angebot, da Du ja so überzeugt von Dir und Deinem Programmierstil bist: Stell Dein Code doch mal bei php.de vor, dort befindet sich die größte und kompetenteste ( wo ich mich nicht mit meine, auch wenn ich dort Mitglied bin! ) PHP-Community Deutschlands. Da kannst Du Dir ja von Profis und Experten, die wirklich professionelle und Unternehmens kritische Anwendungen auf PHP-Basis entwickeln bestätigen lassen, wie super Deine Umsetzung ist.
                            Wenn Du über die Qualitäten und Kenntnisse anderer so gut urteilen kannst, dürftest Du Dich nicht scheuen, Dich dem zu stellen, ich verspreche Dir sogar, dass ich mich dort komplett aus der Diskussion raushalte!

                            Jetzt kannst Du zeigen, wie überzeugt Du bist, obwohl ich denke, dass doch wieder nur ne Ausrede kommt...

                            Gruß Arne
                            Zuletzt geändert von Arne Drews; 07.01.2017, 22:57.
                            PHProcks! » Tutorials

                            Kommentar


                            • #15

                              Es geht bei bncms darum zu funktionieren und das schnell, einfach, hochwertig und vorallem benutzerfreundlich. Die Zielgruppe ist dabei auch mehr der Auftraggeber und weniger der Programmierer. Es geht nicht darum schön auszusehen oder das Ego eines Programmierers zu befriedigen.

                              Wenn jemand nun für ein Projekt einige Tabellen bearbeitbar machen möchte und mit einem Login absichern, also im Grunde die klassische Backend Anwendung kann er das mit bncms mit einigen Klicks erstellen,
                              - mit relationierter Datenbank-Struktur,
                              - HTML-Typen der Felder,
                              - Felder ein- / ausblenden,
                              - Tabellen / Felder bearbeiten, löschen, duplizieren, hinzufügen,
                              - Benutzermanagement,
                              - Visualisierung von Relationen
                              -
                              und einem Haufen zusätzlicher Funktionen.
                              Dies kann auf jede vorhandene Datenbank Struktur angewendet werden, da die relationierten Daten dargestellt werden und es kann vollständig über ein Webinterface konfiguriert werden und es braucht dazu nicht einmal ftp.

                              Ich denke es wird hier versucht die Diskussion abzulenken vom eigentlichen Produkt und seinen Funktionen.

                              Ich sage nicht OOP sei per se schlecht, es wird nur oft falsch verwendet und absichtlich dazu verwendet Sachverhalte zu komplizieren und Kosten in die Höhe zu treiben. Den Ansatz den ich mit bncms verfolge ist der Umgekehrte, den Code so einfach wie möglich zu halten, damit auch Anfänger sofort ohne Weiteres damit umgehen können (das ist übrigens auch der Ansatz von Wordpress). Das einzige was es im Grunde braucht sind grundlegende Kenntnisse von Core PHP, man braucht theoretisch nicht einmal eine Dokumentation lesen, da sich der Code nunmal von selbst versteht. Wenn das vorhanden ist kann man bereits das CRUD einsetzen, konfigurieren, debuggen und weiterenwicklen und erhält somit eines der mächtigsten Instrumente in der Webentwicklung in die Hand. Das Ziel ist es auch, dass Auftraggeber von CRM und Marketing Leute durch den Adminbereich von bncms ihr CRUD selbstständig aufbauen können ohne den Einsatz von ausgebildeten Programmierern. Und solche Leute werden durch OOP nur vor den Kopf gestossen.

                              http://hu.de1.biz/
                              Administrationsbereich http://hu.de1.biz/bncms/admin Login admin/admin
                              Zuletzt geändert von Thorsten87; 09.01.2017, 02:24.

                              Kommentar

                              homepage-forum.de - Hilfe für Webmaster! Statistiken

                              Einklappen

                              Themen: 56.685   Beiträge: 429.000   Mitglieder: 28.450   Aktive Mitglieder: 115
                              Willkommen an unser neuestes Mitglied, Emmamueller94.

                              Online-Benutzer

                              Einklappen

                              165 Benutzer sind jetzt online. Registrierte Benutzer: 2, Gäste: 163.

                              Mit 3.502 Benutzern waren am 23.01.2020 um 17:20 die meisten Benutzer gleichzeitig online.

                              Die neuesten Themen

                              Einklappen

                              Die neuesten Beiträge

                              Einklappen

                              Lädt...
                              X