[php/sql]in phpfile inlognaam database, file beveiligen

Pagina: 1
Acties:
  • 243 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Paultje3181
  • Registratie: November 2002
  • Laatst online: 21:53
Ik heb nu een php file geschreven die een cd of dvd toevoegd aan de sql database. Maar in dit php script staat de inlog en wachtwoord van de sql-database. Ik heb dit in een beveiligde map gezet. Nu wil ik met php de database uitlezen en op een openbare website neerzetten. Maar hoe kan ik dit doen zonder dat mensen mijn wachtwoord uit kunnen lezen? Ik kan dit natuurlijk niet in een openbare folder zetten. Maar op het moment dat ik dit in een beveiligde folder zet krijg je een wachtwoord prompt voor de website.

Iemand die een oplossing heeft voor dit waarschijnlijk erg basic principe. Maar ik zou niet weten hoe ik dit kan googlen. PHP, MySQL database secure login werkt in ieder geval niet.

Acties:
  • 0 Henk 'm!

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 11-09 13:55
De broncode van een PHP-bestand is niet zichtbaar voor je bezoekers. Het bestand wordt bij het aanroepen geparset, en alleen het resultaat hiervan (de ge-echode HTML0 wordt aan de berzoeker teruggegeven. Dingen als "$login = 'root'" zijn dus onzichtbaar voor de eindgebruiker (mits het bestand daadwerkelijkals PHP geparsed wordt).

Desondanks is het een goede gewoonte dergelijke gegevens in een los bestand buiten de document-root te plaatsen, niet benaderbaar via de webbrowser, en deze te includen. Mocht de webserver ooit eens besluiten je bestanden niet meer te parsen, waardoor de kale bron zichtbaar wordt, staan die gegevens in ieder geval veilig.

Als dit geen antwoord op je graag geeft, snap ik je vraag niet, en denk ik dat je iets duidelijker moet zijn :)

Acties:
  • 0 Henk 'm!

  • Paultje3181
  • Registratie: November 2002
  • Laatst online: 21:53
dit is inderdaad wat ik bedoel... Dankjewel... Maar kun je dan niet met bijvoorbeeld wget de files toch binnenhalen?

En met includen bedoel je dat je via ../ gaat werken neem ik aan?

Dankjewel voor je antwoord in ieder geval!

Acties:
  • 0 Henk 'm!

  • Fatamorgana
  • Registratie: Augustus 2001
  • Laatst online: 21-07 01:24

Fatamorgana

Fietsen is gezond.

Maar kun je dan niet met bijvoorbeeld wget de files toch binnenhalen?
wget vraagt ook de files op via de webserver dus je krijgt alsnog de HTML code terug en geen PHP code.

Acties:
  • 0 Henk 'm!

  • Skinkie
  • Registratie: Juni 2001
  • Laatst online: 09-06-2020

Skinkie

Op naar de 500

Paultje3181 schreef op zondag 22 juli 2007 @ 18:56:
dit is inderdaad wat ik bedoel... Dankjewel... Maar kun je dan niet met bijvoorbeeld wget de files toch binnenhalen?

En met includen bedoel je dat je via ../ gaat werken neem ik aan?

Dankjewel voor je antwoord in ieder geval!
wget niet, maar een brakken filewrapper wellicht wel... en soms wil het ook nog zo zijn dat je op een gedeelde webserver zit. En ik ben zeer benieuwd of er iemand een methode weet die betrouwbaar (zonder suexec of chroot) mij gaat voorkomen via PHP (user apache) alle documenten op een webserver te besnuffelen die normaal gesproken ook met apache bereikbaar zijn.

Steun Elkaar, Kopieer Nederlands Waar!


Acties:
  • 0 Henk 'm!

  • Paultje3181
  • Registratie: November 2002
  • Laatst online: 21:53
ik kom er niet uit. Ik heb gewoon een goed adres meegegeven enzo, maar hij doet het gewoon niet..
php:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
$connect = mysql_connect("localhost","login","ww");
if (!$connect)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("versninf_films", $connect);

$result = mysql_query("SELECT * FROM cd ORDER BY artiestcd");

while($row = mysql_fetch_array($result))
  {
  echo "<tr><td class=\"normal\">" . $row['artiestcd'] . "</td>";
  echo "<td class=\"normal\">" . $row['titelcd'] . "</td>";
  echo "<tr><td class=\"normal\">" . $row['subtitelcd'] . "</td>";
  echo "<td class=\"normal\">" . $row['genrecd'] . "</td></tr>";
  echo " ";
  }

mysql_close($connect);
?>

html:
code:
1
2
3
4
5
6
7
<table class="border"><tr>
<td class="normal" width="250px"><b>Artiest</b></td>
<td class="normal" width="250px"><b>Titel</b></td>
<td class="normal" width="250px"><b>Subtitel</b></td>
<td class="normal" width="250px"><b>Jaar van Uitgifte</b></td></tr>
<?php include("../../showcd.php"); ?>
</table>

De html is volledig xhtml compatible en de php klopte eerder wel toen het in een phtml pagina stond. Dus waarom het niet werkt, geen idee...
De structuur = public_html/paul/pages/cd.html en de php staat in de public_html map.
Wat doe ik hier verkeerd? En kan ik ook nog onder die public_html zitten door nog een keer ../ te doen?

Acties:
  • 0 Henk 'm!

  • ripexx
  • Registratie: Juli 2002
  • Laatst online: 12-09 10:23

ripexx

bibs

Volgens mij wordt de PHP parser niet aangeroepen. Wat gebeurt er als je de extensie van .html veranderd naar .php? En bekijk anders eens je output(bron).

buit is binnen sukkel


Acties:
  • 0 Henk 'm!

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 11-09 13:55
Paultje3181 schreef op zondag 22 juli 2007 @ 18:56:
dit is inderdaad wat ik bedoel... Dankjewel... Maar kun je dan niet met bijvoorbeeld wget de files toch binnenhalen?

En met includen bedoel je dat je via ../ gaat werken neem ik aan?

Dankjewel voor je antwoord in ieder geval!
Nee. Zodra je het bestand via de webserver opvraagt zal deze het bestand laten parsen, en krijg je alleen het resultaat terug. Om de bron te krijgen zul je de webserver moeten omzeilen, door bijv via FTP het bestand te openen. Maar het lijkt me dat je daar al een wachtwoord op hebt zitten.

Dit houd wel in dat de webserver moet weten welke bestanden hij als PHP moet parsen. Meestal zijn dit alleen bestanden met de extensie ".php". Let er dus op dat je je bestand wel als ".php" opslaat (!).

Acties:
  • 0 Henk 'm!

  • Heikanu
  • Registratie: Juni 2007
  • Laatst online: 07-05 21:46
Paultje, je moet cd.html hernoemen naar cd.php. Je kunt in een html bestand geen php code gebruiken, aangezien deze dan niet geparst wordt!

Acties:
  • 0 Henk 'm!

  • Paultje3181
  • Registratie: November 2002
  • Laatst online: 21:53
volgens de w3c mag je ook .phtml gebruiken. Dit heb ik dan ook gedaan en met relatieve links gewerkt ../../../ zodat ik onder de public_html zit... Als het goed is kan bijv. wget of de internetbrowser er dan niet meer bij...

Dankjulliewel voor alle hulp
Pagina: 1