Menu

Probleme mit der Einrichtung

Anonymous
2002-12-16
2002-12-18
  • Anonymous

    Anonymous - 2002-12-16

    Hallo!

    Ich habe folgendes Problem. Ich habe die zip-Dazei entpackt, auf den Server gespielt und wenn ich dann die admin-Seite aufrufen, kommen auch die Felder zum eintragen.

    Ich kann eintragen was ich will, er legt mir keine Datei an, bzw. ndert auch keine bestehende, wenn ich die orig einmal nehme.

    Habe schon die Rechte auf 777 gendert, aber das hat auch nicht geholfen.

    Wer kann mir da helfen?

    Gru
    Axel

     
    • Andreas Kansok

      Andreas Kansok - 2002-12-16

      register_globals = ON oder OFF? Ich frchte mal OFF.

      Wenn OFF, dann
      - in header.inc.php und login.php einfgen:
      extract($HTTP_POST_VARS);
      extract($HTTP_GET_VARS);

      - in admin/header.inc.php zustzlich zu den ersten beiden: extract($HTTP_POST_FILES);

      - in start.php gengt:
      extract($HTTP_GET_VARS);

      In zuknftigen PHP-Versionen werden die Superglobals anders heien:
      $_POST, $_GET und $_FILES
      Eigenen Tests zufolge funktionieren aber in 4.2.3 beide.

      Gru,
      Andreas.

      PS: Falls Du Zugriff auf die php.ini hast, kannst Du natrlich auch die Option auf ON stellen ;-)

       
    • Andreas Kansok

      Andreas Kansok - 2002-12-16

      Kleiner Nachtrag:
      Fge mal in header.inc.php und start.php noch
      extract($HTTP_SERVER_VARS);
      hinzu (zuknftig $_SERVER).

      SoK

       
    • Anonymous

      Anonymous - 2002-12-16

      Hallo Andreas!

      Danke fr Deine Hilfe, leider habe ich nicht alles ganz verstanden.

      An welche Stelle fge ich die Zeilen in die Dateien ein, oder ist das egal?

      Wo sehe ich ob die register_globals ON oder OFF sind?

      Version von php ist 4.2.3

       
    • Andreas Kansok

      Andreas Kansok - 2002-12-16

      Die Zeile am besten gleich nach dem <?php bzw. <? einfgen.

      Im admin-Verzeichnis sollte es eine Date geben, die phpinfo.php heit. Ruf die mal auf, da findest Du alle PHPeinstellungen und auch register_globals.

       
    • Anonymous

      Anonymous - 2002-12-16

      Die register_globals stehen auf OFF, dass stimmt.

      Ich habe nun die Zeilen eingefgt, aber der gleiche Effekt. Wenn ich was eingebe und den Button drcke, wird nur die Seite wieder neu geladen, aber nichts wird erstellt, oder gendert.

      Ich kann die doch so direkt eintragen, oder mssen die in ECHO eingebunden werden?

      Gru
      Axel

       
      • Andreas Kansok

        Andreas Kansok - 2002-12-16

        Ja, kannst Du. Erstell aber beide Dateien config_db.inc.php; einmal im admin-Verzeichnis und einmal im Shop.

         
    • Anonymous

      Anonymous - 2002-12-16

      Dann klappt auch nichts mehr...

      Jetzt habe ich zwar die Felder ausgefllt, aber ich bekomme beim admin-Aufruf nur Fehlermeldungen:

      Warning: Access denied for user: 'heiter@localhost' (Using password: YES) in /home/heiter/www/phpayv2/admin/db_func.inc.php on line 11

      Warning: MySQL Connection Failed: Access denied for user: 'axel@localhost' (Using password: YES) in /home/phpayv2/admin/db_func.inc.php on line 11
      No Database Selected
      Warning: Failed opening 'lang/.inc.php' for inclusion (include_path='.:/usr/local/lib/php') in /home/phpayv2/admin/lang.inc.php on line 11
      No Database Selected No Database Selected

      Darunter stehen dann die Parameter:
      $version = 2.0;
      $db_type = mysql;
      $db_host = localhost;
      $db_user = *****;
      $db_pass = *****;
      $db_name = bookshop;
      $order_mail = order@phpay.de;
      $shop_mail = shop@phpay.de;
      $mailcheck = 1;

      Kannst Du damit was anfangen?

       
      • Andreas Kansok

        Andreas Kansok - 2002-12-16

        Offenbar stimmen Deine Zugangsdaten noch nicht (mal abgesehen davon, da Du es mit zwei verschiedenen versuchst ;-) - einmal Benutzername axel, einmal heiter.

        Wie gesagt: Es gibt eine Datei config_db.inc.php im admin-Verz. und eine im Shopverzeichnis.

         
    • Anonymous

      Anonymous - 2002-12-16

      Die Daten habe ich schon alle versucht, das waren die Auszge aus verschiedenen versuchen.

      Ich bekomme nun:
      Table 'bookshop.language' doesn't exist
      Warning: Failed opening 'lang/.inc.php' for inclusion (include_path='.:/usr/local/lib/php') in /home/phpayv2/admin/lang.inc.php on line 11
      Table 'bookshop.language' doesn't exist Table 'bookshop.currency' doesn't exist

      Aber die Tabellen wollte ich doch vom admin erzeugen lassen. Die Datenbank ist momentan leer. Oder geht das nicht?

       
      • Andreas Kansok

        Andreas Kansok - 2002-12-16

        Naja, wenn die Datei admin/apply.php nicht richtig ausgefhrt wird, dann werden auch die Tabellen nicht angelegt. Da wirst Du wohl zu phpMyAdmin greifen mssen und die SQL-Datei (entweder im Paket oder  https://sourceforge.net/tracker/index.php?func=detail&aid=583260&group_id=39285&atid=424795 ) dort importieren.

        Das blde an all diesen von-Hand-Geschichten ist: phPay rechnet fest damit, da die Variablen registiert werden. Wenn das extract()-Kommando da nicht funktioniert, fllt mir auch nix weiter ein. Naja ich mte es halt mal selbst testen...

         
    • Anonymous

      Anonymous - 2002-12-16

      Du meinst, wenn man diese
      register_globals
      auf ON schaltet, dann knnte man sich den Rest sparen, bzw. es funktioniert?

      In welchem Verzeichnis liegt sie?

      Ich habe mal gelesen, dass das die Sicherheit beeintrchtigen knnte. Stimmt das?

       
    • Andreas Kansok

      Andreas Kansok - 2002-12-16

      Bei Windows liegt die Datei in c:\\Windows (?) bei Linux im Verzeichnis /etc/. Ja, wenn Du das umstellst, kannst Du Dir den ganzen anderen Kram schenken (siehe PS, meines ersten Postings ;-)

      Im Prinzip stimmt das. Wahrscheinlich bin ich aber zuwenig Hacker, um mit dieser Lcke wirklich etwas anfangen zu knnen.
      Mit reg_glob=ON werden alle Variablen autmatisch mit Namen und Wert bernommen, die so angeliefert werden, egal mit welcher Methode. Bei reg_glob=OFF nicht, da mssen sie mit etwas wie extract o.. explizit eingelesen werden.
      Ausnutzen liee sich das von einem potenziellen Angreifer dadurch, da er Informationen liefert, die im Skript zu Fehlfunktionen fhren oder die Originaldaten berschreiben. Im Falle von phPay wrde mir als wichtigstes die SessionID einfallen. Wenn also der Angreifer eine fremde SessionID liefert, knnte es damit die Sitzung/Anmeldung von jemand anders bernehmen. Im Falle von phPay wei ich nicht, was jemand damit will. Auer den Adressdaten ist ja doch nix zu sehen/zu ndern; die findet man auch im Telefonbuch. Das ist brigens ein Grund dafr, weshalb phPay keinerlei Bankdaten speichert. Ein weiteres Problem sehe ich darin, an die SessionID zu kommen. Zustzlich begeben sich nur die Kunden in Gefahr, die den Shop nicht ber den Button 'Shop verlassen' verlassen.

      Vielleicht sehe ich das ganze etwas zu blauugig, dann bitte ich um Aufklrung.

      Gru,
      Andreas.

       
    • Andreas Kansok

      Andreas Kansok - 2002-12-16

      Wenn register_globals=OFF, dann
      - in header.inc.php und login.php einfgen:
      extract($HTTP_POST_VARS);
      extract($HTTP_GET_VARS);

      - in admin/header.inc.php zustzlich zu den ersten beiden:
      extract($HTTP_POST_FILES);
      extract($HTTP_SERVER_VARS);

      - in start.php gengt:
      extract($HTTP_GET_VARS);
      extract($HTTP_SERVER_VARS);

      - in admin/admain.php:
      $extract($HTTP_POST_VARS);

      In zuknftigen PHP-Versionen werden die Superglobals anders heien:
      $_POST, $_GET, $_SERVER und $_FILES
      Eigenen Tests zufolge funktionieren aber bis 4.2.3 auch die alten Bezeichnungen.

       
    • Anonymous

      Anonymous - 2002-12-16

      So... habe alles einigermassen hinbekommen. Nun das nchste Problem:

      Er schreibt mir die Datei nun, aber ich bekomme dauern die Fehlermeldung:

      Access denied for user: '@localhost' to database 'shop1'
      No Database Selected No Database Selected No Database

      $version = 2.0;
      $db_type = mysql;
      $db_host = meineIP;
      $db_user = test1;
      $db_pass = *****;
      $db_name = shop1;
      $order_mail = order@phpay.de;
      $shop_mail = shop@phpay.de;
      $mailcheck = 1;

      test1 ist eingerichtet mit den entsprechenden Rechten. Er zeigt auch in der Fehlermeldung immer localhost an obwohl in der Beschreibung meine IP steht.

      Habe alles schon versucht... keine Ahnung!

       
    • Anonymous

      Anonymous - 2002-12-16

      Das seltsame ist auch, dass links im Men nichts mehr steht, also nur noch die kleinen Pfeile, aber das wars dann. Die Links funktionieren noch, aber keine Beschreibung mehr.

      Auch die Buttons, des Konfigurationsmens habe keine Beschriftung mehr. Die Funktion ist aber da.

       
    • Andreas Kansok

      Andreas Kansok - 2002-12-17

      Offenbar ist der Benutzername immernoch nicht in der config_db.inc.php angekommen:
      " Access denied for user: '@localhost' to "

      Das die Texte alle weg sind, ist normal. phPay geht davon aus, da wenn eine config_db* exisitiert, der Datenbankzugriff damit funktioniert, was hier nich der Fall ist.
      Auch hier wieder die Frage: Sind beide config_db's ausgefllt?

      Gru,
      Andreas.

       
      • Anonymous

        Anonymous - 2002-12-17

        Hallo!

        Ja, sind sie!
        In beiden stehen die Daten drin:

        <?php
        # autogenerated by admain.php on December 17 2002, 03:01 (EST)
        $db_type = "mysql";
        $db_host = "xxxxxxxxxx";
        $db_user = "test1";
        $db_pass = "";
        $db_name = "bookshop";
        ?>

         
    • Anonymous

      Anonymous - 2002-12-17

      Ich habs nochmals getestet und andere Daten eingegeben. Diese werden nun auch korrekt bernommen, aber der Fehler ist der gleiche. s.o.

      Gru

       
    • Peter Lehr

      Peter Lehr - 2002-12-17

      $db_pass = "";
      da steht aber kein Passwort drin

       
      • Anonymous

        Anonymous - 2002-12-17

        Das habe ich raus gelscht...
        In den Files in den Ordnern steht es aber drin!

         
    • Andreas Kansok

      Andreas Kansok - 2002-12-18

      Wenn Du mit phpMyAdmin oder hnlihem an die Datenbank gehst, hast Du aber Zugriff mit den gleichen Benutzerdaten?

      Eventuell hat der Benutzer "test1" nicht die Berechtigung eine Datenbank anzulegen (SQL: CREATE DATABASE ...)? Und/oder nicht die Berechtigung Tabellen anzulegen (SQL: CREATE TABLE ...)? Manche Provider haben wilde Einstellungen ...

      Falls Du Dein eigener Provider bist: Schau mal nach, ob MySQL den User test1 kennt und ihm Zugriff gewhrt. Auch eine gute Frage ist, ob denn der angegebene Host stimmt. Auch wenn der Server 'xyz' heit, besteht fr MySQL da ein Unterschied zu 'localhost'.

      Hast Du die SQL-Kommandos per phpMyAdmin ausfhren lassen?

       

Log in to post a comment.