Archives de l’auteur : linuxidable

HTACCESS: restreindre l’accès à des fichiers

HTACCESS: restreindre l’accès à des fichiers

je souhaiterai que les fichiers .txt soient inaccessibles par les visiteurs mais accessibles par les fichiers php sur le serveur

Voir https://www.commentcamarche.net/cont…hiers-htaccess
avec le passage
Empêcher l’accès à un type de fichiers par un domaine

Code :

<Files *.txt> 
 
Order Deny, Allow 
Deny from .LeNomDuDomaine.com 
</Files>

complément :Empêcher l’accès à un répertoire
Si on souhaite empêcher l’accès au répertoire , tous les fichiers qui s’y trouvent (images, sons, fichiers .html ou .php, etc…) seront inaccessibles mais pas seulement. En effet, les sous-dossiers et leurs fichiers « héritent » de la protection
L’opération consiste à créer un fichier .htaccess dans le ou les répertoires à protéger. Le fichier .htaccess doit contenir les lignes suivantes :

Code :

<LIMIT GET POST>
 
order deny,allow
deny from all
 
</LIMIT>

Un simple deny comme ci-dessous suffit à interdire à quiconque, l’accès aux fichiers .txt par URL (accès direct) mais n’aura aucune influence sur le code php qui pourra toujours accéder aux fichiers puisque l’accès se fait par accès disque (filesystem) et non par URL.

Code :

 
<FilesMatch "\.txt$">
Deny from all
</FilesMatch>

voir là https://www.askapache.com/htaccess/u…s-in-htaccess/

Using FilesMatch and Files in htaccess

traduction

Files et FilesMatch pour cibler plusieurs fichiers et utiliser des expressions régulières à l’aide de fichiers .htaccess sur Apache.

REMARQUE: FilesMatch doit être utilisé à la place de Files pour traiter plusieurs fichiers.

Ajout d’en-têtes de langue de type de contenu UTF-8 et en-US aux fichiers portant les extensions htm, html, css, js et php

Définition du jeu de caractères dans htaccess

Utilisation de la directive sur les fichiers

<Files ~ "\.(htm|html|css|js|php)$">
AddDefaultCharset UTF-8
DefaultLanguage en-US
</Files>

Utilisation de la directive FilesMatch (recommandée)

<FilesMatch "\.(htm|html|css|js|php)$">
AddDefaultCharset UTF-8
DefaultLanguage en-US
</FilesMatch>

Autres exemples utilisant Files et FilesMatch dans htaccess

Cible un seul fichier admin.php

<Files admin.php>
deny from all
</Files>

Fichiers cibles commençant par admin ou staff et se terminant par .php

<FilesMatch "^(admin|staff)\.php$">
AuthName "Dialog prompt"
AuthType Basic
AuthUserFile /web/username/.htpasswd
Require valid-user
</FilesMatch>

Ciblez tous les fichiers se terminant par .html ou .htm

<FilesMatch "\.(html|htm)$">
AddDefaultCharset utf-8
DefaultLanguage en-us
</FilesMatch>

Description de la directive <FilesMatch>:

elle contient les directives qui s’appliquent aux noms de fichiers correspondants dans une expression régulière Syntaxe: <regex FilesMatch> … </ FilesMatch> Contexte: configuration du serveur, hôte virtuel, répertoire, .htaccess

La directive <FilesMatch> limite la portée des directives incluses par nom de fichier, comme le fait la directive <Files>. Cependant, elle accepte une expression régulière. Par exemple:

<FilesMatch "\.(gif|jpe?g|png)$">

<Files> Directive Description: contient les directives qui s’appliquent aux noms de fichiers correspondants. Syntaxe: <Files filename> … </ Files>.

La directive <Files> limite la portée des directives incluses par nom de fichier. Elle est comparable aux directives <directory> et <location>. Ele devrait correspondre à une directive </ Files>. Les directives données dans cette section seront appliquées à tout objet dont le nom de base (dernier composant du nom de fichier) correspond au nom de fichier spécifié. Les sections <Fichiers> sont traitées dans l’ordre dans lequel elles apparaissent dans le fichier de configuration, après la lecture des sections <répertoire> et .htaccess, mais avant les sections <emplacement>. Notez que <fichiers> peuvent être imbriqués dans les sections <répertoire> pour limiter la partie du système de fichiers auquel ils s’appliquent.

L’argument du nom de fichier doit inclure un nom de fichier ou une chaîne de caractères génériques, où? correspond à n’importe quel caractère et * correspond à n’importe quelle séquence de caractères. Des expressions régulières étendues peuvent également être utilisées, avec l’ajout du caractère ~. Par exemple:

<Files ~ "\.(gif|jpe?g|png)$">

correspondrait aux formats graphiques Internet les plus courants. <FilesMatch> est toutefois préférable.

Notez que contrairement aux sections <directory> et <location>, les sections <Files> peuvent être utilisées dans des fichiers .htaccess. Cela permet aux utilisateurs de contrôler l’accès à leurs propres fichiers, au niveau des fichiers.

Les sections de configuration sont appliquées dans un ordre très particulier. Comme cela peut avoir des effets importants sur la manière dont les directives de configuration sont interprétées, il est important de comprendre comment cela fonctionne.

L’ordre de fusion est le suivant:

<directory> (sauf les expressions régulières) et .htaccess effectués simultanément (avec .htaccess, si autorisé, écrasant <directory>)

  1. <directoryMatch> (et <directory ~>)
  2. <Files> et <FilesMatch> effectués simultanément
  3. <location> and <locationMatch> done simultaneously

Hormis <directory>, chaque groupe est traité dans l’ordre dans lequel il apparaît dans les fichiers de configuration. <directory> (groupe 1 ci-dessus) est traité dans le composant de répertoire le plus court au plus long.
Ainsi, par exemple,
<directory / var / web / rép> sera traité avant le
<directory / var / web / rép / sousdir>.
Si plusieurs sections <directory> s’appliquent au même répertoire, elles sont traitées dans l’ordre des fichiers de configuration. Les configurations incluses via la directive Include seront traitées comme si elles se trouvaient dans le fichier inclus à l’emplacement de la directive Include.

Les sections à l’intérieur des sections <virtualHost> sont appliquées après les sections correspondantes à l’extérieur de la définition d’hôte virtuel. Cela permet aux hôtes virtuels de remplacer la configuration du serveur principal.

Les sections ultérieures remplacent les précédentes.

Remarque technique: une séquence <location> / <locationMatch> est en cours juste avant la phase de traduction du nom (où Aliases et DocumentRoots sont utilisés pour mapper des URL à des noms de fichiers). Les résultats de cette séquence sont complètement perdus une fois la traduction terminée.

la même heure sous Windows et Linux

Vous n’avez pas la même heure sous Linux et Windows en utilisant le dual-boot

L’heure sous Linux est de base réglée sur le réseau UTC

Si l’ordinateur démarre Linux, alors l’heure récupérée est UTC  qui devient celle du système et Linux fait la correction pour le fuseau horaire.
Si ensuite on démarre Windows alors l’OS suppose que l’heure système est l’heure locale (pas de correction).
Dans ce cas Windows affiche donc la mauvaise heure et Linux la bonne heure.

Remède: préciser dans Linux que le système utilise l’heure locale

timedatectl set-local-rtc 1 --adjust-system-clock

voilà , c’est tout !

Pour revenir à la situation initiale:

timedatectl set-local-rtc 0

On peut aussi modifier le fonctionnement de Windows en changeant un réglage de de la base de registre
voir http://ubuntuhandbook.org/index.php/2016/05/time-differences-ubuntu-1604-windows-10/

mysql somme et champ NULL

Sur le site de Développez.com, je suis tombé sur une question

comment faire la soustraction entre deux requêtes SQL et mettre le résultat dans une seule requête, voici les deux requêtes pour la soustraction

- SELECT SUM(point_positif) AS Totalpointpositif FROM point_users WHERE `to` = 4

- SELECT SUM(point_negatif) AS Totalpointnegatif FROM point_users WHERE `to` = 4

A priori,

select sum(point_positif - point_negatif) from point_users where 'to' = 4

Mais si l’une des colonnes peut contenir des marqueurs NULL, alors il faut utiliser COALESCE

SELECT SUM(COALESCE(points_positifs, 0) - COALESCE(points_negatifs, 0)) AS Resultat
FROM point_users
WHERE car = 4

à lire sur le sujet :
Variations sur NULL, ou SUM(X+Y) <> SUM(X) + SUM(Y) ?

Merci à

postgresql sur un ordinateur distant

Voulant utiliser LibreOffice Base sur plusieurs ordinateurs mais la base étant commune, j’ai dû explorer un peu plus loin le fonctionnement de Postgresql

Pour autoriser des clients distants à se connecter, il faut configurer deux fichiers : postgresql.conf et pg_hba.conf. (dans /etc/postgresql/9.5/main ) 9.5 est ma version

Le serveur , le fichier postgresql.conf

 #listen_addresses = ‘localhost’ # what IP address(es) to listen on;
# comma-separated list of addresses;
# defaults to ‘localhost’; use ‘*’ for all

devient, si le serveur est sur 192.168.1.253

listen_addresses = ‘192.168.1.253 ,localhost’   # ou ‘*’  toutes les connexions réseau

Authentification des clients du réseau local (pg_hba.conf) 192.168.1.250/24
dans le fichier pg_hba.conf

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
#host    all             all             127.0.0.1/32            md5
# IPV4 réseau 192.168.1.0/24
host    all             all             192.168.1.0/24           md5

Touche F1 …F12 remettre le fonctionnement normal

 A l’installation de linux Mint, je découvre que la touche Fn. permet de passer d’une fonction constructeur (changer le son, mettre en mode avion, etc) à une fonction classique pour les touches F1 à F12.

Par défaut, c’est la fonction constructeur qui est activée. Il faut appuyer sur Fn chaque fois quel’on veux utiliser une des touches F1 à F12.

Pour corriger,

il faut aller dans le BIOS (touche F10 au démarrage ) => Configuration Système => Actions keys mode => Disabled => Sauver et quitter

Merci à par mpat »  forum francophone linuxmint.fr

PostgreSQL et LibreOffice Base

Ouvrir LibreOffice.org Base

Dans l’Assistant Bases de données:
choisir « Se connecter à une base de données existante »
La prochaine fois on pourra utiliser l’option Ouvrir un fichier de base de données existant.

choisir « postgresql » dans la liste déroulante

Cliquer sur Suivant
Dans la case postgresql, écrire les informations de connexion vers la base de données.

Ex:
hostaddr=127.0.0.1 (version minimaliste mais qui fonctionne )

C’est une chaîne de connexion :
dbname=nom de votre base hostaddr=adresse IP de la base port=5432 user=postgres password=votre mot de passe postgres

  • hostadr correspond à l’adresse IP du serveur Postresql. Si vous êtes en local, localhost correspond en principe à l’adresse 127.0.0.1.
  • dbname doit correspondre exactement au nom de votre base de données
  • port est le port d’écoute de Postgresql. Il apparaît à côté du nom du serveur. Si vous gardez la configuration par défaut il est 5432.
  • Le user et password doivent correspondre à un utilisateur défini dans la base Postgresql. Si vous voulez vous connecter en administrateur, c’est postgres et le mot de passe que vous avez défini lors de l’installation de Postgresql.

Cliquer sur Suivant

La fenêtre de paramétrage de l’utilisateur apparaît:
Entrez le nom de l’utilisateur et cochez mot de passe

tester la connexion et vérifier ainsi que la chaîne de connexion entrée dans la fenêtre précédente fonctionne correctement.
Cliquer sur « Tester la connexion »
Si « Connexion établie », cliquer sur Suivant

Cliquer sur « Terminer »

Enregistrez le fichier qui va contenir la connexion vers la base .Fermer et ré-ouvrir .
Le cas échéant remplir le mot de passe, pour enfin voir la fenêtre de contrôle de la base et  naviguer dans les différents schémas, tables et vues de votre base.

WP Marmite

WP Marmite

Création de site WordPress

vous désirez créer un site avec WordPress ? Le personnaliser ? En savoir plus sur un plugin ? Ne cherchez plus,WP Marmite a pour mission d’aider les débutants, les indépendants ou encore les blogueurs à mettre en place leurs sites, les personnaliser et à les gérer au quotidien comme des pros.

Récupérer les fichiers photo effacés sur une carte mémoire

Bonjour,

parfois, on la main lourde et on efface sans réfléchir un  ou plusieurs fichiers importants.

Linux permet de récupérer cela si on a pas trop écrit sur le support par la suite.

Le programme s’appelle foremost
On l’installe

sudo apt-get install foremost
Pour  l’utiliser, il faut identifier le support /dev/sdb1 par exemple; chers moi, c’est plutôt  /dev/mmcblk0p1
Ensuite, pour récupérer les jpeg

sudo foremost -t jpeg -i /dev/mmcblk0p1

Les fichiers trouvés sont dans le répertoire output

voir le site http://tombuntu.com/index.php/2008/04/09/recover-deleted-files-with-foremost/

Nettoyer son système Linux

Au fil du temps, on rempli le cache des navigateurs, les fichiers temporaires qui persistent, les paquets périmés  etc.

On peut faire le ménage à la main mais c’est long !

Sur le site de Angristan  (un vrai petit génie !!) j’ai trouvé mon bonheur sous la forme d’un programme et d’un script.

 BleachBit

sudo apt-get install bleachbit

et et un script Clean.sh

echo "
---------------------------------
Script de nettoyage
---------------------------------
"
sudo apt-get autoremove
echo "
--------------------------------------------------------------
Les paquets inutiles ont été supprimés
--------------------------------------------------------------
"
sudo apt-get clean
sudo apt-get autoclean
echo "
-------------------------------------
apt-get a été nettoyé
-------------------------------------
"
find ~/.thumbnails -type f -atime +7 -exec rm {} ;
echo "
--------------------------------------------------------
Miniatures des images supprimées
--------------------------------------------------------
"
rm -r -f ~/.local/share/Trash/files/*
echo "
---------------------------------------
La corbeille a été vidée
---------------------------------------
"
find ~/ -name '*~' -exec rm {} ;
echo "
----------------------------------------------------------------------------------------------------------
Les fichiers temporaires (terminant par ~) du dossier /home ont été supprimés
----------------------------------------------------------------------------------------------------------
"
echo "
---------------------
|Nettoyage terminé !|
---------------------
"

Pour les détails, allez voir l’auteur https://angristan.fr/nettoyer-et-liberer-espace-ordinateur-linux-bleachbit/