Contexte : une page php contient des liens vers des fichiers (jpg, doc)
Objectif : tracer les clics sur ces éléments dans une base.
Question : est-ce possible d'appeler une procédure php lors du clic sur
ces éléments ?
Contrainte : sans javascript ;-)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Olivier Miakinen
Contexte : une page php contient des liens vers des fichiers (jpg, doc) Objectif : tracer les clics sur ces éléments dans une base. Question : est-ce possible d'appeler une procédure php lors du clic sur ces éléments ? Contrainte : sans javascript ;-)
Avec un truc de ce genre ? Garanti 100 % sans JavaScript.
Fichier .htaccess : Options +MultiViews
Fichier machin.jpg.php : <?php header("Content-type: image/jpeg"); ... tracer l'appel dans la base ... readfile("CHEMIN/machin.jpg"); ?>
Fichier CHEMIN/machin.jpg : -- l'image --
Contexte : une page php contient des liens vers des fichiers (jpg, doc)
Objectif : tracer les clics sur ces éléments dans une base.
Question : est-ce possible d'appeler une procédure php lors du clic sur
ces éléments ?
Contrainte : sans javascript ;-)
Avec un truc de ce genre ? Garanti 100 % sans JavaScript.
Fichier .htaccess :
Options +MultiViews
Fichier machin.jpg.php :
<?php
header("Content-type: image/jpeg");
... tracer l'appel dans la base ...
readfile("CHEMIN/machin.jpg");
?>
Contexte : une page php contient des liens vers des fichiers (jpg, doc) Objectif : tracer les clics sur ces éléments dans une base. Question : est-ce possible d'appeler une procédure php lors du clic sur ces éléments ? Contrainte : sans javascript ;-)
Avec un truc de ce genre ? Garanti 100 % sans JavaScript.
Fichier .htaccess : Options +MultiViews
Fichier machin.jpg.php : <?php header("Content-type: image/jpeg"); ... tracer l'appel dans la base ... readfile("CHEMIN/machin.jpg"); ?>
Fichier CHEMIN/machin.jpg : -- l'image --
Thierry
"Olivier Miakinen" <om+ a écrit dans le message de news: 46026efc$
Fichier .htaccess : Options +MultiViews
Fichier machin.jpg.php :
Ca implique d'avoir un fichier machin par image, non ? Pour logguer les appels a tous les jpg: RewriteRule (.*).jpg$ log.php?img=$1 [QSA]Pour loguer les docs en sus ca doit ressembler a ca (je suis nul en exp. regulieres):RewriteRule (.*).[jpg|doc]$ log.php?img=$1 [QSA]
"Olivier Miakinen" <om+news@miakinen.net> a écrit dans le message de news:
46026efc$1@neottia.net...
Fichier .htaccess :
Options +MultiViews
Fichier machin.jpg.php :
Ca implique d'avoir un fichier machin par image, non ?
Pour logguer les appels a tous les jpg:
RewriteRule (.*).jpg$ log.php?img=$1 [QSA]Pour loguer les docs en sus ca
doit ressembler a ca (je suis nul en exp. regulieres):RewriteRule
(.*).[jpg|doc]$ log.php?img=$1 [QSA]
"Olivier Miakinen" <om+ a écrit dans le message de news: 46026efc$
Fichier .htaccess : Options +MultiViews
Fichier machin.jpg.php :
Ca implique d'avoir un fichier machin par image, non ? Pour logguer les appels a tous les jpg: RewriteRule (.*).jpg$ log.php?img=$1 [QSA]Pour loguer les docs en sus ca doit ressembler a ca (je suis nul en exp. regulieres):RewriteRule (.*).[jpg|doc]$ log.php?img=$1 [QSA]
Olivier Miakinen
Fichier .htaccess : Options +MultiViews
Fichier machin.jpg.php :
Ca implique d'avoir un fichier machin par image, non ?
Oui.
Pour logguer les appels a tous les jpg: RewriteRule (.*).jpg$ log.php?img=$1 [QSA]
Ta solution est bien meilleure en effet.
Pour loguer les docs en sus ca doit ressembler a ca (je suis nul en exp. regulieres):RewriteRule (.*).[jpg|doc]$ log.php?img=$1 [QSA]
Je n'ai jamais utilisé les RewriteRule, mais connaissant mieux les expressions régulières je parierais pour des parenthèses à la place des crochets :
(.*).(jpg|doc)$ log.php?img=$1 [QSA]
Fichier .htaccess :
Options +MultiViews
Fichier machin.jpg.php :
Ca implique d'avoir un fichier machin par image, non ?
Oui.
Pour logguer les appels a tous les jpg:
RewriteRule (.*).jpg$ log.php?img=$1 [QSA]
Ta solution est bien meilleure en effet.
Pour loguer les docs en sus ca
doit ressembler a ca (je suis nul en exp. regulieres):RewriteRule
(.*).[jpg|doc]$ log.php?img=$1 [QSA]
Je n'ai jamais utilisé les RewriteRule, mais connaissant mieux les
expressions régulières je parierais pour des parenthèses à la place
des crochets :
"Olivier Miakinen" <om+ a écrit dans le message de news: 46026efc$
Fichier .htaccess : Options +MultiViews
Fichier machin.jpg.php :
Ca implique d'avoir un fichier machin par image, non ?
Suffit de passer le paramètre qui va bien dans le script php...
<a href="monlien.php?f=moi.jpg">Coucou</a> par exemple.
monlien.php se charge d'envoyer les bons entêtes, logger, et envoyer le fichier.
Pour logguer les appels a tous les jpg: RewriteRule (.*).jpg$ log.php?img=$1 [QSA]Pour loguer les docs en sus ca doit ressembler a ca (je suis nul en exp. regulieres):RewriteRule (.*).[jpg|doc]$ log.php?img=$1 [QSA]
Encore plus simple : - Un dossier dans lequel on fout tous nos fichiers à télécharger. - .htaccess : Deny from all - monlien.php va chercher les données dans le dossier pour les envoyer en temps réel.
En cas de tentatives de grugeages en pointant sur le fichier en direct, on aura un 403.
L'idéal est encore de pouvoir utiliser une liste de correspondances entre les fichiers et le lien à mettre dans le paramètre f que je donne... pour éviter que l'utilisateur s'amuse à tout essayer (genre tenter de voir le .htpasswd)
On aurait alors un monlien.php=f4 et dans un fichier ou une table mysql
134 ==> images/moi.jpg
pour ensuite faire tout ce qu'il faut...
"Olivier Miakinen" <om+news@miakinen.net> a écrit dans le message de news:
46026efc$1@neottia.net...
Fichier .htaccess :
Options +MultiViews
Fichier machin.jpg.php :
Ca implique d'avoir un fichier machin par image, non ?
Suffit de passer le paramètre qui va bien dans le script php...
<a href="monlien.php?f=moi.jpg">Coucou</a>
par exemple.
monlien.php se charge d'envoyer les bons entêtes, logger, et envoyer le
fichier.
Pour logguer les appels a tous les jpg:
RewriteRule (.*).jpg$ log.php?img=$1 [QSA]Pour loguer les docs en sus ca
doit ressembler a ca (je suis nul en exp. regulieres):RewriteRule
(.*).[jpg|doc]$ log.php?img=$1 [QSA]
Encore plus simple :
- Un dossier dans lequel on fout tous nos fichiers à télécharger.
- .htaccess : Deny from all
- monlien.php va chercher les données dans le dossier pour les envoyer
en temps réel.
En cas de tentatives de grugeages en pointant sur le fichier en direct,
on aura un 403.
L'idéal est encore de pouvoir utiliser une liste de correspondances
entre les fichiers et le lien à mettre dans le paramètre f que je
donne... pour éviter que l'utilisateur s'amuse à tout essayer (genre
tenter de voir le .htpasswd)
On aurait alors un monlien.php=f4
et dans un fichier ou une table mysql
"Olivier Miakinen" <om+ a écrit dans le message de news: 46026efc$
Fichier .htaccess : Options +MultiViews
Fichier machin.jpg.php :
Ca implique d'avoir un fichier machin par image, non ?
Suffit de passer le paramètre qui va bien dans le script php...
<a href="monlien.php?f=moi.jpg">Coucou</a> par exemple.
monlien.php se charge d'envoyer les bons entêtes, logger, et envoyer le fichier.
Pour logguer les appels a tous les jpg: RewriteRule (.*).jpg$ log.php?img=$1 [QSA]Pour loguer les docs en sus ca doit ressembler a ca (je suis nul en exp. regulieres):RewriteRule (.*).[jpg|doc]$ log.php?img=$1 [QSA]
Encore plus simple : - Un dossier dans lequel on fout tous nos fichiers à télécharger. - .htaccess : Deny from all - monlien.php va chercher les données dans le dossier pour les envoyer en temps réel.
En cas de tentatives de grugeages en pointant sur le fichier en direct, on aura un 403.
L'idéal est encore de pouvoir utiliser une liste de correspondances entre les fichiers et le lien à mettre dans le paramètre f que je donne... pour éviter que l'utilisateur s'amuse à tout essayer (genre tenter de voir le .htpasswd)
On aurait alors un monlien.php=f4 et dans un fichier ou une table mysql
134 ==> images/moi.jpg
pour ensuite faire tout ce qu'il faut...
Olivier Miakinen
Suffit de passer le paramètre qui va bien dans le script php...
<a href="monlien.php?f=moi.jpg">Coucou</a> par exemple.
monlien.php se charge d'envoyer les bons entêtes, logger, et envoyer le fichier.
D'accord, mais alors cela t'impose de changer les liens dans toutes les pages HTML. Ma solution, et encore mieux celle de Thierry, demandent beaucoup moins de changement.
Suffit de passer le paramètre qui va bien dans le script php...
<a href="monlien.php?f=moi.jpg">Coucou</a>
par exemple.
monlien.php se charge d'envoyer les bons entêtes, logger, et envoyer le
fichier.
D'accord, mais alors cela t'impose de changer les liens dans toutes les
pages HTML. Ma solution, et encore mieux celle de Thierry, demandent
beaucoup moins de changement.
Suffit de passer le paramètre qui va bien dans le script php...
<a href="monlien.php?f=moi.jpg">Coucou</a> par exemple.
monlien.php se charge d'envoyer les bons entêtes, logger, et envoyer le fichier.
D'accord, mais alors cela t'impose de changer les liens dans toutes les pages HTML. Ma solution, et encore mieux celle de Thierry, demandent beaucoup moins de changement.
Thierry
"Jerome Blion" a écrit dans le message de news: 4602d04d$0$10251$
Tiens, un BlionCorp :-)
Suffit de passer le paramètre qui va bien dans le script php...
<a href="monlien.php?f=moi.jpg">Coucou</a> par exemple.
C'est lourd. Surtout si t'utilises un truc clicodrome pour generer tes pages HTML.
Encore plus simple :
Elle est simple ma soluce !
L'idéal est encore de pouvoir utiliser une liste de correspondances entre les fichiers et le lien à mettre dans le paramètre f que je donne... pour éviter que l'utilisateur s'amuse à tout essayer (genre tenter de voir le .htpasswd)
L'avantage avec les RewriteRules c'est que le filtrage est fait directement par Apache et qu'on ne risque pas de se faire choper des .htpasswd par negligence ou erreur de programmation.
"Jerome Blion" <jerome.blion@free.fr> a écrit dans le message de news:
4602d04d$0$10251$426a74cc@news.free.fr...
Tiens, un BlionCorp :-)
Suffit de passer le paramètre qui va bien dans le script php...
<a href="monlien.php?f=moi.jpg">Coucou</a>
par exemple.
C'est lourd. Surtout si t'utilises un truc clicodrome pour generer tes pages
HTML.
Encore plus simple :
Elle est simple ma soluce !
L'idéal est encore de pouvoir utiliser une liste de correspondances entre
les fichiers et le lien à mettre dans le paramètre f que je donne... pour
éviter que l'utilisateur s'amuse à tout essayer (genre tenter de voir le
.htpasswd)
L'avantage avec les RewriteRules c'est que le filtrage est fait directement
par Apache et qu'on ne risque pas de se faire choper des .htpasswd par
negligence ou erreur de programmation.
"Jerome Blion" a écrit dans le message de news: 4602d04d$0$10251$
Tiens, un BlionCorp :-)
Suffit de passer le paramètre qui va bien dans le script php...
<a href="monlien.php?f=moi.jpg">Coucou</a> par exemple.
C'est lourd. Surtout si t'utilises un truc clicodrome pour generer tes pages HTML.
Encore plus simple :
Elle est simple ma soluce !
L'idéal est encore de pouvoir utiliser une liste de correspondances entre les fichiers et le lien à mettre dans le paramètre f que je donne... pour éviter que l'utilisateur s'amuse à tout essayer (genre tenter de voir le .htpasswd)
L'avantage avec les RewriteRules c'est que le filtrage est fait directement par Apache et qu'on ne risque pas de se faire choper des .htpasswd par negligence ou erreur de programmation.