[php] Hoe maak ik een veilige db connectie

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
De situatie is zo, ik heb een abonement op een webserver met toegang tot 1 database.
Nu wil ik meer met mijn databse gaan doen en opzich weet ik wel hoe het meot maar ik had mijn bedenkingen over mijn veiligheid. Ik maakt vroeger altijd zo connectie met mijn databse.

PHP:
1
2
$verbinding = mysql_connect("localhost", "cazzz", "geheim");
$db  = mysql_select_db("cazzz", $verbinding);


alleen als iemand nou dat php filetje download kan ie zo mijn psw en usr name uitlezen. Nu wil ik dat graag beter doen. Ik hoorde al over htaccess maar dat was meer van "de klok horen luide....."dus heeft iemand een tip of een mooi artikel hier over? in mijn boek en op het internet vond ik niet veel.

Acties:
  • 0 Henk 'm!

  • Mark309
  • Registratie: September 2001
  • Niet online

Mark309

Ook wel Piet

Volgens mij is het zo "veilig" tenzij er anderen zijn met ftp toegang kan nietmand zien wat er in die string zit

Productman.nl - Helpt startups in de Achterhoek en Liemers


Acties:
  • 0 Henk 'm!

  • simon
  • Registratie: Maart 2002
  • Laatst online: 19:38
Zo:

PHP:
1
2
3
4
5
6
7
8
9
10
11
<?php
//include hier een file waar je passes instaan, zoals ik hieronder doe, maar dit hieronder is geen include :P

$server = "localhost";
$user = "bla";
$pass = "bla";

// en dan kan je met deze code connecten
$verbinding = mysql_connect($server, $user, $pass); 
$db  = mysql_select_db("cazzz", $verbinding);
?> 


Maar hoe moet iemand hier bij de source komen? Als je dat doet heb je iig iets fout of doe je dat 'bewust'..

[ Voor 28% gewijzigd door simon op 23-03-2003 15:22 ]

|>


Acties:
  • 0 Henk 'm!

  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 23:24

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

.htaccess geldt alleen voor http-verbindingen, en als je via http een php-file download, krijg je alleen de output te zien. Als je dus niks echo't krijg je een leeg bestand. Als alles snor zit bij je provider hoef je dus nergens bang voor te zijn :)

/edit:
Simon schreef op 23 March 2003 @ 15:21:
Zo:
PHP:
1
[layout verneukende code]

Maar hoe moet iemand hier bij de source komen? Als je dat doet heb je iig iets fout of doe je dat 'bewust'..
Wat een larie :D Dit is net zo veilig als wat Cazzz zelf heeft gepost, je hebt namelijk weer gewoon dezelfde gegevens in een bestand staan, alleen op een andere plek :)

[ Voor 84% gewijzigd door Thijsmans op 23-03-2003 15:26 ]

Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
zover ik weet kan je gewoon met een programma zoals flashget een php bestand downloaden. Of je gebruikt een leecher om heel de website leeg te halen.
En dat wil ik dus tegen gaan.

Acties:
  • 0 Henk 'm!

  • sirdupre
  • Registratie: Maart 2002
  • Laatst online: 27-04 09:36
hahahaha, zet deze source maar eens op een server die php parset. Ben benieuwd of jouw het met flashget of een site leecher gaat lukken ;).

Veel verder dan de html die het ding produceert ga je niet komen gok ik zo ;)

Acties:
  • 0 Henk 'm!

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Verwijderd schreef op 23 March 2003 @ 15:38:
zover ik weet kan je gewoon met een programma zoals flashget een php bestand downloaden. Of je gebruikt een leecher om heel de website leeg te halen.
En dat wil ik dus tegen gaan.
Dat kan dus niet :) PHP is serverside; iemand zal nooit de PHP code kunnen zien in jouw website :)

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Acties:
  • 0 Henk 'm!

  • eborn
  • Registratie: April 2000
  • Laatst online: 19:03
Verwijderd schreef op 23 maart 2003 @ 15:38:
zover ik weet kan je gewoon met een programma zoals flashget een php bestand downloaden. Of je gebruikt een leecher om heel de website leeg te halen.
En dat wil ik dus tegen gaan.
Samengevat: zolang je geen 'backdoors' hebt (GET parameters als include die uitgeprint worden, of soorgelijke grappen) en netjes aangeeft dat PHP geparsed moet worden kan men nooit aan je wachtwoord komen.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Okey ik heb het gevonden hoor. Dat vand flashget(en andere download tools) was bull**** maar dat van die leech proggies dat klopte wel. En ik heb ook gelijk een oplossing gevonden. zie hier http://www.phpfreaks.com/articles/39/0.php

dus uiteindelijk moraal van dit verhaal. is mijn code geschikt om te gebruiken zonder de nare gevolgen te hebben van leechers of andere "hackz"

[ Voor 24% gewijzigd door Verwijderd op 23-03-2003 16:32 . Reden: moraal ]


Acties:
  • 0 Henk 'm!

  • eborn
  • Registratie: April 2000
  • Laatst online: 19:03
Verwijderd schreef op 23 maart 2003 @ 16:18:
Okey ik heb het gevonden hoor. Dat vand flashget(en andere download tools) was bull**** maar dat van die leech proggies dat klopte wel. En ik heb ook gelijk een oplossing gevonden. zie hier http://www.phpfreaks.com/articles/39/0.php
Dat van die leech proggies is ook (om in je eigen termen te blijven) bull**** :) Je kunt natuurlijk wel gewoon de site leeghalen met een 'leech' programma, maar daardoor krijg je echt de wachtwoorden niet. Het zou een mooie boel worden anders :)

Dit scriptje zorgt ervoor dat bepaalde 'spiders' direct een lege pagina krijgen. Maar als je een beetje creatief bent zorg je dat je 'spider' gewoon doet alsof 'ie Internet Explorer is :)

Acties:
  • 0 Henk 'm!

  • simon
  • Registratie: Maart 2002
  • Laatst online: 19:38
Prammenhanger schreef op 23 March 2003 @ 15:23:
.htaccess geldt alleen voor http-verbindingen, en als je via http een php-file download, krijg je alleen de output te zien. Als je dus niks echo't krijg je een leeg bestand. Als alles snor zit bij je provider hoef je dus nergens bang voor te zijn :)

/edit:

[...]

Wat een larie :D Dit is net zo veilig als wat Cazzz zelf heeft gepost, je hebt namelijk weer gewoon dezelfde gegevens in een bestand staan, alleen op een andere plek :)
dan include je een file.. Dus als hij de source van die file wil laten zien is het zo veiliger.. got my point?

|>


Acties:
  • 0 Henk 'm!

  • Brazza
  • Registratie: November 2000
  • Laatst online: 02-08 07:15

Brazza

Byte me!

het is veilig tot zekere hoogte, als een webhosting bedrijf geen (be)veiligde directories heeft zou je in principe het php bestand kunnen downloaden. Maar ja daar host je ook niet je site...

Acties:
  • 0 Henk 'm!

  • simon
  • Registratie: Maart 2002
  • Laatst online: 19:38
Brazza schreef op 23 maart 2003 @ 16:42:
het is veilig tot zekere hoogte, als een webhosting bedrijf geen (be)veiligde directories heeft zou je in principe het php bestand kunnen downloaden. Maar ja daar host je ook niet je site...
Das niet waar, je kunt niet zoomaar .php files downloaden, aangezien ze eerst geparset worden voordat ze weer de deur uit gaan... Als je webserver normaal/goed staat ingesteld krijgt nooit iemand zoomaar de source te zien van een .php bestand :)

|>


Acties:
  • 0 Henk 'm!

Verwijderd

BTW al had je een login/ww van een sql server dan kun je in 95% van de gevallen er helemaal niets mee omdat hoster de mysql-server geen toegang geeft tot het internet. Je kan er dus alleen vanaf localhost opkomen.

Je zou dan een account bij de hoster aan moeten maken om bij een ander in de DB te komen.

[ Voor 3% gewijzigd door Verwijderd op 23-03-2003 16:51 ]


Acties:
  • 0 Henk 'm!

  • Slackware
  • Registratie: Juni 2001
  • Niet online
Simon schreef op 23 March 2003 @ 16:37:
[...]

dan include je een file.. Dus als hij de source van die file wil laten zien is het zo veiliger.. got my point?
neej, dat maakt geen hol uit, want dan "download" je toch ook ff die file die geinclude wordt.... kleine moeite dan.

Acties:
  • 0 Henk 'm!

  • twiekert
  • Registratie: Februari 2001
  • Laatst online: 30-08 11:55
Slackware schreef op 23 March 2003 @ 16:51:
[...]


neej, dat maakt geen hol uit, want dan "download" je toch ook ff die file die geinclude wordt.... kleine moeite dan.
behalve als je de php include buiten de web directory plaatst..

Acties:
  • 0 Henk 'm!

  • simon
  • Registratie: Maart 2002
  • Laatst online: 19:38
Slackware schreef op 23 March 2003 @ 16:51:
[...]


neej, dat maakt geen hol uit, want dan "download" je toch ook ff die file die geinclude wordt.... kleine moeite dan.
Ik bedoel, als je toevallig die include erin hebt staan, en je laat de source zien (bijv. via php script) dan kunnen de gebruikers alleen dat script wat je bedoeld en niet de rest zien.. In die zin veiliger :)

|>


Acties:
  • 0 Henk 'm!

  • sebas
  • Registratie: April 2000
  • Laatst online: 03-09 12:51
Wat in elk geval gevaarlijk is, is als je je include bestandje in de webdir zet, en niet op php laat eindigen, als die wel op php eindigt kun je gewoon zorgen dat je include file zelf niets doet, iets als:
PHP:
1
2
3
4
5
<?
$server = "localhost";
$user = "bla";
$pass = "bla";
?>

Zou dan geen kwaad kunnen, immers als je het bestand direkt opvraagt, word ie geparsed en wordt er dus gewoon geen output gegenereerd. .inc zou bijvoorbeeld niet geparsed worden, en dus plain naar de user verstuurd. Dit klinkt misschien wel erg voor de hand liggend, maar de ervaring leert dat dit nogal vaak fout wordt gemaakt, ook op grotere sites.

Daarnaast is het uiteraard wel noodzakelijk dat de mysql server onder deze user alleen vanaf de betreffende host, waar je app dus op draait bereikt kan worden (vaak localhost).

Het punt waar het echter lastig wordt, is als je een virtual host hebt op een server waar nog andere users opzitten, die kunnen over het algemeen je .php files lezen, en dus ook je wachtwoord uitlezen, makkelijk om dan met dezelfde gegevens even op je database in te loggen ...

Het is daarom ook erg belangrijk dat je de permissies in je database ook strak trekt, en je applicatie dus net genoeg rechten geeft om te kunnen draaien. (UPDATEs en INSERTs bijvoorbeeld alleen op bepaalde tables toelaten, en je database voor de rest voor zover mogelijk readonly maken voor de db-user waaronder je applicatie draait).

Everyone complains of his memory, no one of his judgement.


Acties:
  • 0 Henk 'm!

  • irondog
  • Registratie: Januari 2001
  • Laatst online: 11-05 10:49

irondog

alle dingen moeten onzin zijn

Als je een server deelt met anderen (met gelijke rechten), kun je dit probleem niet oplossen.
M.a.w. de beheerder van de server moet gewoon voorkomen dat anderen (medegebruikers v/d server) aan je php source kunnen komen. Hij moet bovendien een goed wachtwoordbeleid hebben.

Via http hebben we gezien dat anderen niets kunnen als je maar veilig codet.

Als je root bent op de server kun je eventueel:
#chown apache.apache pw.php
#chmod 400 pw.php
Maja, het lijkt een loos topic te worden

[P5B deluxe] [Core2Duo 6300] [2 X 1GB DDR2] [GF FX7300] [320 GB WD] [Gentoo] [VISTA]

Pagina: 1