Est-il possible de suivre les téléchargements d'un site Web par adresse IP?
Idéalement, j'aimerais voir un fichier journal avec éventuellement des horodatages, des occurrences et qui (adresse IP et/ou pays d'origine).
Si quelqu'un pouvait m'aider à me diriger dans la bonne direction ...
J'aimerais voir un fichier de log
Les journaux d’accès au serveur contiennent les informations, il vous suffit de les extraire.
Les journaux d’accès (fichier texte) contiennent un enregistrement de chaque demande adressée à votre serveur. Le journal des accès comprend l’horodatage, l’URL du fichier demandé, l’adresse IP qui a demandé le fichier et le code d’état.
Pour résumer toutes les fois où une adresse IP particulière a demandé un fichier particulier, vous devez parcourir le fichier journal. Il existe de nombreux outils de traitement des journaux d'accès. Toutefois, vous pouvez écrire le vôtre s'il s'agit d'une requête spécifique.
Juste pour ajouter, si vous le faites de manière proactive, vous le ferez probablement dans votre script de téléchargement ... enregistrez le fichier, l'adresse IP et augmentez un compteur lorsque le téléchargement est effectué.
Si vous cherchez quelque chose de plus simple et plus spécifique. Vous pouvez envisager d'utiliser AJAX pour créer votre propre système de fichiers journaux (ou base de données) contenant uniquement les téléchargements que vous souhaitez suivre.
La raison principale en est: parce que les journaux d’accès au serveur Web contiennent une requête eeeeeevery adressée à votre serveur Web. Cela signifie que lorsqu'un utilisateur ouvre uniquement une page de votre site, il peut ajouter une moyenne (très approximative) de 30 à 70 lignes dans votre fichier journal. Une pour chaque petite chose utilisée dans la page (des fichiers HTML/CSS/JS à toutes les belles petites icônes 16x16 pixels que vous avez créées avec beaucoup d'amour avec Paint)
Donc, si vous voulez suivre uniquement des fichiers spécifiques (comme si vous avez un site de téléchargement de musique et souhaitez uniquement suivre ces fichiers de musique), vous pouvez ajouter un écouteur d'événement "onclick" sur vos liens de téléchargement. Ne pointez pas sur le fichier mais déclenche une fonction AJAX qui exécutera un script côté serveur dans lequel vous pourrez enregistrer les informations relatives au téléchargement (adresse IP, horodatage, référent, informations du navigateur, etc.). .):
Option 1: dans un fichier journal si vous voulez une simple représentation chronologique
Option 2: dans une base de données si vous souhaitez suivre les compteurs de téléchargement plus facilement et dans une structure plus optimisée, afin de ne pas dupliquer les données sur le serveur.
Après cette "partie sauvegardante", renvoyez l’URL du fichier que l’utilisateur veut télécharger sur le navigateur, puis le navigateur chargera cette URL et l’utilisateur pourra télécharger le fichier.
En utilisant cette méthode, vous pouvez être sûr que le téléchargement a bien été enregistré avant que l'utilisateur télécharge votre fichier. C'est mieux que d'envoyer la demande AJAX simultanément lorsqu'un utilisateur clique dessus.
Le seul inconvénient, c’est: le fait que c’est une solution "de couche supérieure", si un utilisateur connaît l’URL de votre fichier et l’écrit directement dans sa barre d’adresse, il contournera votre compteur de téléchargements. Cela ne se produirait pas sur un système de fichiers journaux basé directement sur le serveur Web (Apache ou autres).