Forfatter Emne: Problem med kode fra Surftown  (Læst 2734 gange)

0 Medlemmer og 1 Gæst læser dette emne.

Offline Lord Dean

  • DNS expert
  • ***
  • Indlæg: 301
    • http://www.hedegaard.nu
Problem med kode fra Surftown
« Dato: 06-09-2008 18:48:36 »
Heysa...

Jeg er ved at flytte en hjemmeside fra Surftown herover på Netplads, men nu får jeg pludselig en fejl når jeg bruger nedenstående kode:

Citér
<?
$db = mysql_connect("localhost", "n483913_XXX", "XXXXXX");
mysql_select_db("n483913_XXX", $db);
$foresp = mysql_query("SELECT id, titel FROM dvd ORDER BY $sort");
while($data = mysql_fetch_array($foresp)){
   
If ($sort=="id"){
      echo "<tr><td><p align=\"right\" \"margin-left: 3; margin-right: 3\"><B>$data[0]</B>  -  </td><td>
<p align=\"left\" \"margin-left: 3; margin-right: 3\"> $data[1]</td></tr>";}
 else {echo "<tr><td><p align=\"left\" \"margin-left: 3; margin-right: 3\">$data[1]</td><td>
  <p align=\"left\" \"margin-left: 3; margin-right: 3\"> $data[0]</td></tr>";}
}
?>

Jeg får følgende fejl:
Citér
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /usr/home/n483913/public_html/Hedegaard.nu/film.php on line 19
Linie 19 = while($data = mysql_fetch_array($foresp)){

Hvordan kan det være at koden virkede på Surftowns server, men ikke her på Netplads? Og kan nogen hjælpe med at løse fejlen?

På forhånd tak,
Michael
Venlig hilsen
Michael Hedegaard, www.hedegaard.nu

Offline Calzone

  • Blackbriar Operative
  • Administrator
  • DNS god
  • ******
  • Indlæg: 10.916
  • Color for the colorblind!
    • Mine film...
Sv: Problem med kode fra Surftown
« Svar #1 Dato: 06-09-2008 21:03:17 »
Meget simpelt... lær dig selv disse små ord: or die(mysql_error())....
Greetings
Calzone AKA David Webb.

Offline Lord Dean

  • DNS expert
  • ***
  • Indlæg: 301
    • http://www.hedegaard.nu
Sv: Problem med kode fra Surftown
« Svar #2 Dato: 06-09-2008 21:58:13 »
Øh jow...  :???:

Og hvor skal de sættes ind henne?
Venlig hilsen
Michael Hedegaard, www.hedegaard.nu

Offline Lord Dean

  • DNS expert
  • ***
  • Indlæg: 301
    • http://www.hedegaard.nu
Sv: Problem med kode fra Surftown
« Svar #3 Dato: 06-09-2008 22:15:31 »
Så fandt jeg ud af hvor de skulle sættes ind. Så får jeg i stedet følgende meddelelse:
Citér
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 '' at line 1

Men hvorfor får jeg en fejl på Netplads, når jeg ikke fik en fejl hos Surftown, selvom det er samme kode jeg bruger? Og jeg bruger samme kode andre steder på hjemmesiden, og der virker det fint, men ikke på denne ene side.

Citér
<?
$db = mysql_connect("localhost", "n483913_XXX", "XXXXXX")or die(mysql_error());
mysql_select_db("n483913_XXX", $db)or die(mysql_error());
$foresp = mysql_query("SELECT id, titel FROM dvd ORDER BY $sort")or die(mysql_error());
while($data = mysql_fetch_array($foresp)) {
   
If ($sort=="id"){
      echo "<tr><td><p align=\"right\" \"margin-left: 3; margin-right: 3\"><B>$data[0]</B>  -  </td><td>
<p align=\"left\" \"margin-left: 3; margin-right: 3\"> $data[1]</td></tr>";}
 else {echo "<tr><td><p align=\"left\" \"margin-left: 3; margin-right: 3\">$data[1]</td><td>
  <p align=\"left\" \"margin-left: 3; margin-right: 3\"> $data[0]</td></tr>";}
}
?>
Venlig hilsen
Michael Hedegaard, www.hedegaard.nu

Offline Calzone

  • Blackbriar Operative
  • Administrator
  • DNS god
  • ******
  • Indlæg: 10.916
  • Color for the colorblind!
    • Mine film...
Sv: Problem med kode fra Surftown
« Svar #4 Dato: 07-09-2008 08:04:56 »
Kunne det tænkes at der er fejl i din kode? Eller rettere der er fejl i din kode, og grunden til du får fejl her og ikke der er nok noget med versioner og opsætning. Mit bud at er du forsøger at sætte $sort via en GET... Og det dårlig programmering, nummer et man skal bruge $_GET nummer to man sætter ALDRIG noget fra $_POST eller $_GET direkte ind i en SQL.
Greetings
Calzone AKA David Webb.

Offline Lord Dean

  • DNS expert
  • ***
  • Indlæg: 301
    • http://www.hedegaard.nu
Sv: Problem med kode fra Surftown
« Svar #5 Dato: 07-09-2008 08:23:32 »
Øh jow... så må jeg jo nedlægge siden.

/Michael
Venlig hilsen
Michael Hedegaard, www.hedegaard.nu

Offline Calzone

  • Blackbriar Operative
  • Administrator
  • DNS god
  • ******
  • Indlæg: 10.916
  • Color for the colorblind!
    • Mine film...
Sv: Problem med kode fra Surftown
« Svar #6 Dato: 07-09-2008 08:25:07 »
Det er vel bare et spørgsmål om at lave siden sikker...
Greetings
Calzone AKA David Webb.

Offline Lord Dean

  • DNS expert
  • ***
  • Indlæg: 301
    • http://www.hedegaard.nu
Sv: Problem med kode fra Surftown
« Svar #7 Dato: 07-09-2008 08:44:49 »
Det har du sikkert ret i, det skal jeg ikke kunne udtale mig om, da jeg ikke er nogen ørn til programmering. Jeg kan blot konstatere, at koden ikke virker på Netplads men virkede fint på Surftown.

Men tak for (den for mig uforståelige) forklaring på hvorfor det ikke virker.
Venlig hilsen
Michael Hedegaard, www.hedegaard.nu

Offline Calzone

  • Blackbriar Operative
  • Administrator
  • DNS god
  • ******
  • Indlæg: 10.916
  • Color for the colorblind!
    • Mine film...
Sv: Problem med kode fra Surftown
« Svar #8 Dato: 07-09-2008 08:49:14 »
Du skal bare vide at når de opdatere til v6 af PHP vil din side heller ikke virker der, læs http://php.net/register_globals

For at få PHP til at være usikker , så tilføj php_flag register_globals on til din .htaccess fil.
« Senest Redigeret: 07-09-2008 10:18:15 af Calzone »
Greetings
Calzone AKA David Webb.

Offline Calzone

  • Blackbriar Operative
  • Administrator
  • DNS god
  • ******
  • Indlæg: 10.916
  • Color for the colorblind!
    • Mine film...
Sv: Problem med kode fra Surftown
« Svar #9 Dato: 07-09-2008 10:18:03 »
Lidt kode at tænke over:
<?
if ($logind) {
	
if (
$password "mit password"$eradmin "ja"
}

if (
$eradmin == "ja") {
//admin side
}
else {
//log ind side
}
?>


Køres det på en register_globals on som http://minside/admin.php?eradmin=ja og vupti er man admin uden at gætte noget password.

Samme script skrevet til register_globals off:

<?
if ($_REQUEST['logind']) {
	
if (
$_REQUEST['password'] = "mit password"$eradmin "ja"
}

if (
$eradmin == "ja") {
//admin side
}
else {
//log ind side
}
?>

Og den vil man ikke kunne hacke på den måde.
Greetings
Calzone AKA David Webb.

Offline Lord Dean

  • DNS expert
  • ***
  • Indlæg: 301
    • http://www.hedegaard.nu
Sv: Problem med kode fra Surftown
« Svar #10 Dato: 07-09-2008 12:31:25 »
Lidt kode at tænke over:
<?
if ($logind) {
	
if (
$password "mit password"$eradmin "ja"
}

if (
$eradmin == "ja") {
//admin side
}
else {
//log ind side
}
?>


Køres det på en register_globals on som http://minside/admin.php?eradmin=ja og vupti er man admin uden at gætte noget password.

Samme script skrevet til register_globals off:

<?
if ($_REQUEST['logind']) {
	
if (
$_REQUEST['password'] = "mit password"$eradmin "ja"
}

if (
$eradmin == "ja") {
//admin side
}
else {
//log ind side
}
?>

Og den vil man ikke kunne hacke på den måde.
Ja det kan jeg godt se er noget usikkert. Men i det konkrete tilfælde, hvor de kun har mulighed for at bestemme hvorledes data skal sorteres, så er sikkerhedsrisikoen vist acceptabel. Og så må jeg vel bare håbe på, at Netplads ikke opdaterer til V6, så koden fortsætter med at virke.

Et andet spørgsmål:
Er der en speciel opsætning på Netplads omkring forsendelse af mail fra hjemmesider? (Ved ikke om det kan have nogen betydning, at jeg bruger MXhotel til mail? Jeg har ingen postopsætning på netplads).

Jeg har nemlig prøvet følgende 2 forms, som jeg ikke plejer at have problemer med på de andre webhoteller jeg har prøvet gennem tiderne. Men nu kommer mails ikke frem - eller kun nogle af dem.

http://www.dbmasters.net/index.php?id=4
http://www.hjemmesideskolen.dk/scripts/phpmailc.php
Venlig hilsen
Michael Hedegaard, www.hedegaard.nu

Offline Calzone

  • Blackbriar Operative
  • Administrator
  • DNS god
  • ******
  • Indlæg: 10.916
  • Color for the colorblind!
    • Mine film...
Sv: Problem med kode fra Surftown
« Svar #11 Dato: 07-09-2008 12:39:44 »
Ja det kan jeg godt se er noget usikkert. Men i det konkrete tilfælde, hvor de kun har mulighed for at bestemme hvorledes data skal sorteres, så er sikkerhedsrisikoen vist acceptabel.
Tro mig at din SQL kan tømmes på 2 sk ud fra det kode du gav der, det eneste jeg skal vide er hvor du har den kodestump... Søg på SQL injection.... Så nej, din kode er farlig og ikke acceptabel...

Og så må jeg vel bare håbe på, at Netplads ikke opdaterer til V6, så koden fortsætter med at virke.
Gør vi med garanti, lige som alle andre udbydere gør.

Et andet spørgsmål:
Er der en speciel opsætning på Netplads omkring forsendelse af mail fra hjemmesider? (Ved ikke om det kan have nogen betydning, at jeg bruger MXhotel til mail? Jeg har ingen postopsætning på netplads).

Jeg har nemlig prøvet følgende 2 forms, som jeg ikke plejer at have problemer med på de andre webhoteller jeg har prøvet gennem tiderne. Men nu kommer mails ikke frem - eller kun nogle af dem.

http://www.dbmasters.net/index.php?id=4
http://www.hjemmesideskolen.dk/scripts/phpmailc.php
Hvis et domain er oprettet på NetPlads og man førsøger at sende fra NetPlads vil det blive afleveret lokalt. Så hvis du vil aflevere post fra NetPlads til MXhotel så opret et subdomain på MXhotel som du så sender til. evt som alias.
Greetings
Calzone AKA David Webb.

Offline Lord Dean

  • DNS expert
  • ***
  • Indlæg: 301
    • http://www.hedegaard.nu
Sv: Problem med kode fra Surftown
« Svar #12 Dato: 07-09-2008 12:54:31 »
Citér
Tro mig at din SQL kan tømmes på 2 sk ud fra det kode du gav der, det eneste jeg skal vide er hvor du har den kodestump... Søg på SQL injection.... Så nej, din kode er farlig og ikke acceptabel...
hmm... det må jeg så nok prøve at finde en løsning på  :neutral:

Citér
Hvis et domain er oprettet på NetPlads og man førsøger at sende fra NetPlads vil det blive afleveret lokalt. Så hvis du vil aflevere post fra NetPlads til MXhotel så opret et subdomain på MXhotel som du så sender til. evt som alias.
Det må jeg så lige prøve om jeg kan finde ud af... BBL
Venlig hilsen
Michael Hedegaard, www.hedegaard.nu

Offline Lord Dean

  • DNS expert
  • ***
  • Indlæg: 301
    • http://www.hedegaard.nu
Sv: Problem med kode fra Surftown
« Svar #13 Dato: 07-09-2008 17:08:31 »
Så virker mail-formularen, så tak for tippet.

Så må jeg til at se på det andet engang ved lejlighed.

/Michael
Venlig hilsen
Michael Hedegaard, www.hedegaard.nu