tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
9
ZUGRIFFE
322
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Ich_halt224 Ich_halt224 ist offline Mitglied Gold
    Registriert seit
    Nov 2005
    Beiträge
    232
    Hallo,

    ich suche ein Tutorial, wie ich auf meiner Homepage Links nicht mehr direkt auf irgendwelche Seiten sondern mit diesem index.php?section=links (unclude heisst das, glaube ich) zu verlinken.

    Leider habe ich hier auf der einen Seite schon drei unterschiedliche Tutorials dazu gefunden, wo jeder meint, er habe es besser und sicherer als der Vorgänger gemacht. Ich als Newbie was PHP angeht bin dadurch total verwirrt und weiß überhaupt nicht, welches Tutorial da am nützlichsten ist.

    Es wäre klasse, wenn mir ein etwas erfahrener User (erfahren in PHP) mal einen Link geben könnte zu einem Tutorial, welches er für sinnvoll und gut hält.

    Eine kleine Frage noch: Wenn ich das in meiner Homepage einbaue, funktionieren die Links der Homepage auf meinem Computer (also offline) dann nicht mehr? Denn da brauche ich doch einen Server zu, der PHP unterstüzt, was im Offline-Modus nicht geht, oder?

    Vielen Dank und liebe Grüße
     

  2. #2
    Avatar von maeTimmae
    maeTimmae maeTimmae ist offline Mitglied Platin
    Registriert seit
    Aug 2007
    Ort
    Erfurt, Saarbrücken, Leipzig und Fulda
    Beiträge
    515
    Ein bestes Tutorial zu diesem Thema gibt es nicht wirklich - Angefangen habe ich mit der Einführung in PHP auf php-q.net, welches ich auch (bis auf viele ineffiziente Beispiele, das Vermischen von Eingabe, Verarbeitung und Ausgabe, etc) jedem Anfänger ans Herz legen würde. Am besten wäre es, wenn du dir alle vorherigen Kapitel auch nochmal anschaust.

    Wichtig ist prinzipiell nur, dass du keine Eingaben unkontrolliert übernehmen solltest:
    PHP-Code:
    include BASE_PATH $_GET['section']; 
    ist zB nicht sicher, da via ?section=../bla leicht auf übergeordnete Verzeichnisstrukturen zugegriffen werden kann.
    Prinzipiell ist es egal, wie, aber lass keine nicht gewollten Ausdrücke durch!
    PHP-Code:
    switch ( isset( $_GET['section'] ) ? $_GET['section'] : null ) {
        default:
            include 
    BASE_BATH "main.php";
            break;

        case 
    "modul1":
            include 
    BASE_BATH "modul1.php";
            break;

        case 
    "modul2":
            include 
    BASE_BATH "modul2.php";
            break;

        
    // ...

    Wäre ein Beispiel, welches an sich schon total sicher ist von der Art der Einbindung. Nur du kannst festlegen, was wohin geht. Essenziell ist wohl auch das Angeben absoluter Pfade. Angenommen du rufst eine PHP aus dem HttpDocuments-Root auf, so ist der angenommene Basispfad der zu diesem Verzeichnis (gilt dann auch für Dateien, die aus anderen Verzeichnissen importiert werden). Ruft jemand jedoch nun eine Datei in einem anderen Verzeichnis auf, so stimmen die relativen Pfade nicht mehr mit ihren absoluten Zielen überein.

    Zu deiner zweiten Frage empfehle ich dir als Einsteiger eine Windows-Apache-PHP-MySQL-Umgebung, wie zum Beispiel XAMPP. XAMPP kannst du dir mit einem Installer herunterladen, der dir fast komplett automatisiert einen eigenen Apache-Server mit PHP- und MySQL-Schnittstelle bereitstellt. Diesen kannst du lokal verwenden und bist nicht an einen entfernten Server gebunden. Ob die Links dann und wann wie funktionieren, hängt vor allem ab, wie du verlinkst. Persönlich bevorzuge ich absolute URLs ohne Host-Angaben, denn mit ist man recht unflexibel, was den Hostwechsel angeht. Relative Verweise hingegen sind vor allem beim Verlinken verteilter Inhaltsverzeichnisse ungünstig, sollten aber für den Anfang gut geeignet sein um die Materie zu verstehen.
     

  3. #3
    Avatar von Loomis
    Loomis Loomis ist offline Mitglied Bunt
    Registriert seit
    Jul 2002
    Ort
    Aschaffenburg
    Beiträge
    1.538
    Also ich finde das hier recht gut.
    Dort ganz unten sind noch 3 Links die du dir auch durchlesen solltest.

    Mal sehen was die anderen noch sagen
     
    mfg
    --------------------------------------------------------------------------------
    Kein Support via PN, Email, ICQ, Brieftaube oder Flaschenpost!

    Besucht den tutorials.de-Chat | Anleitung
    RTFM - PHP-Handbuch - MySql Handbuch
    --------------------------------------------------------------------------------
    Surftipp...Der Postillon
    --------------------------------------------------------------------------------
    Signatur v2.2

  4. #4
    KD3 KD3 ist offline
    Registriert seit
    Apr 2007
    Beiträge
    453
    http://www.drweb.de/php/sichere-includes.shtml

    Eigentlich sind Includes, die von der GET-Abfrage geschickt wurden, sehr unsicher, aber dennoch, auch das Beispiel bei drweb ist voll unsicher.

    PHP-Code:
    if (isset($_GET['topic']) && in_array($_GET['topic'], $inc_array) ) {

    // ACHTUNG, REGISTER GLOBALS MUSS AUCH IN DIESER SICHEREN FORM AUF OFF SEIN!
    $topic "";
    switch(
    $_GET['topic']) {
    case 
    'index' $topic 'index'; break;
    case 
    'news' $topic 'index'; break;
    case 
    'gudw' $topic 'gottunddiewelt'; break;
    default: 
    $topic 'index';
    }
    include(
    "./includes/".$topic.".inc.php");
    } else {
    include(
    "./includes/index.inc.php");

    Dieses Snippet ist schon sicherer, aber optimal wäre, wenn du für jede Aktion eine Datei machen willst und in den Dateien sind die unterfunktionen, so könntest du schnell die Orierentierung verlieren.

    Zu deiner frage:

    Natürlich könnte keiner auf deine Seite wenn du offline bist, da dein Server angepingt wird (normal port : 80) und dein Server, Daten zurückliefert (interpretierte). Wenn du allerdings einen Root oder V-Server hast oder meinetwegen auch einen Webhost Paket etc. dann ist es immer online außer natürlich es folgen Wartungsarbeiten die vom Provider durchgeführt werden oder so

    MfG
    KD3
     

  5. #5
    Avatar von Loomis
    Loomis Loomis ist offline Mitglied Bunt
    Registriert seit
    Jul 2002
    Ort
    Aschaffenburg
    Beiträge
    1.538
    Hm ich sehe grad das von mir gepostete Tutorial sieht dem von tut.php-quake.net verdammt ähnlich
     
    mfg
    --------------------------------------------------------------------------------
    Kein Support via PN, Email, ICQ, Brieftaube oder Flaschenpost!

    Besucht den tutorials.de-Chat | Anleitung
    RTFM - PHP-Handbuch - MySql Handbuch
    --------------------------------------------------------------------------------
    Surftipp...Der Postillon
    --------------------------------------------------------------------------------
    Signatur v2.2

  6. #6
    Avatar von zerix
    zerix zerix ist offline Hausmeister
    tutorials.de Moderator
    Registriert seit
    May 2005
    Beiträge
    4.335
    Ich war mal so frei und hab den Titel des Threads etwas aussagekräftiger gestaltet.
    Ich möchte dich bitte, das nächstes mal auch drauf zu achten.

    MFG

    Sascha
     
    Es ist schwer Allwissend zu sein. Aber ich komme damit klar. ;-)

  7. #7
    Ich_halt224 Ich_halt224 ist offline Mitglied Gold
    Registriert seit
    Nov 2005
    Beiträge
    232
    Oh mein Gott, ich verstehe nur Bahnhof

    Wer baut mir das und wieviel kostet das? xD
     

  8. #8
    Ich_halt224 Ich_halt224 ist offline Mitglied Gold
    Registriert seit
    Nov 2005
    Beiträge
    232
    Zitat Zitat von Sascha Schirra Beitrag anzeigen
    Ich war mal so frei und hab den Titel des Threads etwas aussagekräftiger gestaltet.
    Ich möchte dich bitte, das nächstes mal auch drauf zu achten.

    MFG

    Sascha
    Hi Sascha,

    ok, vielen Dank, werde in Zukunft drauf achten!
     

  9. #9
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Die vielen unterschiedlichen Tutorials und Meinungen zu ein und demselben Thema sind tatsächlich ein Problem. Deswegen habe ich auch bereits vorgeschlagen, diese in einem Wiki zusammenzufassen. Bisher ist es aber nur bei einem Vorschlag geblieben.


    Was deine eigentlich Frage angeht: Es gibt wie du selbst siehst unterschiedliche Ansätze. Aber alle sollten eins gemeinsam haben: die Eingabewerte dürfen nicht ungeprüft verarbeitet werden!
    Einige setzen dabei auf eine feste Positivliste (ob als Array, switch- oder if-elseif-Struktur), andere nutzen direkt das Dateisystem Vorgabe. In keine Fall sollte jedoch die Eingabe ungeprüft weiterverwendet werden, da dadurch ernste Sicherheitsrisiken bestehen.
     
    Markus Wulftange

  10. #10
    Ich_halt224 Ich_halt224 ist offline Mitglied Gold
    Registriert seit
    Nov 2005
    Beiträge
    232
    Vielen Dank für eure Hilfe und Tips!

    Leider bin ich im Bereich PHP ein Newbie, und es lohnt sich ehrlich gesagt für mich auch nicht, PHP zu lernen, da ich es nur sehr selten benötige.

    Wenn es hier also jemanden gibt, der das kann, bißchen Geld verdienen will und Zeit hat, mir sowas zu erstellen (Homepage ist schon vorhanden, möchte nur, dass die Addy der Links nicht direkt angezeigt wird und sollte nicht das unsicherste System sein), dann würde ich mich über eine PN mit Vergütungsvorstellung freuen!

    Vielen Dank noch einmal für die vielen Antworten!
     

Ähnliche Themen

  1. Antworten: 3
    Letzter Beitrag: 19.06.10, 12:42
  2. Antworten: 7
    Letzter Beitrag: 13.01.06, 14:50
  3. Navigation index.php?section=links
    Von kalle01 im Forum PHP
    Antworten: 4
    Letzter Beitrag: 01.05.05, 18:39