Bonjour,

Nouveau sur ce forum j'essaie de trouver des réponses à mes questions car là je commence à m'y perdre un peu (non, je devrais dire beaucoup).

Une petite présentation ne fera de mal à personne et permettra de mieux cerner le problème...
Je ne suis pas un pro du développement web mais j'aime pouvoir concevoir un peu par moi-même mais je ne trouve plus de réponses à mes questions...

Je suis photographe et je suis en train de créer mon site web afin de vendre mes productions...au début je me suis dit très bêtement : un site web en html, des liens de micro-paiements et le téléchargement peut débuter. Après une très courte réflexion je me suis vite rendu compte que ce système serait tout sauf "sécurisé" et que mes productions seraient téléchargeable à souhait en lien direct...J'ai donc planché sur des solutions et j'y suis arrivé à vouloir faire une bdd en mysql et ce qui va avec. (D'autres soucis arrivent en même temps mais chaque chose en son temps).

Ma première réflexion :
Pour en revenir au code, voici ce que j'ai fait mais ca "cale"

Le client arrive sur une page de thumbs où je lui présente mon travail. Il peut cliquer sur le lien :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
<?
echo "<a href="download.php", $_SESSION['ima']=$22>Photos 22>";</a>?>
Là, je pense qu'il crée donc un identifiant de session nommée IMA avec valeur 22.

De là il arrive sur un script de micro-paiement qui va le rediriger vers la page

....download.php?ima22

ensuite le script suivant sur la page :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
SELECT `path` FROM `file` WHERE `id`=$ima
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
<?php
if(!empty($_GET["id"])){
$conn=mysql_connect('mondomaine.com','waaftiduval','xyz');
mysql_select_db('bdmultim',$conn);
$res=mysql_query("select path from files where id=".$_GET["id"]) or die(mysql_error());
if(mysql_num_rows($res)!=0){
$row=mysql_fetch_object($res);
header("Content-type: application/force-download");
header("Content-Length: ".filesize($row->path));
header("Content-Disposition: attachment; filename=".basename($row->path));
readfile($row->path);
}
}
?>
Voilà si vous pouvez m'aider à comprendre mes erreurs....



Ma seconde réflexion aurait été de créer un fichier .htaccess sur le dossier contenant les images mais là aussi j'ai une interdiction de visite ???
le .htaccess était le suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName AccesRestreint
AuthType Basic
 
order deny,allow
deny from all
allow from .mondomaince.com
 
require valid-user
et là encore une fois plantage car on me demande un login et mot de passe.
Ce que je voudrais faire c'est un htaccess sans login et mot de passe mais qui ne permet que la visite "interne" au site que je crée (impossibilité de taper le lien direct dans un navigateur).

3. Je cherche aussi un système pour empêcher les aspirations de site... est ce que le htaccess a lui seul peut le permettre.

Merci.