par
Wormblaster » 19 sept. 2006, 16:25
Mon script en 2 pages marche bien mais c'est juste que je voudrais savoir comment se fait cette protection naturelle car je demeure un petit filou.
Pour être plus clair, j'ai sur ma page liste.php ce genre de résultats (en fonction d'un critère c) :
<a href="download.php?id=15">file 15</a>
<a href="download.php?id=27">file 27</a>
...
Ma page download.php, elle, est comme ca :
<?
include "param.php";
$q="SELECT * FROM files WHERE id='".$_GET["id"]."'";
$r=mysql_query($q);
while($rows=mysql_fetch_array($r)){
$filename = $rows["path"];
}
function download($filename) {
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($filename) );
header('Accept-Ranges: bytes');
header('Content-Length: '.filesize($filename) );
readfile($filename);
}
download($filename);
?>
Tout cela marche nickel, mais je me suis dit : si je tappe dans l'url directement
http://www.monsite.com/download.php?id=1 je vais avoir accès au document 1 qui normalement ne m'est pas proposé (en admettant que je sois un pirate de bas étage), tu me suis ? Hors là ca me propose (et tant mieux) de télécharger la page download.php, je voulais juste savoir le pourquoi du comment.
Wormblaster
Mon script en 2 pages marche bien mais c'est juste que je voudrais savoir comment se fait cette protection naturelle car je demeure un petit filou.
Pour être plus clair, j'ai sur ma page liste.php ce genre de résultats (en fonction d'un critère c) :
<a href="download.php?id=15">file 15</a>
<a href="download.php?id=27">file 27</a>
...
Ma page download.php, elle, est comme ca :
[php]<?
include "param.php";
$q="SELECT * FROM files WHERE id='".$_GET["id"]."'";
$r=mysql_query($q);
while($rows=mysql_fetch_array($r)){
$filename = $rows["path"];
}
function download($filename) {
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($filename) );
header('Accept-Ranges: bytes');
header('Content-Length: '.filesize($filename) );
readfile($filename);
}
download($filename);
?>[/php]
Tout cela marche nickel, mais je me suis dit : si je tappe dans l'url directement http://www.monsite.com/download.php?id=1 je vais avoir accès au document 1 qui normalement ne m'est pas proposé (en admettant que je sois un pirate de bas étage), tu me suis ? Hors là ca me propose (et tant mieux) de télécharger la page download.php, je voulais juste savoir le pourquoi du comment.
Wormblaster