CMS in Website einbinden

  • Allgemein

Es gibt 18 Antworten in diesem Thema. Der letzte Beitrag () ist von xd-franky-5.

    CMS in Website einbinden

    Hallo Leute,
    ich habe den Auftrag einer Firma bekommen, die Inhalte der Website zu ändern, wäre soweit kein Problem, aber ich habe mir gedacht ein CMS einzubauen. Ich habe schon mal davon gehört aber weiß nicht wie es funktioniert. Ich denke da so an Joomla, dass ich ein Panel in die Website einbaue mit den Inhalten, die der Benutzer ändern kann. Wie melde ich mich bei Joomla an, woher bekomme ich die Daten für das Panel. Ich glaube die Webspaceanbieter bieten das an, ich habe aber nur den FTP-Zugang. Wäre es eventuell praktischer selbst ein CMS zu schreiben ? Also mit PHP die Inhalte laden und dann eine Seite einbauen um die Einträge zu verwalten (Datenbank hab ich schon gemacht und mit PHP kenn' ich mich aus).

    wäre super wenn mir wer Tipps geben könnte :)

    mfG Frank

    xd-franky-5 schrieb:

    ich habe den Auftrag einer Firma bekommen
    Setzt im Normalfall auch Kenntnisse der Umsetzung des Projektes voraus.

    xd-franky-5 schrieb:

    aber ich habe mir gedacht ein CMS einzubauen
    Ist das Teil des Auftrages? Wenn ja, dann OK. Falls das aber nicht der Fall ist: Mach nur das, was dir aufgetragen wurde. Sonst machst du dir Arbeit, für die du nicht bezahlt wirst. Mal angenommen, dein Auftraggeber sagt: "Ändere mir doch bitte den und den Eintrag auf meiner Page" und du machst das, baust Ihm aber auch noch ein CMS ein. 1.) Zahlt dich der nur für das Ändern des Eintrags/der Einträge, 2.) Vielleicht wollte er ja kein CMS drinnen haben und 3.)Wenn du die Aufgabe gut machst, kannst du ihm vielleicht das CMS-Ding als neuen Auftrag unterbreiten und wieder bezahlt werden.

    xd-franky-5 schrieb:

    aber weiß nicht wie es funktioniert
    Das ist schlecht. Ich persönlich würde mich nie auf einen Auftag einlassen, für welchen ich nicht einmal die Grundlagen kenne.

    xd-franky-5 schrieb:

    Wie melde ich mich bei Joomla an, woher bekomme ich die Daten für das Panel.
    Anmeldung geht bei Joomla normalerweise so: Du packst das Joomla-Grundgerüst auf den Webspace und rufst die Joomla Hauptseite auf. Dort meldest du dich mit den Anmeldeinformationen dann an. joomlaportal.de/joomla-2-5-ers…anmeldung-bei-joomla.html

    xd-franky-5 schrieb:

    ich habe aber nur den FTP-Zugang.
    Na passt doch :D Einfach das Joomla-Kit auf den server kopieren. (Fast) Fertig.

    xd-franky-5 schrieb:

    selbst ein CMS zu schreiben
    Wenn du so viel Zeit und Budget hast, kannst du das gerne versuchen ;D

    Lg Radinator
    In general (across programming languages), a pointer is a number that represents a physical location in memory. A nullpointer is (almost always) one that points to 0, and is widely recognized as "not pointing to anything". Since systems have different amounts of supported memory, it doesn't always take the same number of bytes to hold that number, so we call a "native size integer" one that can hold a pointer on any particular system. - Sam Harwell
    @Radinator
    Der Auftrag war Einträge zu ändern, dann habe ich direkt CMS vorgeschlagen, was nun der neue Auftrag ist. Ich meine ich kenne mich ja generell in Websiteprogrammierung aus, nur eben nicht in CMS und ich habe genug Zeit mich da einzulesen. Okay danke für deine Hilfe, was denkst du wäre praktischer/sicherer/einfacher/schöner...?

    mfG Frank
    praktischer: kein CMS (Falls es nicht anders geht: ein bestehendes System)
    sicherer: kein CMS (Falls es nicht anders geht: ein bestehendes System)
    einfacher: kein CMS (Falls es nicht anders geht: ein bestehendes System)
    schöner: -
    Servus,

    aber ich habe mir gedacht ein CMS einzubauen


    Was du dir denkst ist ja irrelevant. Relevant sind alle Aufgaben und Arbeiten, die mit dem Kunden besprochen wurden und für die du beauftragt worden bist. Du hast demnach ein unterschriebenes Angebot und -im Optimalfall- ein Lasten-/Pflichtenheft vorliegen. Mach das mal auf und schau rein was da steht. Gefunden? Super, und jetzt machst du einfach das, was dort drin steht. So einfach kann es sein :)

    Wenn da steht dass ein CMS angebunden werden soll -was im Rahmen eines geringen Umfangs von Content nur bedingt Sinn macht-, würde ich das komplett neu aufsetzen und die Inhalte dann via C&P einpflegen. Ansonsten lass dich jeweils separat damit beauftragen, Content-Änderungen durchzuführen oder schnüre dem Kunden ein monatliches oder jährliches Arbeitsstunden-Kontingent für das du Zeit aufwendest (was je nach gewünschter Aktualität der Inhalte bedarfsgerecht angepasst wird).

    Wäre es eventuell praktischer selbst ein CMS zu schreiben ?

    Das nenn' ich doch mal ne super Idee. Und ist auch finanziell attraktiv. Das Angebot das du dafür schreibst zeigst du uns aber dann bitte, ich denke das könnte ... aufschlussreich werden. Je nachdem wie gut du dich mit diversen PHP Frameworks (Symfony, Zend, Laravel, CakePHP, ...) auskennst, wird es natürlich ein Stück einfacher. Wenn du dich da erst einlesen muss, solltest du dir das bezahlen lassen (weil der zeitliche Aufwand sich in ein PHP Framework einzuarbeiten insgesamt geringer ist, als ein CMS "from Scratch" zu schreiben - soll sich ja lohnen für deinen Kunden). Dein Angebot sollte dann ungefähr ab 15.000€ aufwärts (du willst ja vermutlich für einen geringen Stundenlohn arbeiten) beginnen, je nach Funktionsumfang wahrscheinlich erheblich mehr.
    Ironie beiseite - was redest du da nur?^^

    Wie melde ich mich bei Joomla an

    Offenbar weißt du nicht, was Joomla ist. Dann lass es lieber.

    Ich glaube die Webspaceanbieter bieten das an, ich habe aber nur den FTP-Zugang

    Wenn du FTP hast, ist es doch egal was dein Hostingprovider an fertigen Softwarepaketen anbieten 8|

    Ich glaub du hast keinerlei Ahnung was du da tust und auch keine Ahnung was du willst oder was dein Kunde will. Deswegen denke ich solltest du erst mal die Kundenanforderungen und -Wünsche aufnehmen, damit du nicht so ziellos in der Luft hängst.

    Link :thumbup:
    Hello World

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Link“ ()

    Ich habe mich, dank eurer Hilfe, noch ein mal richtig in Joomla einlesen können, also ich muss anscheinend Joomla auf den Server hochladen und dabei muss die bestehende Seite in ein Template umgeändert werden, oder ein neues Template verwendet werden. Das ist eigentlich nicht im Sinne des Auftraggebers, er möchte nur, dass er die Beiträge selbstständig bearbeiten kann und nicht dass die gesamte Website anders aussieht. Ich habe meinen IT Lehrer mal gefragt (er ist mit dem Auftraggeber befreundet) und er meinte Joomla wäre zwar eleganter, aber ich soll es dann anders machen. Ich mache dann quasi eine Art eigenes CMS. Die Beiträge werden automatisch über eine Datenbank eingefügt und es gibt eine Seite die über PHP Beiträge in die Datenbank einfügt/löscht/bearbeitet. Gäbe es da eine bessere Lösung?

    mfG Frank
    Servus,

    Lösungen gäbe es viele. Aber wenn es wie du sagst "einfach" sein soll, würde mir Joomla bestimmt nicht als erste oder beste Lösung einfallen. Dann eher noch Wordpress.
    Wenn du es selber schreiben magst und es nur um das Abspeichern von Inhalten in eine Datenbank gehen soll, binde dir als Editor "TinyMCE" ein.
    Das selber zu machen birgt aber auch wieder viele Sicherheitsrisiken, wenn du unsicheres HTML ausgibst oder fehleranfällige Einträge in die Datenbank überführst. Da darfst du nicht schludrig sein.
    Erarbeite mal ein Konzept wie und in welcher Weise du das technisch umsetzen willst und stelle uns deinen Plan dann vor. Dann schauen wir ob man was verbessern kann.


    Link :thumbup:
    Hello World
    Also mein Lehrer meinte auch, da ich das Design nicht ändern soll, kann ich das mit Joomla nicht machen, ansonsten müsste ich ein Template verwenden. Mein Plan wäre nun beim Befüllen der Tabellen, wo die Inhalte auf der Website angezeigt werden, ein PHP Skript einzubinden, welches sich mit einer MySQL Datenbank verbindet und dort die notwendigen Daten ausliest und ausgibt. Mein Code hierfür wäre:
    Spoiler anzeigen

    PHP-Quellcode

    1. <?php
    2. $con = mysqli_connect("...");
    3. mysqli_set_charset($con, 'utf8');
    4. $res = mysqli_query($con, "SELECT * FROM oelheizung");
    5. while($row = mysqli_fetch_object($res)) {
    6. $title = $row->title;
    7. $desc = $row->desc;
    8. $img = $row->img;
    9. $imgthumb = $row->imgthumb;
    10. echo "
    11. <tr>
    12. <td>
    13. <a href='$img' class='highslide' onclick='return hs.expand(this)'
    14. title='$title' style='float:left;'><img src='$imgthumb.jpg' alt=''
    15. border='0' style='width: 120px;' /></a></td>
    16. <td align='left' valign='top'><img src='images/spacer.gif' alt='' width='10' height='1' /></td>
    17. <td align='left' valign='top'><img src='images/spacer.gif' alt='' width='1' height='5' /><br /><span class='headline1'>$title</span><br /><img src='images/spacer.gif' alt='' width='1' height='5' /><br />
    18. $desc
    19. </td>
    20. </tr>
    21. <tr>
    22. <td colspan='3' align='left'><img src='images/spacer.gif' alt='' width='1' height='10' /></td>
    23. </tr>
    24. ";
    25. }
    26. ?>



    (Wie die Ausgabe aussehen muss, habe ich anhand der vorhandenen Beiträgen abgelesen)

    Problem ist: Ich hab' vorhin herausgefunden, dass ich meine Datenbank dort nicht verwenden kann, da sie keinen externen Zugriff erlaubt. Also muss ich nun erst anfragen ob ich die Daten zum CPanel bekomme um eine MySQL Datenbank zu erstellen, auf die ich zugreifen kann.

    Wenn das geht, mach ich noch eine extra Seite auf den Server, bei dem man sich mittels Passwort einloggt und dann in einer Tabelle Einträge hinzufügen/entfernen/bearbeiten kann, auch mit PHP.

    mfG Frank
    Ich hab jetzt nicht alles verstanden was du da geschrieben hast. Der Code den du gepostet hast is aber schonmal unsicher, weil die Daten ohne jegliche Validierung ausgegeben werden.
    Wenn die Datenbank extern nicht verbunden werden kann (und ich hab's so verstanden dass die Datenbank bei dir liegt) dann musst du die Datenbank bei dir auf deinem System für extern freigeben. Also Datenbank-Benutzer bearbeiten und bei zugelassene Hosts einfach extern erlauben ("%").

    Link :thumbup:
    Hello World
    Oh ich habe das prinzip überall so angewendet, wie valediere ich die daten denn ? Nein die Datenbank liegt auf einem hostinger.de server und dort kann ich den externen zugriff nicht erlauben. Ich muss noch mal mit dem Auftraggeber sprechen damit ich eine Datenbank auf deren Server erstellen kann.

    auf Rückfrage mit meinem Lehrer meinte er man kann auch eine Datenbank über ftp erstellen. Ich habe gegooglet und habe SQLite gefunden, also werde ich nun mit SQLite arbeiten. Bisher habe ich eben mit mysqli gearbeitet. gibts da große Unterschiede?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „xd-franky-5“ ()

    Heyho,
    verfolge das Thema ein wenig und bin schrecklichst erstaunt in was man sich verwickeln kann.
    Sieht so aus als wären bei dir sogar die Basics an sich nicht vorhanden.
    Das Escapen / Validieren der Daten lernt man ja schon am Anfang der Datenbankprogrammierung.
    Ich will dich nicht angreifen aber warum nimmt man einen Auftrag an den man nicht beenden kann
    weil das wissen fehlt ?

    In deinem obigem Code könnte jemand vorher bösen HTML Code / Javascript Code speichern und dieser
    würde dann komplett ohne wenn und aber angezeigt werden. (Das kann gut schaden anrichten bzw kann dazu benutzt werden)
    Deshalb muss du validieren ob das was ausgegeben wird auch das ist was ausgegeben werden soll.

    Das gleiche gilt natürlich auch beim Eintragen der Daten in die Datenbank.
    Dort musst du auch prüfen ob nur das reinkommt was dort auch reinkommen soll.
    Beispiel: Es soll eine Nummer (Integer) gespeichert werden. Wenn du das nicht prüfst
    könnte der Nutzer einfach String speichern was wiederum nicht gewollt ist.
    Gibt vieles was man da beachten sollte.
    Grüße , xChRoNiKx

    Nützliche Links:
    Visual Studio Empfohlene Einstellungen | Try-Catch heißes Eisen
    Ich habe mich hier Mal eingelesen, auch wenn ich mit dem Thema nix zu tun habe, aber ich habe genau eine Frage:
    Ist das ein Auftrag von einem Kunden am die Firma wo du arbeitest, oder ist das so ein nachbarschaftsding?

    Denn so wie ich das verstehe ist die Situation gleichzusetzen mit :
    Ich bin CNC Drehfräser und eine Kunde fragt mich ob ich ihm seine Garage baue, da kann man doch nicht einfach Fach sagen, jo passt schon, da lese ich mich ein.
    Servus,

    an der Stelle sollte man dann auch differenzieren:

    - SQL-Injection verhindern
    Um zu vermeiden, dass Schadcode in eine Datenbank eingeschleust werden kann, muss der String zuvor escaped werden. Dabei werden spezielle, datenbankkritische Zeichen umgewandelt, indem ein Backslash vorangestellt wird.
    * Für mysql_*-Funktionen: php.net/manual/de/function.mysql-real-escape-string.php
    * Für MySqli: php.net/manual/de/mysqli.real-escape-string.php
    * Für PDO: php.net/manual/de/pdo.quote.php oder Prepared Statements php.net/manual/de/pdo.prepare.php

    - XSS Attacken verhindern
    XSS (CrossSiteScripting) bedeutet, dass Benutzereingaben ohne Maskierung spezieller Zeichen auf einer Webseite ausgegeben werden. Einfaches Beispiel: ein HTML-Formular mit Textfeld, nach dem Submit wird mit PHP ein echo $_POST['benutzereingabe']; ausgeführt - und schon ist die Scheiße am kochen. Mit den Funktionen htmlspecialchars() und htmlentities() können diese Zeichen maskiert werden (aus < wird &lt;).

    - Validierung
    Wenn wir pingelig sind, bezeichnet die "Validierung" der Daten genau genommen nur, dass Daten für ein spezielles Format auf Gültigkeit geprüft werden. Sodass beispielsweise eine Postleitzahl ein numerischer, 5-stelliger Wert ist (Regex: ^[0-9]{5}) oder dass in einem Namen keine Buchstaben vorkommen. Was jeweils "valide" ist, ist natürlich subjektiv und ggf. von Anwendung zu Anwendung unterschiedlich.

    - Differenzierung
    Ich hab gemerkt, dass das Vorbeugen von XSS- und SQL-Injection-Attacken häufig verwechselt wird - sogar von Leuten, die es eigentlich besser wissen müssten. Ein String muss nicht vor einer Datenbankeintragung mit htmlspecialchars() maskiert werden - HTML oder Javascript-Code ist für eine Datenbank schließlich nicht gefährlich. Das also bitte auseinander halten. Wenn man es ganz blöd anstellt, kriegt man am Ende noch Probleme mit den Strings, sodass sie sich mit jedem neuen UPDATE weiter und weiter verfälschen, auch ohne dass überhaupt was daran geändert wurde.

    Link :thumbup:
    Hello World
    Ich weiß was escapen ist und wie es funktioniert, ich wende es auch an, nur in meinem Code Beispiel ist das meiner Ansicht nach nicht nötig weil der User keine Daten eingibt. Danke für die Erklärung was Validierung angeht nur wie gesagt findet das hier glaube ich keinen Platz. Zum Thema warum ich einen auftrag annehme von dem ich kein Wissen habe: das Ding ist als Schulprojekt gedacht und ich habe auch nich genügend Zeit mich dort einzulesen, wobei ich bereits Grundkenntnisse besitze.tut mir leid aber ich denke sie haben den Thread nicht verfolgt.

    danke an Link an der Stelle :D
    Hi,

    gern. Jedoch:

    ich habe den Auftrag einer Firma bekommen [...]

    das Ding ist als Schulprojekt gedacht [...]


    Der hier ist auch gut:
    wie valediere ich die daten denn?

    Ich weiß was escapen ist und wie es funktioniert


    Und zu guter letzt:
    und ich habe genug Zeit mich da einzulesen

    und ich habe auch nich genügend Zeit mich dort einzulesen




    However, ich empfehl' dir, durchweg sauber zu programmieren. Wenn du es nicht machst wenn du nicht musst, machst du es auch nicht wenn keiner zuschaut, ich kenn' solche wie dich ;) Gewöhn's dir gleich richtig an.


    Link :thumbup:
    Hello World

    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „Link“ ()

    Okay der ist gut :D Also es ist beides Auftrag und Schulprojekt. Und ja ich weiß was Escapen ist etc. aber von validieren hab' ich noch Nichts gehört, tut mir leid. Und ja ich dachte ich habe wenig Zeit, aber habe Gestern erst mitbekommen dass das Projekt bis Ende Juni geht. Danke für die Memes. Ich versuche ja sauber zu Programmieren, also ich beschäftige mich privat mit vb.net (siehe Signatur), in der Schule lernen wir C++ und HTML, CSS. Und PHP hat große Ähnlichkeit mit C++ meiner Meinung nach und ich habe auch schon ein paar Webseiten(z.b. die hier) erstellt, wo ich php verwendet habe samt SQL, validieren... Ich versuche aber noch dazuzulernen.

    mfG Frank
    wenn du dich mit PHP, html und css soweit auskennst, kannst du es auch mit CakePHP machen. Falls du es dir mal kurz anschauen möchtest und eventuelle fragen hast, schaue auf dem Teamspeak(IP per PM) vorbei.
    Hab gerade Langeweile

    MFG
    Whitetiiger