Import URL : 403 bot-protection bloque l'import (Cloudflare) #36

Closed
opened 2026-05-13 22:09:53 +00:00 by cedricAbonnel · 0 comments
Owner

Problème

Lors de l'import d'une URL protégée par Cloudflare (ou équivalent), la requête cURL du serveur reçoit un HTTP 403 (page "Verifying your connection...") au lieu du contenu réel. La condition $httpCode >= 400 dans fetchUrlMeta() retournait ok = false, bloquant l'accès à l'étape 2 de l'import.

URL concernée : https://www.goneoglobal.com/products/ev-charger-safe-charging-station

Cause

Cloudflare bot-protection : la réponse HTTP/2 d'un vrai navigateur passe (200), mais le fingerprint TLS/HTTP de PHP/cURL est identifié comme bot → 403.

Fix

Dans fetchUrlMeta() (public/index.php), le 403 est intercepté avant le rejet général et retourne ok = true avec mime = 'text/html' et un flag blocked = true.

Dans templates/import_image_step2.php, un message d'avertissement explique que les métadonnées n'ont pas pu être récupérées automatiquement et invite l'utilisateur à saisir le titre manuellement.

Commit

0a7290d fix(import): 403 bot-protection → ok avec métadonnées vides

Statut

Corrigé et déployé.


Migré depuis varlog#50

## Problème Lors de l'import d'une URL protégée par Cloudflare (ou équivalent), la requête cURL du serveur reçoit un HTTP 403 (page "Verifying your connection...") au lieu du contenu réel. La condition `$httpCode >= 400` dans `fetchUrlMeta()` retournait `ok = false`, bloquant l'accès à l'étape 2 de l'import. URL concernée : `https://www.goneoglobal.com/products/ev-charger-safe-charging-station` ## Cause Cloudflare bot-protection : la réponse HTTP/2 d'un vrai navigateur passe (200), mais le fingerprint TLS/HTTP de PHP/cURL est identifié comme bot → 403. ## Fix Dans `fetchUrlMeta()` (`public/index.php`), le 403 est intercepté avant le rejet général et retourne `ok = true` avec `mime = 'text/html'` et un flag `blocked = true`. Dans `templates/import_image_step2.php`, un message d'avertissement explique que les métadonnées n'ont pas pu être récupérées automatiquement et invite l'utilisateur à saisir le titre manuellement. ## Commit `0a7290d` fix(import): 403 bot-protection → ok avec métadonnées vides ## Statut Corrigé et déployé. --- *Migré depuis [varlog#50](https://git.abonnel.fr/cedricAbonnel/varlog/issues/50)*
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: cedricAbonnel/folio#36