http request met php include
javascript http request naar een bestand in de 'www root'. Dit bestand heet bijv http_req.php
Hierin include ik weer een ander bestand buiten de www root, zodat mensen uiteraard niet dit bestand kunnen downloaden. Is dit een goede manier om in javascript http requests te doen naar php bestanden die je niet wilt laten zien aan de buitenwereld ?
Of is er een andere/betere methode voor?
Dave L op 28/04/2012 16:04:05:
Ik maak op de volgende manier een http request in javascript:
javascript http request naar een bestand in de 'www root'. Dit bestand heet bijv http_req.php
Hierin include ik weer een ander bestand buiten de www root, zodat mensen uiteraard niet dit bestand kunnen downloaden. Is dit een goede manier om in javascript http requests te doen naar php bestanden die je niet wilt laten zien aan de buitenwereld ?
Of is er een andere/betere methode voor?
javascript http request naar een bestand in de 'www root'. Dit bestand heet bijv http_req.php
Hierin include ik weer een ander bestand buiten de www root, zodat mensen uiteraard niet dit bestand kunnen downloaden. Is dit een goede manier om in javascript http requests te doen naar php bestanden die je niet wilt laten zien aan de buitenwereld ?
Of is er een andere/betere methode voor?
Is het een config file waar belangrijke gegevens in staan of is het gewoon een script?
Een goede webserver laat het niet toe om folders te browsen zoals een standaard apache installatie thuis dat wel toe laat. Zoiezo wordt php op de server uitgevoerd, dus in principe kan er nooit php code in je 'view source code' te zien zijn als je dit opvraagd.
Voor eventuele gegevens zoals db connects etc is het wel aan te raden dit buiten je root te houden, is altijd veiliger. Maar voor een normaal script zal ik het niet aanraden.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
$file = "pad_naar_php_bestand";
if (is_file($file)){
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false);
header("Content-type: application/octetstream");
header("Content-Disposition: attachment; filename=\"$filename\"");
header("Content-Transfer-Encoding: binary");
header("Content-Length: $fileinfo[size]");
set_time_limit(0);
readfile($file);
}
else
{
echo "<h5 class='error'>Bestand niet gevonden!</h5>";
}
?>
$file = "pad_naar_php_bestand";
if (is_file($file)){
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false);
header("Content-type: application/octetstream");
header("Content-Disposition: attachment; filename=\"$filename\"");
header("Content-Transfer-Encoding: binary");
header("Content-Length: $fileinfo[size]");
set_time_limit(0);
readfile($file);
}
else
{
echo "<h5 class='error'>Bestand niet gevonden!</h5>";
}
?>
Dit moet dus uiteraard wel op de webserver zelf...
Dus vandaar dat ik in het http request bestand weer een ander php bestandje include waarin de uiteindelijke 'gevoelige' scripting staat. Met SQL queries etc....
Vroeg me af of dit op een andere methode zou kunnen. Aangezien ik geen andere uitweg zie, omdat javascript niet kan aanroepen onder 'www root' niveau...
Gewijzigd op 05/05/2012 15:45:35 door Dave L