php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 22-06-2012, 15:48
Jedimen
 Registrierter Benutzer
Links : Onlinestatus : Jedimen ist offline
Registriert seit: Mar 2012
Beiträge: 14
Jedimen befindet sich auf einem aufstrebenden Ast
Standard Sachen gibts - Das kann nicht sein

Eine besserer Titel ist mir nicht eingefallen, da ich total auf dem Schlauch stehe. Ich habe seit 2 Jahren meinen Shop am laufen und hatte nie solch ein einfaches Problem bei dem ich kein Rat mehr weis.

Das ist kein Witz was ich unten schreibe:
PHP-Code:
$back 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
echo 
$back;
MySQLQuery("UPDATE tbl_session SET    back ='".$back."' WHERE    sessionid ='".session_id()."'"); 
beim echo (nur zum Test) gibt echo 'http://www.schuh-welt.de/shop/damenschuhe-hausschuhe/ ' aus.

ABER!!!!

in die datenbank wird eingetragen 'http://www.schuh-welt.de/shop/images/background/filter_layer_middle_bg.png'


???

Wenn ich mir den String anschaue der per

PHP-Code:
function MySQLQuery($Query) {
    if (!
mysql_select_db('intershop'MYSQL)) {
    
errmailer('Kein Select auf intershop moeglich!');
    
//exit;
}

    
$dbQy mysql_query("SET NAMES 'utf8'",MYSQL);
    
$dbQy mysql_query($Query,MYSQL);// or errmailer($Query);
    
if ($dbQy == Falseerrmailer($Query);
    return 
$dbQy;

anschaue, wird wirklich

UPDATE tbl_session SET back ='http://www.schuh-welt.de/shop/images/background/filter_layer_middle_bg.png' WHERE sessionid ='e374e18202f0cc4155ac624c276a######'

abgesetzt!

Irgend eine Idee????????

Es wird immer /images/background/transparent.png oder /images/background/filter_layer_middle_bg.png angehängt

Gruß
Christian
Mit Zitat antworten
  #2 (permalink)  
Alt 22-06-2012, 16:13
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Also ich bin mir sicher, dass oben der Code nicht der Realität entspricht. Um da mehr dazu sagen zu können, müsste man aber den kompletten (relevanten!) Code sehen oder gar debuggen können.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #3 (permalink)  
Alt 22-06-2012, 16:16
Jedimen
 Registrierter Benutzer
Links : Onlinestatus : Jedimen ist offline
Registriert seit: Mar 2012
Beiträge: 14
Jedimen befindet sich auf einem aufstrebenden Ast
Standard Ich nehme mir gleich den Strick

Ich muss noch eines dazuschreiben - das ist nur auf unserem Produktivsystem.

auf unserem Testserver habe ich das nicht.

ich habe mir mal schnell einen Logger geschrieben der alle datenbankaufrufe von meiner session in eine Datei mit schreibt:

Obwohl ich nur einmal

$back ='http://www.schuh-welt.de/shop/damenschuhe-sneaker/';

$strQuery = "UPDATE tbl_session SET back ='".$back."' WHERE sessionid ='".session_id()."'";

MySQLQuery($strQuery);

aufrufe wird 4 x der Update befehl mitgeloggt!!!!


UPDATE tbl_session SET back ='http://www.schuh-welt.de/shop/damenschuhe-sneaker/' WHERE sessionid ='d2342f7e3621f873cf6fbca3c####'

UPDATE tbl_session SET back ='http://www.schuh-welt.de/shop/damenschuhe-sneaker/images/background/transparent.png' WHERE sessionid ='d2342f7e3621f873cf6fbca3####'

UPDATE tbl_session SET back ='http://www.schuh-welt.de/shop/images/background/filter_layer_bg.png' WHERE sessionid ='d2342f7e3621f873cf6fbca3c0####'

UPDATE tbl_session SET back ='http://www.schuh-welt.de/shop/images/background/filter_layer_middle_bg.png' WHERE sessionid ='d2342f7e3621f873cf6fbca####'
Mit Zitat antworten
  #4 (permalink)  
Alt 22-06-2012, 16:18
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Demnach stimmt deine aussage oben nicht so ganz...

Sieht aber ganz danach aus, als ob der code in einer zentralen Datei liegt, die eben von mehreren urls aufgerufen wird. Da müsste man jetzt die Architektur kennen.

Steht $back ='http://www.schuh-welt.de/shop/damenschuhe-sneaker/'; wirklich so hard-coded in der Datei?
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #5 (permalink)  
Alt 22-06-2012, 17:21
Jedimen
 Registrierter Benutzer
Links : Onlinestatus : Jedimen ist offline
Registriert seit: Mar 2012
Beiträge: 14
Jedimen befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von TobiaZ Beitrag anzeigen
Steht $back ='http://www.schuh-welt.de/shop/damenschuhe-sneaker/'; wirklich so hard-coded in der Datei?
NEIN!

PHP-Code:
$back 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; 
habe ich nur hingeschrieben zur besseren verständniss.

Ich habe jetzt mal einen Seitenaufruf meiner Session alle Datenbewegungen vom Aufruf bis zur Anzeige
mitgeloggt.

PHP-Code:
SELECT    id    FROM    tbl_session WHERE    sessionid    =    'd2342f7e3621f873cf6fbca3c06287c8'

SELECT    tbl_session.* FROM tbl_session    WHERE    sessionid    =    'd2342f7e3621f873cf6fbca3c06287c8'    AND    status    =    0 limit 1 

SELECT    tbl_orders
.customerid,tbl_orders.delID,tbl_orders.logintbl_customer.prename,tbl_customer.name,tbl_customer.email,tbl_customer.fgSpecialPrice FROM tbl_orders left join tbl_customer on tbl_orders.customerid tbl_customer.id     WHERE tbl_orders.login=and    sessionid    =    'd2342f7e3621f873cf6fbca3c06287c8'

SELECT SUM(qty) AS summeqty,SUM(qty price) AS summeprice FROM tbl_basket WHERE ordered AND tbl_basket.sessionID 'd2342f7e3621f873cf6fbca3c06287c8'

UPDATE tbl_session SET    back ='http://www.schuh-welt.de/shop/damenschuhe-ballerinas/' WHERE    sessionid ='d2342f7e3621f873cf6fbca3c06287c8'

SELECT main.id, ( select min(originalpricefrom tbl_prices where main.id tbl_prices.product_id) AS originalprice ,
                    ( 
select min(pricefrom tbl_prices where main.id tbl_prices.product_id) AS price
                    
,specialprice,ordernrmain.name,categorytxt2 FROM main
                left join tbl_lastlook on main
.id tbl_lastlook.productid
              where tbl_lastlook
.sessionid='d2342f7e3621f873cf6fbca3c06287c8' group by tbl_lastlook.productid order by  tbl_lastlook.id DESC Limit 6

INSERT    INTO    tbl_sitelog    
session,    site,script,timestamp,isbot,test,noIndex,test2)    VALUES    ('d2342f7e3621f873cf6fbca3c06287c8','/shop/damenschuhe-ballerinas/','/shop/categories.php',
                            
'1340377565','0','','','')

 
UPDATE tbl_session Set counter counter 1 where sessionid 'd2342f7e3621f873cf6fbca3c06287c8'
 
 


 

SELECT    id    FROM    tbl_session WHERE    sessionid    =    'd2342f7e3621f873cf6fbca3c06287c8'

SELECT    tbl_session.* FROM tbl_session    WHERE    sessionid    =    'd2342f7e3621f873cf6fbca3c06287c8'    AND    status    =    0 limit 1 

SELECT    tbl_orders
.customerid,tbl_orders.delID,tbl_orders.logintbl_customer.prename,tbl_customer.name,tbl_customer.email,tbl_customer.fgSpecialPrice FROM tbl_orders left join tbl_customer on tbl_orders.customerid tbl_customer.id     WHERE tbl_orders.login=and    sessionid    =    'd2342f7e3621f873cf6fbca3c06287c8'

SELECT SUM(qty) AS summeqty,SUM(qty price) AS summeprice FROM tbl_basket WHERE ordered AND tbl_basket.sessionID 'd2342f7e3621f873cf6fbca3c06287c8'

UPDATE tbl_session SET    back ='http://www.schuh-welt.de/shop/damenschuhe-ballerinas/images/background/transparent.png' WHERE    sessionid ='d2342f7e3621f873cf6fbca3c06287c8'






SELECT    id    FROM    tbl_session WHERE    sessionid    =    'd2342f7e3621f873cf6fbca3c06287c8'

SELECT    tbl_session.* FROM tbl_session    WHERE    sessionid    =    'd2342f7e3621f873cf6fbca3c06287c8'    AND    status    =    0 limit 1 

SELECT    tbl_orders
.customerid,tbl_orders.delID,tbl_orders.logintbl_customer.prename,tbl_customer.name,tbl_customer.email,tbl_customer.fgSpecialPrice FROM tbl_orders left join tbl_customer on tbl_orders.customerid tbl_customer.id     WHERE tbl_orders.login=and    sessionid    =    'd2342f7e3621f873cf6fbca3c06287c8'

SELECT SUM(qty) AS summeqty,SUM(qty price) AS summeprice FROM tbl_basket WHERE ordered AND tbl_basket.sessionID 'd2342f7e3621f873cf6fbca3c06287c8'

UPDATE tbl_session SET    back ='http://www.schuh-welt.de/shop/images/background/filter_layer_bg.png' WHERE    sessionid ='d2342f7e3621f873cf6fbca3c06287c8'





SELECT    id    FROM    tbl_session WHERE    sessionid    =    'd2342f7e3621f873cf6fbca3c06287c8'

SELECT    tbl_session.* FROM tbl_session    WHERE    sessionid    =    'd2342f7e3621f873cf6fbca3c06287c8'    AND    status    =    0 limit 1 

SELECT    tbl_orders
.customerid,tbl_orders.delID,tbl_orders.logintbl_customer.prename,tbl_customer.name,tbl_customer.email,tbl_customer.fgSpecialPrice FROM tbl_orders left join tbl_customer on tbl_orders.customerid tbl_customer.id     WHERE tbl_orders.login=and    sessionid    =    'd2342f7e3621f873cf6fbca3c06287c8'

SELECT SUM(qty) AS summeqty,SUM(qty price) AS summeprice FROM tbl_basket WHERE ordered AND tbl_basket.sessionID 'd2342f7e3621f873cf6fbca3c06287c8'

UPDATE tbl_session SET    back ='http://www.schuh-welt.de/shop/images/background/filter_layer_middle_bg.png' WHERE    sessionid ='d2342f7e3621f873cf6fbca3c06287c8' 

Wohl angemerkt das dies EIN Seitenaufruf war und nur die Datenbankaufrufe sind mir session
und mir klar ist das der Datenbankserver bei viel zugriffen ganz schön unt feuer steht.

Kann es sein der PHP Parser spinnt?

Auf dem Produktivsystem läuft
4.4.9

Ich habe das gleiche auf unserem Testsystem mit 5.0.1 1x aufruf 1 x Datenbank

was kann diese zirkuären aufruf verursachen.

Gruß
Christian






Mit Zitat antworten
  #6 (permalink)  
Alt 22-06-2012, 17:25
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
NEIN!
Dann poste doch bitte lieber den richtigen Code. So wird das Thema nur unverständlicher.

Der Code wird aus irgend einem Grund auch von Bilddateien ausgeführt. Aber noch mal, ich weiß nicht wie deine Seite aufgebaut ist. Du gibst es offensichtlich auch nicht Preis. Gut vorstellbar, dass du alle Requests durch eine zentrale Bootstrap-Datei jagst. Aber das ist nur spekulation.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #7 (permalink)  
Alt 22-06-2012, 17:31
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Okay, habe deinen Fehler gefunden. Du hast vermutlich falsche Bildpfade in deiner Seite verwendet. Wenn du mal die URLs aufrufst, siehst du, dass gar keine Bilder, sondern die Seite geladen wird. Das erklärt dann alles.

Folgender Beispiel-Pfad ist definitiv falsch: http://www.schuh-welt.de/shop/damens...-gibt-es-nicht. Statt einer 404 Meldung zeigst du aber einfach eine Seite an. Das würde ich generell fixen und dann noch den Quelltext nach den falschen Bildpfaden absuchen und du bist fertig.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #8 (permalink)  
Alt 22-06-2012, 17:32
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Meine Vermutung wäre, dass es die betreffenden Bilder gar nicht gibt im Dateisystem, und deshalb der 404 ErrorHandler oder irgendeine Art von Rewriting anspringt – was dann zum erneuten Aufruf des Scriptes führt, aber eben mit den Bildadressen als REQUEST_URI …
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #9 (permalink)  
Alt 22-06-2012, 18:06
Jedimen
 Registrierter Benutzer
Links : Onlinestatus : Jedimen ist offline
Registriert seit: Mar 2012
Beiträge: 14
Jedimen befindet sich auf einem aufstrebenden Ast
Standard

der 404

mod_rewrite

ErrorDocument 404 /shop/suche/?producer=NIL

hat es ausgelöst.

Sollte bewirken das wenn eine Seite nicht mehr existiert eine Seite mit auswahl angezeigt wird.

Danke!!

Es sind bilddateien wo der Pfad nicht stimmt.

Oh mein Gott der Puls war heute richtig hoch.

Gruß und nochmals danke
Christian
Mit Zitat antworten
  #10 (permalink)  
Alt 23-06-2012, 10:14
Benutzerbild von mermshaus mermshaus
 Registrierter Benutzer
Links : Onlinestatus : mermshaus ist offline
Registriert seit: Jun 2009
Beiträge: 451
mermshaus wird schon bald berühmt werden
Standard

Bevor du ihn wieder runterfährst: $_SERVER['REQUEST_URI'] kann teilweise vom Nutzer gefüllt werden (der kann beliebige Parameter an einen URL anhängen oder so) und ist deshalb hochgradig anfällig für SQL-Injection-Attacken. In deinem ersten Post sehe ich kein Escaping.

Geändert von mermshaus (23-06-2012 um 10:17 Uhr)
Mit Zitat antworten
  #11 (permalink)  
Alt 25-06-2012, 11:32
Jedimen
 Registrierter Benutzer
Links : Onlinestatus : Jedimen ist offline
Registriert seit: Mar 2012
Beiträge: 14
Jedimen befindet sich auf einem aufstrebenden Ast
Standard

Vielen Dank,

an diese hatte ich nicht mehr gedacht. Alle anderen Select etc. sind abgeschirmt, aber die einfachsten nicht.

Wurde geändert.

Gruß
Christian
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Das gibts ja nicht! Shurakai Out of Order 13 08-03-2007 00:27
Wie kann es sein das bestimmte Scripte in IE gehen und in Firefox nicht & umgekehrt ? Master0Blicker HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS 10 25-11-2005 23:34
sachen gibts, die gibts gar nich..... Cannabeatfan Windows (Client/Server) 2 11-02-2004 14:31
[CSS] Tabellenrahmen - kann das denn so schwer sein?!! Luke HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS 5 02-02-2004 17:15

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 04:58 Uhr.