Nous ne répondons seulement qu'aux sujets dont l'auteur a complété sa signature [Lire]


Système mise en cache et protection via htaccess

Programmation, discussions et suggestions pour l'amélioration de OpenCart

Système mise en cache et protection via htaccess

Messagepar Pascal » 08 Déc 2012, 04:58

Bonjour à toutes et à toutes en espérant que ce post soit dans la bonne section: j'ai rajouté quelques lignes dans le .htaccess pour la mise en cache des données et quelques lignes pour se protéger de certains hackers peu scrupuleux, enfin pour ce qui est des fichiers "sensibles", faites moi un retour si erreurs ou pas, en espérant que cela puisse servir à toutes et à tous. Bien entendu on peut l'améliorer :)

# 1.To use URL Alias you need to be running apache with mod_rewrite enabled.

# 2. In your opencart directory rename htaccess.txt to .htaccess.

# For any support issues please visit: http://www.opencart.com

Options +FollowSymlinks

# Prevent Directoy listing
Options -Indexes

# Prevent Direct Access to files
<FilesMatch "\.(tpl|ini|log)">
Order deny,allow
Deny from all
</FilesMatch>
<files config.php>
Order allow,deny
Deny from all
</files>
<files .htaccess>
order allow,deny
deny from all
</files>

# SEO URL Settings
RewriteEngine On
# If your opencart installation does not run on the main web folder make sure you folder it does run in ie. / becomes /shop/

RewriteBase /
RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
RewriteCond %{QUERY_STRING} ^route=common/home$
RewriteRule ^index\.php$ /
RewriteCond %{QUERY_STRING} \.\.\/ [NC,OR]
RewriteCond %{QUERY_STRING} boot\.ini [NC,OR]
RewriteCond %{QUERY_STRING} ftp\: [NC,OR]
RewriteCond %{QUERY_STRING} http\: [NC,OR]
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(\[|\]|\(|\)|<|>|ê|"|;|\?|\*|=$).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(&#x22;|&#x27;|&#x3C;|&#x3E;|&#x5C;|&#x7B;|&#x7C;).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(%24&x).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(%0|%A|%B|%C|%D|%E|%F|127\.0).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(globals|encode|localhost|loopback).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(request|select|insert|union|declare).* [NC]

# MOD_DEFLATE COMPRESSION
SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/x-javascript application/x-httpd-php
#Pour les navigateurs incompatibles
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
#ne pas mettre en cache si ces fichiers le sont déjà
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip
#les proxies doivent donner le bon contenu
Header append Vary User-Agent env=!dont-vary
<IfModule mod_headers.c>
# Mise en cache des images et autres fichier statiques pour un mois
<FilesMatch ".(ico|jpe?g|png|gif|swf|flv|css|js|gz|pdf)$">
Header set Cache-Control "max-age=2592000"
</FilesMatch>

# Mise en cache du html et xml pour 12 heures
<filesMatch ".(html|htm|xml)$">
Header set Cache-Control "max-age=43200"
</filesMatch>

# Désactive la mise en cache pour les fichier PHP et CGI
<FilesMatch ".(php|cgi)$">
Header unset Cache-Control
</FilesMatch>
</IfModule>

<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 7200 seconds"
AddType image/x-icon .ico
ExpiresByType image/gif "access plus 2592000 seconds"
ExpiresByType image/ico "access plus 2592000 seconds"
ExpiresByType image/jpg "access plus 2592000 seconds"
ExpiresByType image/png "access plus 2592000 seconds"
ExpiresByType image/jpeg "access plus 2592000 seconds"
ExpiresByType image/icon "access plus 2592000 seconds"
ExpiresByType image/x-icon "access plus 2592000 seconds"
ExpiresByType text/css "access plus 2592000 seconds"
ExpiresByType text/html "access plus 7200 seconds"
ExpiresByType text/javascript "access plus 2592000 seconds"
ExpiresByType application/xhtml+xml "access plus 7200 seconds"
ExpiresByType application/x-javascript "access plus 2592000 seconds"
ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"
</IfModule>
### Additional Settings that may need to be enabled for some servers
### Uncomment the commands by removing the # sign in front of it.
### If you get an "Internal Server Error 500" after enabling any of the following settings, restore the # as this means your host doesn't allow that.

# 1. If your cart only allows you to add one item at a time, it is possible register_globals is on. This may work to disable it:
# php_flag register_globals off

# 2. If your cart has magic quotes enabled, This may work to disable it:
# php_flag magic_quotes_gpc Off

# 3. Set max upload file size. Most hosts will limit this and not allow it to be overridden but you can try
# php_value upload_max_filesize 999M

# 4. set max post size. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
# php_value post_max_size 999M

# 5. set max time script can take. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
# php_value max_execution_time 200

# 6. set max time for input to be recieved. Uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
# php_value max_input_time 200

# 7. disable open_basedir limitations
# php_admin_value open_basedir none


PS: je mets les mains dans le "Cambouis" du code source d'Opencart, nous avons ici un fameux outil, qui nous permet d'adapter au fur et à mesure et à fortiori sans modules. Bien à vous
Dernière édition par LeorLindel le 08 Déc 2012, 05:02, édité 2 fois.
Raison: Mise des commentaires dans les balises appropriées
Opencart Version 1.5.4
Modules intallés: Compte, Affiliation, Catégories, Caroussel, En vedette, Informations, Visionneuse.
PHP Version 5.3.6
Langues installées: Français, Anglais.
Thème: celui par défaut.
Développement du site en local, sous Xampp.
Pascal
Utilisateur enregistré
Utilisateur enregistré
 
Messages: 23
Inscription: 28 Nov 2012, 07:54
Localisation: Belgique

Re: Système mise en cache et protection via htaccess

Messagepar LeorLindel » 08 Déc 2012, 05:07

Bonjour,

Nous te remercions de cette contribution, il ne reste plus qu'à tester cela.

PS : J'ai mis les commentaires dans les balises leur étant destinées [Quote].
Image
1 - A lire avant de poster un sujet
2 - Politique sur la signature.

Quand le sujet est résolu, pensez à ajouter la petite coche verte Image dans le titre initial en éditant votre premier message et non dans votre dernière réponse.
Merci


Toutes les extensions commerciales (templates ou modules payants) ne peuvent pas faire l'objet d'ouverture de sujet, prière de bien vouloir s'adresser au concepteur en cas de problème ou demande de renseignements.

Seul, on avance plus vite, à plusieurs on avance plus loin.
Avatar de l’utilisateur
LeorLindel
Administrateur
Administrateur
 
Messages: 4229
Inscription: 19 Fév 2010, 13:44
Localisation: Lutéce

Re: Système mise en cache et protection via htaccess

Messagepar Pascal » 08 Déc 2012, 05:10

@LeorLindel , je viens de tester cela en ligne est c'est vraiment pas mal, bien sur il faudrait minifier le JS et CSS je vais m'y atteler la semaine prochaine si j'ai un peu de temps.
Opencart Version 1.5.4
Modules intallés: Compte, Affiliation, Catégories, Caroussel, En vedette, Informations, Visionneuse.
PHP Version 5.3.6
Langues installées: Français, Anglais.
Thème: celui par défaut.
Développement du site en local, sous Xampp.
Pascal
Utilisateur enregistré
Utilisateur enregistré
 
Messages: 23
Inscription: 28 Nov 2012, 07:54
Localisation: Belgique

Re: Système mise en cache et protection via htaccess

Messagepar LeorLindel » 08 Déc 2012, 05:10

Dans ce cas, je vais le tester de suite.
Image
1 - A lire avant de poster un sujet
2 - Politique sur la signature.

Quand le sujet est résolu, pensez à ajouter la petite coche verte Image dans le titre initial en éditant votre premier message et non dans votre dernière réponse.
Merci


Toutes les extensions commerciales (templates ou modules payants) ne peuvent pas faire l'objet d'ouverture de sujet, prière de bien vouloir s'adresser au concepteur en cas de problème ou demande de renseignements.

Seul, on avance plus vite, à plusieurs on avance plus loin.
Avatar de l’utilisateur
LeorLindel
Administrateur
Administrateur
 
Messages: 4229
Inscription: 19 Fév 2010, 13:44
Localisation: Lutéce

Re: Système mise en cache et protection via htaccess

Messagepar Pascal » 08 Déc 2012, 05:13

LeorLindel a écrit:Dans ce cas, je vais le tester de suite.
Ok, fais moi un retour on peux encore améliorer et aussi pour la sécurité pour login etc... Merci! :)
Opencart Version 1.5.4
Modules intallés: Compte, Affiliation, Catégories, Caroussel, En vedette, Informations, Visionneuse.
PHP Version 5.3.6
Langues installées: Français, Anglais.
Thème: celui par défaut.
Développement du site en local, sous Xampp.
Pascal
Utilisateur enregistré
Utilisateur enregistré
 
Messages: 23
Inscription: 28 Nov 2012, 07:54
Localisation: Belgique

Re: Système mise en cache et protection via htaccess

Messagepar Pascal » 08 Déc 2012, 05:16

Pascal a écrit:
LeorLindel a écrit:Dans ce cas, je vais le tester de suite.
Ok, fais moi un retour on peux encore améliorer et aussi pour la sécurité pour login etc... Merci! :)


Attention: erreur ici: RewriteRule ^index\.php$ / , faut remplacer le slash par url d'accueil.
Opencart Version 1.5.4
Modules intallés: Compte, Affiliation, Catégories, Caroussel, En vedette, Informations, Visionneuse.
PHP Version 5.3.6
Langues installées: Français, Anglais.
Thème: celui par défaut.
Développement du site en local, sous Xampp.
Pascal
Utilisateur enregistré
Utilisateur enregistré
 
Messages: 23
Inscription: 28 Nov 2012, 07:54
Localisation: Belgique


Retourner vers Développement

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

cron