Vous n'êtes pas connecté - 0 membre connecté
Catégories
Graphisme
Flash (51)
Print (66)
Programmation
PHP (66)
ASP (2)
CSS (26)
Hardware
PC (34)
Mac (14)
Linux (5)
Divers
Blabla (261)
933 Sujets
12337 Réponses
Programmation > PHP > htaccess [Résolvationné]
htaccess [Résolvationné]
 Kiks,

je galère sur un .htaccess, en fait il s'agit d'un section allopass (donc payante) pour l'imiter l'accés à des photos et des vidéos (non c'est pas un site XXX ;) ), jusque là tout marche bien cependant les images et les vidéos restent accessibles directement via l'url:
http://monsite/fichier /video.avi

Pour pallier au pb j'ai placé un .htaccess dans le repertoire concerné du type:


AuthGroupFile /dev/null
AuthName "Acces restreint"
AuthType Basic

deny from all
C'est tellement bien protégé que mes scripts PHP n'ont plus accès à ces fichiers... Argh !!! Un peu d'aide please. @++
Posté le 07 09 2007 à 14h54
tyler - Membre - www

Réponses - htaccess [Résolvationné]
<< 1 2 >>
o0o > Un super-mega-maxi merci pour ton aide, en fait ta solution est la bonne...ça marche mais le pb est maintenant décalé. Les images sont affichées via une anim en flash (avec slideshow etc...) qui charge les images avec un loadClip, ça marche sous IE, mais pas sous Firefox.
Le gestionnaire onLoadError renvoi: errorCode:URLNotFound> > httpSta tus:0

C'est donc lié au .htaccess puisque ça fonctionne sans lui. Ta soluce est ok pour l'affichage des images mais pas pour une anim flash sous firefox...à se la prendre...

[edit]

Rapide le Google

[/edit]
Posté le 08 09 2007 à 19h16
tyler - Membre - www
huhu google et benzor, i lfaut faire attentio nà ce qu'on dit ^^ (le fromage c'est bon mangez en, la tête de moine le gruyere, l'emmental,...)

J'avais cru lire que pour le png concernant la bidoulle htaccess, sous firefox il y a aussi des souçis, je me demande bien pourquoi et vais laisser ma curiosité et ma connexion prendre le dessus... hop c'est reparti why why ^^

Sinon peut-être peux tu utiliser une solution plus lourde mais qui à l'aire d'être robuste: anti leech concept ^^

http://www.antileech.net / et google

edit:
peut être utiliser un autre var d'env:
httpd.apache.org
Posté le 08 09 2007 à 20h46
o0o - Administrateur - www
sinon tu peux pas créer une copie temporaire de ton fichier ?
Posté le 09 09 2007 à 08h18
senkante - Membre
 euh, les "referer" ça se bidouille. La solution me semble donc boiteuse, surtout pour un truc payant.

Pourtant, il en existe une de solution. Ça s'appelle fpassthru() et c'est c'est du php ;-)

En deux mots :

- Tu rends tes dossiers remplis de contenu totalement hermétiques, pour ça une seule ligne suffit :
Deny to all

- Tu écris un script php dans un dossier accessible, lui. Ce script va, parès avoir vérifié la validité de l'accès, ouvrir le fichier sur le serveur, et renvoyer tout son contenu (avec les headers appropriés) à la place de renvoyer une page html. Le tour est joué :-).
Voici un exemple de script php (attention, il ne faut AUCUN caractère hors des balises PHP, espaces y compris : comme le contenu envoyé est du binaire, ça ferait tout foirer) :

if ($fd = fopen ($fullPath, "rb")) {
    $fsize =filesize($fullPath);
    $fname = basename($fullPath);
    if(function_exists('mime_content_type')){
            $type = mime_content_type($content['filename']);
            $ext = getExt($content['filename']);
    }

    header("Pragma: ");

    header("Cache-Control: Public");

    header("Content-type: ".$type);

    header('Content-disposition: inline; filename="'.$nom_fichier.'.'.$ext.'"');

    header("Content-length: ".$fsize);

       header("Content-Transfer-Encoding: binaryn");

       fpassthru($fd);
       exit();
}
Si t'as des questions, n'hésite pas ;-). Si je ne réponds pas, envoie un mail^^
Posté le 10 09 2007 à 10h31
symzo - Membre - www
Il doit bien y avoir une directives a mettre dans le htaccess qui fait:

*autoriser l'accès à un fichier que par un script sur le serveur et envois au navigateur ...

Pour le referer, un moyen de passer outre les sécurités mise en vigueur:
> installer firefox
> > installer RefControl https
> > > forcer le referer


SymZo> > c'est quoi le moins lourd a mettre en place?
Posté le 10 09 2007 à 14h02
o0o - Administrateur - www
o0o > > je ne pense pas qu'il y ait d'autre méthode que celle dont je parle juste au-dessus. Elle est très simple et elle fonctionne parfaitement bien, que demander de plus ^^ ?. Je pense que les délais dûs à la lecture du fichier par le script php sont extrêmement faibles.

A mettre en place, c'est très simple ;-).
Posté le 11 09 2007 à 00h01
symzo - Membre - www
Kiks les jeuns, super les infos, j'avoue que j'ai décroché de l'affaire ces deux derniers jours pour avancer un peu sur le site et prendre un peu de recul. Je rattaque demain matin pour essayer vos propositions ;)
Posté le 11 09 2007 à 19h40
tyler - Membre - www
 Ca y est ça tourne, alors résumons:

o0o > Ta méthode fonctionne très bien, les thumbs (donc des images) apparaissent bien et l'accès direct des images et vidéos sur le serveur est effectivement interdit, le seul pb c'est que j'affiche les images et vidéos en taille réelles via une animation flash, ça fonctionne sous IE mais pas sous Firefox (Le gestionnaire onLoadError renvoi: errorCode:URLNotFound> > httpStatus:0).
En bref, une solution parfaitement fonctionnelle (on ne parle pas des aléas des referer) mais pas dans mon cas *sic*

symzo > Ta méthode fonctionne également très bien, c'est celle que j'ai mise en place. Ainsi les fichiers sont complètement verrouillés et seulement accessibles au script qui vérifie préalablement que le client a saisi un code valide (via une variable de session).

A noter:
La fonction mime-content-type est obsolète, la doc renvoi donc sur les fonctions fileinfo qui requiert malheureusement la bibliothèque magic_open.

L'hébergement sur lequel j'ai posé mon script ne propose pas cette biblio, ils ont tout de même laissé mime_content_type à dispo.

En tout cas un gros merci à vous deux, j'ai bien failli passer le pc par la fenêtre ^^

Un peu de code:

if ($_SESSION['navig_section'] == '4.2')
{
    if (!$_SESSION['allopassok']) header('location:gd_erreur.php');
}
$name = urldecode($_GET['fullpath']);
if ($fd = fopen($name, 'rb'))
{
    $ext = array();
    $ext = explode('.', basename($name));
    if(function_exists('mime_content_type'))
    {
        $type = mime_content_type($name);
    }
    # Envoie des en-têtes
    header('Cache-Control: Public');
    header('Content-Type: ' . $type);
    header('Content-disposition: inline; filename="' . basename($name) . '";');
    header('Content-Length: ' . filesize($name));
    # Envoie le contenu du fichier, puis stoppe le script
    fpassthru($fd);
    exit;
}
Posté le 13 09 2007 à 14h25
tyler - Membre - www
intéressantes précisions, c'est noté ;-).
Posté le 14 09 2007 à 18h20
symzo - Membre - www
<< 1 2 >>
Sujets PHP
<< 1 2 ... 5 6 7 >>
Blog en PHP
Auteur : Hymedia
Posté le 12 10 2006 à 11h34
6 Réponses (Nouveau sujet)
Sujet visité 752 fois
Directive apache
Auteur : mob
Posté le 25 09 2006 à 14h34
4 Réponses (Nouveau sujet)
Sujet visité 826 fois
Recherche CMS
Auteur : Narno
Posté le 25 09 2006 à 15h06
11 Réponses (Nouveau sujet)
Sujet visité 845 fois
Print screen (...)
Auteur : caniche
Posté le 15 09 2006 à 09h32
15 Réponses (Nouveau sujet)
Sujet visité 941 fois
hybridation listbox
Auteur : veensez
Posté le 15 09 2006 à 11h06
11 Réponses (Nouveau sujet)
Sujet visité 727 fois
[Résolu en (...)
Auteur : Narno
Posté le 25 07 2006 à 17h34
9 Réponses (Nouveau sujet)
Sujet visité 816 fois
Excel > MySql
Auteur : askhanir
Posté le 01 09 2006 à 13h36
7 Réponses (Nouveau sujet)
Sujet visité 901 fois
Remplacement texte (...)
Auteur : Tibooo
Posté le 27 08 2006 à 17h13
8 Réponses (Nouveau sujet)
Sujet visité 754 fois
Url Rewriting
Auteur : Dnepr
Posté le 26 07 2006 à 17h15
10 Réponses (Nouveau sujet)
Sujet visité 770 fois
[RESOLU] xml with xsl
Auteur : Pierrot
Posté le 18 08 2006 à 17h11
2 Réponses (Nouveau sujet)
Sujet visité 782 fois
<< 1 2 ... 5 6 7 >>
Mentions légales   -   Crédits   -   Nous contacter   -   © Benzor 2006