php/mysql - hur är det med säkerheten?

Tråden skapades och har fått 9 svar. Det senaste inlägget skrevs .
1

Är det värkligen säkert?

Scenario:

minfil.php innehåller:
$db = mysql_connect("server", "användare", "lösenord");

Kan inte någon elak sate bara ladda hem minfil.php med getright, speed dowload eller liknande, och få tillgång till min mysql-databas?

(Jag kan nog/antagligen inte bara skapa en ny användare, utan rättingheter, för jag är är på ett gratishotell)

/sny

  • Oregistrerad
  • 2003-02-28 19:05

Har gjort en suck webpage med web devil, men servern exekverar filen innan. Vet inte hur det är med andra program. Men eftersom servern behandlar innan den skickar om man kontacktar den på "vanligt" sätt så är det säkert. Du kan bara få filen hel om du ftp:ar hem den.

Kan för lite om hur en server arbetar för att ge ett tekniskt utlåtande.

  • Oregistrerad
  • 2003-02-28 19:08

Vänta lite här nu... fattade jag frågan?!!!

Om inlägget ovan verkar frånvarande så bortse från det.

Jag gör det

Det finns ingen verktyg som kan få en PHP-fil att *inte* gå genom PHP-parsern och komma ut i klartext. Däremot om webbserverns PHP-parser sätts ur spel av en eller annan anledning så kommer sidan att skickas i klartext.

En rimlig säkerhetlösning kan var att lägga lösenordet i en fil som ligger utanför webbrooten och inkludera filen istället. Men det är klart, det går inte på alla webbhotell.

Allright. Tack så mycket!

/sny

  • Medlem
  • Stockholm
  • 2003-03-02 23:30

En annan säkerhetsaspekt är att alla användare på ditt webbhotell i princip kan läsa din php-fil, eftersom den måste vara läsbar av alla för att kunna köras av webbservern (som körs som en annat användarkonto än ditt). Det är därför bra att inte göra det alltför uppenbart var man hittar lösenordet.

En annan sak man kan göra är att låta php-scriptet köras som ett cgi-script med suexec, vilket innebär att det körs med ditt användarkonto. Då kan du ju sätta snålare rättigheter på dina filer. Nackdelen är att det är mycket långsammare att dra igång ett CGI med suexec än ett php-script. Man kan dock se till att det bara behöver göras första gången användaren laddar sidan genom att exempelvis spara lösenordet i en cookie. Levonline har lite instruktioner här.

Citat:

citera:Skapades ursprungligen av: snyltarn:
Är det värkligen säkert?

Scenario:

minfil.php innehåller:
$db = mysql_connect("server", "användare", "lösenord");

Kan inte någon elak sate bara ladda hem minfil.php med getright, speed dowload eller liknande, och få tillgång till min mysql-databas?

(Jag kan nog/antagligen inte bara skapa en ny användare, utan rättingheter, för jag är är på ett gratishotell)

/sny

Jag kunde inte låta bli att vidarebefordra frågan till mitt webhotel, Levonline, som svarade:

Du är säker från en sådan attack. Alla filer som laddas ned via apache som
slutar med .php körs via apache och den visar inte variabler när den omvandlar
php-sidor.

Du kan enkelt prova genom att surfa till
www.dindomän.com/ditt_script_med_variabler.php och se om du kan se koden.

Ditt lösenord till databaserna är dock inte hundra procent säkert, läs mer på
våra supportsidor:

http://support.levonline.com/support.cgi?content=unixfileaccess#unixfileaccess

mvh davids

Citat:

citera:Skapades ursprungligen av: David Slättne:
Du är säker från en sådan attack. Alla filer som laddas ned via apache som slutar med .php körs via apache och den visar inte variabler när den omvandlar php-sidor.

Det är ungefär vad jag skrev ovan, men om (vilket iofs inte är så troligt) det blir något fel på PHP-modulen i Apache så kommer sidan att skickas i klartext.

Om man då lagt lösenordet i en annan fil och inkluderat den med PHP så kommer denna inte att skickas med (däremot skickas sökvägen i include-kommandot med och det är då det kan vara bra att ha lösenordfilen liggandes utanför webbrooten).

  • Medlem
  • Stockholm
  • 2003-03-04 10:27
Citat:

citera:Skapades ursprungligen av: David Slättne:
Ditt lösenord till databaserna är dock inte hundra procent säkert, läs mer på
våra supportsidor:

http://support.levonline.com/support.cgi?content=unixfileaccess#unixfileaccess

Och, som sagt, läs vad Levonline skriver om hur det kan lösas här:

http://support.levonline.com/support.cgi?content=phpdb#phpdb

1
Bevaka tråden