1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
variable de session avec vérification du captcha
images d'en-tête svg?
changer la polices dans les images de BD (si je trouve mieux que comic sans MS)
images des articles en grand et miniature, Zoom sur images (articles)
affichage avec javascript OU au moins dans une "page" dotée d'un bouton pur sortir (avec GD? avec imagemagick?)
bouton partage et lien d'encre sur tous les articles
galerie en css (ou/et en javascript) pour les peintures de bateau
https://www.guyom-design.com/blog/astuces/css/tuto_diapo_css/
hyperlien avec liens relatifs (par exemple dans emoi des mots)
créer page musique
n'utiliser que les grandes images dans le menu
déconnexion automatique quand inactivité
dans installation.php, utiliser la racine dans config.php pour adapter le .htaccess (si c'est possible)
réduire les droits des dossiers?
sauvegardes automatiques (pas très utile, je le fais dès que je modifie quelque chose et c'est pas souvent)
remplacer le survol par un clic sur les smartphones
fignoler l'affichage petits écrans
penser aux grands écrans (en l'état, on a 700 pixels de large au maximum)
ajouter d'autres format de sauvegarde (il parait que zip se fait vieux)
Identification avec deux codes (login + mot de passe)
Explorateur de fichiers pour les images
pagination (ex: max 10 articles par page)
à voir selon le volume, c'est mieux avec de l'AJAX
pagination + AJAX
système d'onglets avec AJAX: changement de page sans recharger
plugin autosave de l'éditeur
Editeur "inline" ou "balloon block"
défense aux attaques par force brute quand l'attaquant multiplie les connexions au site
Protection contre les falsifications de requête inter-site - CSRF
connexion avec un jeton
ici une explication simple avec un exemple simpliste
(les GET servent à la navigation, les POST à l'action)
https://www.ibm.com/docs/fr/order-management?topic=ssgtjf-com-ibm-help-sfs-cpqsolution-doc-customization-c-wcc-crosssiterequestforgery-html
notre site est-il concerné? le navigateur peut toujours enregistrer les identifiants (cookie ou pas), la session sur le serveur sera donc maintenue
protection: on ajoute un formulaire caché avec une valeur aléatoire cryptée utilisable une seule fois (=jeton)
"Vous pouvez rendre chaque jeton utilisable une seule fois et ainsi éviter de rejouer plusieurs fois la même requête.
Les jetons sont stockés dans le back-office.
Une rotation des jetons est effectuée quand le nombre maximum a été atteint, les plus vieux en premier.
Chaque jeton peut être lié à une URL spécifique.
Si un jeton est intercepté, il ne peut pas être utilisé dans un autre contexte.
Si besoin, les jetons peuvent être attachés à une adresse IP spécifique.
Depuis la version v2.1, les jetons peuvent être réutilisés (par exemple pour les requêtes AJAX).
Si vous n’utilisez pas un framework qui gère la protection CSRF pour vous, jetez un oeil à Anti-CSRF."
une bibli qui fait ça: https://github.com/paragonie/anti-csrf
"sessions, penser aux attaques CSRF (cross-site request forgery):
ça consite à faire qu'un utilisateur connecté avec une session envoie malgré lui une requête GET ou POST qu'un hacker aura cachée par exemple dans une fausse image clicable
- solution: faire qu'un GET seul dans une session ne suffise pas à effectuer une action (les GET ne doivent servir qu'à afficher la bonne page), une attaque sur un POST est possible aussi mais plus difficile et nécessite d'injecter du javascript
- on peut demander à l'utilisateur une vérification supplémentaire avant chaque action, mais c'est plutôt chiant
- il y a la méthode des jetons, "nonces" et horodatage
- vérifier le "référent", c'est à dire l'URL de la page d'où vient normallement la requête"
infos: https://fr.wikipedia.org/wiki/Cross-site_request_forgery
Upload de musique/vidéo
Ajout de liens youtube, spotify, etc
Version avec base de données
Site bilingue (nécessite la base de données)
Editeur tout AJAX (pas juste les images)
|