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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Ja, kannst Du. Erstell aber beide Dateien config_db.inc.php; einmal im admin-Verzeichnis und einmal im Shop.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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...
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
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!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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";
?>
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
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 ;-)
Kleiner Nachtrag:
Fge mal in header.inc.php und start.php noch
extract($HTTP_SERVER_VARS);
hinzu (zuknftig $_SERVER).
SoK
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
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.
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
Ja, kannst Du. Erstell aber beide Dateien config_db.inc.php; einmal im admin-Verzeichnis und einmal im Shop.
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?
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.
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?
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...
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?
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.
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.
So... habe alles einigermassen hinbekommen. Nun das nchste Problem:
Er schreibt mir die Datei nun, aber ich bekomme dauern die Fehlermeldung:
$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!
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.
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.
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";
?>
Ich habs nochmals getestet und andere Daten eingegeben. Diese werden nun auch korrekt bernommen, aber der Fehler ist der gleiche. s.o.
Gru
$db_pass = "";
da steht aber kein Passwort drin
Das habe ich raus gelscht...
In den Files in den Ordnern steht es aber drin!
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?