Seite 1 von 1

MySQL error 1064

Verfasst: Di 29. Nov 2005, 09:39
von Simone
Ich habe diese Fehlermeldungen im Error-Log

[29-Nov-2005 06:09:06] /cms/front_content.php?idcat=1&client=1%E2%8C%A9=1 next_record called with no query pending in Module ID 56.
[29-Nov-2005 06:09:06] /cms/front_content.php?idcat=1&client=1%E2%8C%A9=1 MySQL error 1064: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '©=1' at line 6
SELECT
htmlpath, frontendpath
FROM
con_clients
WHERE
idclient = 1〈=1


[28-Nov-2005 15:29:31] /cms/front_content.php?client=1?=1&idcat=&idart=&lang=1&error=1 next_record called with no query pending in Module ID 54.
[28-Nov-2005 15:29:31] /cms/front_content.php?client=1?=1&idcat=&idart=&lang=1&error=1 MySQL error 1064: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '?=1 AND
b.idart = c.idart AND

SELECT
a.idart,
a.idartlang,
c.is_start
FROM
con_art_lang AS a,
con_art AS b,
con_cat_art AS c
WHERE
c.idcat = 72 AND
b.idclient = 1?=1 AND
b.idart = c.idart AND
a.idart = b.idart AND

a.idlang = 1 AND a.online = 1 ORDER BY a.lastmodified desc
[28-Nov-2005 15:29:31] /cms/front_content.php?client=1?=1&idcat=&idart=&lang=1&error=1 next_record called with no query pending in Module ID 54.


Kann mir das einer von Euch mir kurzen Worten übersetzen? Welches ist Module ID 54 und 56?

Ich hatte neulich mit HerrnB die Geschichte rund um die Kategorieüberschrift in http://contenido.org/forum/viewtopic.ph ... 1&start=15

und

mit visionary in http://contenido.org/forum/viewtopic.ph ... 2&start=15 die Zeit und den Verfasser in die Artikellisten eingefügt, und mit

emrgence die Artikelergänzung überarbeitet, um den Autoren und nicht den letzten Bearbeiter genannt zu bekommen. Da mußte ich B.author AS author in A.author AS author umwandeln und habe A.created AS created, in B.created AS created gewandelt, weil ich dachte, es können nicht zwei A. stehen. mehr in
http://contenido.org/forum/viewtopic.ph ... ght=simone

Hat die Fehlermeldung etwas damit zu tun? Mehr habe ich an den Modulen nicht geändert.

Gruß Simone

Verfasst: So 4. Dez 2005, 12:08
von emergence
anscheinend hat jemand versucht

http://server/cms/front_content.php?client=1〈=1

aufzurufen...

schätze mal dass dies für die errorlog.txt einträge gesorgt hat...

vielleicht sollte in der front_content.php kontrolliert werden ob client, lang, changeclient, changelang nummerische werte sind...

ich verschieb das mal nach bugs

Verfasst: Do 8. Jun 2006, 17:08
von HerrB
Done.

Gibt es da eigentlich was eleganteres als

Code: Alles auswählen

// Checking basic data input
if (isset($changeclient) && !is_numeric($changeclient)) {
	unset ($changeclient);
}
if (isset($client) && !is_numeric($client)) {
	unset ($client);
}
if (isset($changelang) && !is_numeric($changelang)) {
	unset ($changelang);
}
if (isset($lang) && !is_numeric($lang)) {
	unset ($lang);
}
?

Gruß
HerrB

Verfasst: Do 8. Jun 2006, 17:40
von Simone
Hallo HerrB

danke, ich probiere es morgen früh mal aus.
Simone

Verfasst: Do 8. Jun 2006, 18:06
von emergence
HerrB hat geschrieben:Gibt es da eigentlich was eleganteres als ... ?
ähm nö...

bei mir sieht das so aus

Code: Alles auswählen

// be sure that this vars are numeric otherwise we have the perfect sql injection position
if (isset($idcatart) && !is_numeric($idcatart)) {
	unset($idcatart);
}

if (isset($idcat) && !is_numeric($idcat)) {
	unset($idcat);
}

if (isset($idart) && !is_numeric($idart)) {
	unset($idart);
}

if (isset($lang) && !is_numeric($lang)) {
	unset($lang);
}

if (isset($client) && !is_numeric($client)) {
	unset($client);
}

if (is_numeric($tmpchangelang) && $tmpchangelang > 0)
{
	$tmpsavedlang = $lang;
	$lang = $tmpchangelang;
} else {
	unset($tmpsavedlang);
}

// Change client
if (isset($changeclient) && is_numeric($changeclient)){
	$client = $changeclient;
	unset($lang);
	unset($load_lang);
} else {
    unset($changeclient);
}

// Initialize client
if (!isset($client)) {

	//load_client defined in frontend/config.php
	$client = $load_client;
}

// Change language
if (isset($changelang) && is_numeric($changelang)) {
	$lang = $changelang;
} else {
    unset($changelang);
}

Verfasst: Do 8. Jun 2006, 19:19
von Simone
Hallo HerrB und emergence,

gibt es eine bstimmte Stelle, wo man den Code einfügen muß?

Ich habe beide ausprobiert und erhalte folgende Fehlermeldungen

oben steht im System:
Deaktivierte Funktionen: show_source, system, shell_exec, passthru, exec, phpinfo, popen, proc_open

Ich habe nirgendwo entdeckt, daß der Code als solches schon da ist, daher habe ich ihn eingefügt, wie er oben geschrieben steht.

Ach so, weil Ihr beide nichts geschrieben habt, habe ich den Code in der front_content.php eingetragen.
Mittlerweile rausgenommen und trotzdem erscheint die Fehlermeldung.


Gruß Simone

Verfasst: Do 8. Jun 2006, 19:22
von HerrB
War eigentlich nicht für Dich gedacht, aber er gehört in die front_content.php.

Gruß
HerrB

Verfasst: Do 8. Jun 2006, 19:23
von Simone
Und was fange ich nun mit der Fehlermeldung an?

Gruß und wie immer dank für die so schnelle Antwort.

Verfasst: Mo 12. Jun 2006, 22:30
von HerrB
Du hast das o.a. Problem gepostet. Ursache war - wie Dir emergence schrieb - dass vermutlich jemand versucht hat, Harakiri als Parameter zu übergeben.

Der Fix stellt nur sicher, dass eben nur numerische Parameter akzeptiert werden.

Du musst da eigentlich nix machen. Das unter Administration -> System eine Meldung zu deaktivierten Funktionen erscheint, kann nur der Provider ändern.

Solltest Du noch andere Probleme haben, bitte unter Misc posten.

Geschlossen.

Gruß
HerrB