Sécurité Joomla
- Détails
- 9648
Les permissions
Les permissions des fichiers et dossiers (CHMOD, abréviation de Change Mode) recommandées sur Joomla (ou d'autres applications PHP) dépendent en partie des hébergeurs.
Un même droit est parfois interprêté différemment selon l'hébergeur (déjà vu), une même application requiert parfois différents droits selon l'hébergeur. Certains serveurs vont automatiquement bloquer certains droits sur certains contenus.
Mais quand un site commence à être mature, il subit de moins en moins de modifications structurelles. On peut alors fermer certaines portes - comme on fermerait l'accès au compteur électrique - et mettre en place une politique des moindres privilèges.
La mise en place d'une politique des moindres privilèges doit être suivie de tests et d'une communication fine avec son hébergeur. Il n'y a rien d'exhautif et rien de parfait, n'hésitez pas à modifier progressivement les permissions vers le bas selon vos propres observations. Il s'agit de fermer au maximum, puis de ne ré-ouvrir que le strict nécessaire.
Récupération de données sur le web avec PHP
- Détails
- 74309
Retour d'expérience sur la création d'un gentil petit robot récupérateur de données.
Bien entendu il n'y a pas de mauvaises intentions de notre part, nous ne récupérerons que des données publiques, disponibles librement sur des sites internet divers. Il ne s'agit pas de piratage ni d'aucune forme d'intrusion. Soit une forme de web scraping. La récupération automatique de données peut d'ailleurs être utile pour de nombreuses tâches très honorables (statistiques, santé, social...) ou marketing.
Nous travaillerons, dans cet exemple simple, sur un site contenant des données de contacts (email, téléphone, métier...). Certains sites considèrent ce type d'annuaire comme vendeur et mettent en avant la disponibilité de données de contact.
Nous tairons son nom de domaine, mais prenons l'exemple d'une fiche de contact à l'URL bien lisible :
http://site-indiscret.com/contacts/45988
La forme de l'URL est très standard et se termine par une chaîne numérique. Sans doute un identifiant unique ! C'est le terrain d'action idéal pour un jeune robot récupérateur de données.
Ce site au webmaster un peu pressé sera donc un bon cobaye pour notre 1er bot. Et en modifiant le script final, vous pourrez sans doute l'adapter à vos propres besoins.
Les grandes étapes d'enfantement seront les suivantes :
Web scraping with Python and BeautifulSoup
- Détails
- 3810
Let's go web scraping with Python and BeautifulSoup! Here BeautifulSoup will be able to extract formatted data from HTML and its CCS code. For confidentiality reasons, we will not name the parsed website, but a lot are built like that: pages containing record from a database use their ID in the URL. So you will to adapt the codes below to your own website and purposes.
We will use a complex website as example, where the IDs to guess are listed in a large pagination.
First, we will get the links to articles (with IDs in URLs) from all pages of the pagination, then we will store data in a CSV file, if interesting (we search emails). So we will do a loop in a loop, with a condition, but if the website you want to parse is simpler (without pagination), you will not need the first loop.
Libraries and receptacle
We start by importing some necessary libraries and creating the receptacle file for our data.
from bs4 import BeautifulSoup import requests import re import csv # CSV file to receive data out_file = open('C:/python_projects/webscraping/email.csv', 'w', encoding='cp1252') out_file.write("email" + "\n")
Cryptage d'emails en MD5 - exemples d'utilisation en marketing digital
- Détails
- 6057
Le cryptage MD5 est une forme de hachage relativement ancienne mais toujours bien pratique. On peut l'utiliser pour comparer des bases d'emails avec celles d'un prestataire sans fournir les données brutes par exemple. En vue d'un partenariat, d'un échange...
Attention nous ne parlons pas ici de réelle sécurisation. Le MD5 SQL - même salé ou doublé - est sujet à caution. Il ne s'agit que de permettre la transmission de données avec une relative tranquilité quant à un usage non-souhaité de ses fichiers. Parfois le partenaire qui vous transmettra ses données cryptées vous fera également signer un engagement de non-divulgation ou de non-utilisation frauduleuse (non-disclosure). Et si c'est vous qui transmettez les données (j'avoue ne jamais le faire...), pensez-y !
Quoiqu'il en soit il est courant de demander cela à un prestataire fournisseur (l'inverse est moins acceptable). Certes PhpMyAdmin permet nativement de saisir du texte puis de l'encrypter en MD5 (Insérer/Fonction/MD5). Mais pour mettre en place un worflow ou comparer des bases en lot, il est nécessaire de maîtriser la chose en SQL.
Quelques requêtes SQL d'exemple :
Voir le cryptage MD5 d'une chaîne
SELECT MD5(Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.') ;
Cryptage d'emails en MD5 - exemples d'utilisation en marketing digital
SQL Automatic deduplication
- Détails
- 2965
All living databases has its duplicates. Depending on their nature or number, it may be interesting to dedupe them quickly. For this goal SQL is our friend.
Below a simple example in order to describe the main concepts of the method. Then you will be able to do this in more complex situations. Because the final formula is a bit long, we will proceed iteratively, to understand the different steps.
Automate the opening of your favorite apps
- Détails
- 1971
Maybe each morning you have to open some softwares, websites or any apps before to start working.
For me: my professional email box (Outlook), my personnal email box (Gmail), my testing email boxes (Thunderbird, Yahoo ...), Teams, the official CRM of my company, the unofficial CRM of my company, the marketing tools of my company, my Google shortcuts ... Hum, tired in the morning!
Thanks to Python and his libraries os and webbrowser, we can save time and neurons. Just add the code below in a Python script:
import os import webbrowser os.startfile("outlook") os.startfile("thunderbird") webbrowser.open('https://hg-map.fr/') os.startfile(r"C:\Users\Georges\Desktop\Communications\Gmail.lnk") os.startfile(r"C:\Users\Georges\Desktop\Communications\Microsoft Teams.lnk") os.startfile(r"C:\Users\Georges\Desktop\Communications\Yahoo.lnk")
Clicking into will open your favourite applications. Me I prefere store my scripts in a dedicated folder, and then add shortcuts on my desktop.
Maybe you should adapt the code according your OS and your apps subtilities. Here above for example, Outlook and Thunderbird are recognized by Python, and just need to mention their system names to the os library. A website need the webbrowser library, and the Google shortcuts need the os library but from their full paths.
Page 3 sur 6