docs(licence): essai F, la deuxieme couche tient la premiere sautee
API interrogee en direct, sans passer par l'ecran : licence active /ping repond pong, licence retiree toutes les routes tombent en 404, y compris POST /register ; /index.html reste servi. Notes les deux pieges qui faussaient le resultat — config.txt lu depuis le dossier courant, et le oui retenu par un processus que fermer la fenetre ne quitte pas — et une observation : le 404 de la 2e couche porte la page d'Indy, distincte du 404 JSON d'une route inexistante, ce qui revele les routes existantes. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -161,6 +161,45 @@ Deux observations de la campagne, gardées parce qu'elles se reproduiront :
|
||||
|
||||
---
|
||||
|
||||
## F. La deuxieme couche, la premiere sautee — 2026-09-16
|
||||
|
||||
Ne rien rapiecer : **ignorer l'ecran completement** et interroger l'API en
|
||||
direct, comme quelqu'un qui aurait saute la 1re couche. Meme requete, licence
|
||||
active puis retiree.
|
||||
|
||||
**Preparation** : `config.txt` a cote de l'exe avec `port=8799`,
|
||||
`require_token=false`, `require_process_check=false`. Les deux derniers sont
|
||||
indispensables — sinon le jeton ou le controle de processus repondent 404
|
||||
AVANT la 2e couche, et l'essai ne prouve rien. **A supprimer ensuite.**
|
||||
|
||||
**Deux pieges rencontres, qui fausseraient le resultat :**
|
||||
|
||||
- **`config.txt` est lu depuis le dossier courant.** Lancer l'exe d'ailleurs le
|
||||
prive de sa config : jeton et controle actifs, 404 partout, faux positif.
|
||||
Lancer avec le dossier de l'exe comme dossier de travail.
|
||||
- **La 2e couche retient un « oui » pour la vie du processus.** Fermer la
|
||||
fenetre ne quitte pas (elle part dans la zone de notification) : relance =
|
||||
reveil de l'ancien processus, qui repond encore `pong`. Quitter par le menu
|
||||
de l'icone, verifier qu'aucune instance ne tourne, puis relancer.
|
||||
|
||||
**Resultat** :
|
||||
|
||||
| Requete | Licence active | Licence retiree |
|
||||
|---|---|---|
|
||||
| `GET /ping` | 200 `pong` | **404** |
|
||||
| `GET /entries`, `/settings`, `/folders` | — | **404** |
|
||||
| `POST /register` | — | **404** — impossible de se creer un compte |
|
||||
| `GET /index.html` | 200 | **200** — l'ecran d'activation reste servi |
|
||||
| `GET /nexiste-pas` | 404 JSON | 404 JSON |
|
||||
|
||||
**Observation** : le refus de la 2e couche n'a pas un corps vide — Indy remplace
|
||||
un `ContentText` vide par sa page `404 Not Found`. Il se distingue donc d'une
|
||||
route inexistante (`{"error":"Not found"}`), ce qui **revele quelles routes
|
||||
existent**. Sans consequence en production (jeton et controle de processus
|
||||
actifs), mais contraire au principe du verrouillage.
|
||||
|
||||
---
|
||||
|
||||
## Ce qu'aucun de ces essais ne prouve
|
||||
|
||||
À dire clairement, pour ne pas se croire protégé de ce qu'on ne l'est pas :
|
||||
|
||||
Reference in New Issue
Block a user