Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/12/2007, 14h04   #1
Membre éprouvé
 
Avatar de Sayrus
 
Inscription : décembre 2005
Messages : 818
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : décembre 2005
Messages : 818
Points : 456
Points : 456
Par défaut Protéger les fichiers de cache + suppression automatisée.

Bonjour,

J'ai créé un système de cache qui génère des fichiers de contenu (.php) dans le répertoire "cache".

Cependant, je souhaiterais n'autoriser l'accès à ces fichiers que depuis "index.php" et non par les urls www.monsite.com/cache/fichier_de_cache.php

Comment puis-je procéder?

Ensuite autre petit subtilité. Je souhaiterais supprimer ces fichiers tous les jours dès minuit.

Quelle serait la manière la plus rapide pour que dès qu'une personne se connecte, déclenche cette action après minuit?

N'y a-t-il pas moyen d'éviter la comparaison de la date des fichiers par rapport à la nouvelle?

Merci beaucoup
Sayrus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2007, 14h16   #2
Membre chevronné
 
Inscription : janvier 2006
Messages : 918
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 918
Points : 735
Points : 735
Pour la première question, il faut utiliser un fichier .htaccess, mais je ne maîtrise pas super bien.

Pour ta seconde question, tu peux définir une table dans une BDD qui contient la date du jour et le fait que les données ont été supprimées.
Lorsque quelqu'un accède au site, tu vérifies si la date de la connexion existe dans cette base (sinon tu la créé avec un INSERT), si ton cache a été vidé (champ à 0) pour la date (sinon tu le vides et du mets le champ à 1 avec un UPDATE).
guidav est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2007, 14h25   #3
Membre éprouvé
 
Avatar de Sayrus
 
Inscription : décembre 2005
Messages : 818
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : décembre 2005
Messages : 818
Points : 456
Points : 456
Hello,

Merci pour ta réponse, mais justement je souhaiterais ne pas passer par requêtes SQL car justement je fais un cache pour limiter le nombre de requêtes.

Il n'y aurait pas une autre alternative?


Pour le fichier .htaccess, je ne maitrise pas bien non plus, si quelqu'un sait comment le paramétrer, je suis preneur.

Merci
Sayrus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2007, 15h52   #4
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Citation:
Envoyé par Sayrus
J'ai créé un système de cache qui génère des fichiers de contenu (.php) dans le répertoire "cache".
Il suffit d'y placer un fichier .htaccess avec :
Code X :
1
2
Order allow,deny
Deny from All
(voir moins restrictif)

Citation:
Envoyé par Sayrus
Ensuite autre petit subtilité. Je souhaiterais supprimer ces fichiers tous les jours dès minuit.
Cron (Unix) ou tâches planifiées (Windows) Exécution périodique (pour le principe : il n'est pas nécessaire de le faire par un script PHP suivant les droits qu'on possède sur le serveur et sur les fichiers/répertoire de cache).
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2007, 16h24   #5
Membre éprouvé
 
Avatar de Sayrus
 
Inscription : décembre 2005
Messages : 818
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : décembre 2005
Messages : 818
Points : 456
Points : 456
Merci beaucoup pour la réponse du htaccess je sais vers quoi me tourner maintenant

Par contre pour le second point, au risque de paraitre chiant, c'est aussi une chouette idée, mais il faut impérativement que je passe par du PHP pour le faire car ce système sera utilisé sur plusieurs serveurs différent et ce pour des utilisateurs différents qui n'auront pas spécialement accès au serveur.

Si vous avez une alternative, je suis prenneur!
Sayrus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2007, 17h21   #6
Membre chevronné
 
Inscription : janvier 2006
Messages : 918
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 918
Points : 735
Points : 735
Ma solution ne coutera pas cher en ressource BDD : une seule requête (sauf pour l'insert et l'update, uniques) par utilisateur, sur une table très petite.
Sinon tu peux toujours faire la même chose en faisant des fichiers, mais à part ça je ne vois pas de solution : il faut absolument un marqueur sur le serveur pour faire ça.
guidav est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2007, 18h02   #7
Membre éprouvé
 
Avatar de Sayrus
 
Inscription : décembre 2005
Messages : 818
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : décembre 2005
Messages : 818
Points : 456
Points : 456
oui ou alors je créer un fichier avec la date d'aujourd'hui si il n'existe pas encore, ensuite je regarde si la date actuelle est différente ou pas du fichier.

si oui alors delete du cache + création du nouveau fichier.

si non alors on ne fait rien...

Ca tient la route ou pas?

Je pense que si ça se tient ça devrait être peu coûteux en ressource serveur non?
Sayrus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2007, 18h38   #8
Membre chevronné
 
Inscription : janvier 2006
Messages : 918
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 918
Points : 735
Points : 735
Oui, c'est à ça que je pensais, reste à savoir si c'est plus ou moins couteux qu'une requête dans une base, ça dépend probablement de ton serveur.
guidav est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2007, 19h55   #9
Membre éprouvé
 
Avatar de Sayrus
 
Inscription : décembre 2005
Messages : 818
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : décembre 2005
Messages : 818
Points : 456
Points : 456
Ben c'est un serveur dédié mais bon, ce qu'il faut plutôt se poser c'est :

Qu'est-ce qui serait le plus avantageux peu importe le matos derrière?

Et ce avec plusieurs centaines de personnes connectées simultanément?
Sayrus est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h29.


 
 
 
 
Partenaires

Hébergement Web