Protezione Feed — HTTP Basic Auth
Proteggi i file XML del tuo feed prodotti con un nome utente e una password, in modo che solo i crawler autorizzati — come il Gestore Cataloghi di Facebook — possano scaricarli.
Disponibile dalla v2.4.5
Panoramica
Per impostazione predefinita, i file del feed generati sono accessibili pubblicamente a chiunque conosca l'URL. Per la maggior parte dei negozi questo va bene, ma potresti voler limitare l'accesso per motivi di privacy, per impedire ai concorrenti di fare scraping dei tuoi prezzi, o per rispettare le politiche di una piattaforma.
Quando abiliti la Protezione Feed, il modulo scrive un file .htaccess e un file .htpasswd direttamente nella cartella feeds/ all'interno della directory del modulo. Apache (e i server compatibili come LiteSpeed) applica quindi l'HTTP Basic Authentication a ogni file .xml in quella cartella. Qualsiasi richiesta senza credenziali valide riceve una risposta 401 Unauthorized.
Il Gestore Cataloghi di Facebook e Instagram supporta pienamente questa modalità: incorpori le credenziali direttamente nell'URL di recupero pianificato, e i crawler le trasmettono in modo trasparente ad ogni aggiornamento.
Solo Apache/LiteSpeed. Il meccanismo
.htaccessnon è supportato da Nginx. Se il tuo server utilizza Nginx, questa funzione non limiterà l'accesso. Vedi Requisiti del Server di seguito.
Abilitare la Protezione
- Vai su Moduli > Gestione Moduli, trova Facebook & Instagram Product Catalogue Feed Pro e clicca su Configura.
- Clicca sulla scheda Feed Protection.
- Imposta Proteggere l'URL dei feed? su Sì.
- Inserisci un Utente e una Password.
- Clicca su Salva Configurazione.
Non appena salvi, il modulo crea (o sovrascrive) .htpasswd e .htaccess nella cartella feeds/. La password viene sottoposta a hashing con bcrypt prima di essere scritta — il valore in chiaro non viene mai memorizzato su disco.

| Campo | Valori | Predefinito | Descrizione |
|---|---|---|---|
| Proteggere l'URL dei feed? | Sì / No | No | Scrive .htaccess e .htpasswd nella cartella dei feed quando abilitato. Li rimuove quando disabilitato. |
| Utente | Qualsiasi stringa | (vuoto) | Il nome utente richiesto per accedere ai file del feed. |
| Password | Qualsiasi stringa | (vuoto) | La password. Memorizzata come hash bcrypt in .htpasswd — mai in chiaro. |
Sia Utente che Password devono essere compilati prima di poter abilitare la protezione. Se uno dei due campi è vuoto quando salvi con il toggle impostato su Sì, il modulo mostra un errore e lascia la protezione disabilitata.
Per disabilitare la protezione in seguito, imposta Proteggere l'URL dei feed? su No e salva. Il modulo elimina sia .htaccess che .htpasswd dalla cartella dei feed, rendendo nuovamente i file XML accessibili pubblicamente.
Aggiungere le Credenziali nel Gestore Cataloghi di Facebook
Il Gestore Cataloghi di Facebook recupera il feed in base a una pianificazione. Quando il feed è protetto, devi incorporare le credenziali nell'URL del feed che fornisci a Facebook.
Il formato per un URL con credenziali HTTP Basic Auth incorporate è:
https://username:password@yourstore.com/modules/facebookproductsfeed/feeds/feed_1_en.xml
Passaggi:
- Copia l'URL del tuo feed dalla dashboard del modulo (l'URL mostrato accanto a ogni bandiera della lingua).
- Inserisci le tue credenziali prima del nome del dominio:
https://→https://USERNAME:PASSWORD@ - Incolla l'URL completo nel campo URL Contenuto quando configuri un Feed Pianificato nel Gestore Cataloghi di Facebook.
- Facebook utilizzerà questo URL ad ogni aggiornamento pianificato e trasmetterà le credenziali automaticamente.
Suggerimento: Alcuni caratteri speciali nelle password (come
@,/,?,#) devono essere codificati come URL quando incorporati in un URL. Ad esempio,@diventa%40. Se la tua password contiene questi caratteri, scegli una password più semplice per evitare problemi di codifica.
Instagram Shopping utilizza lo stesso backend del Gestore Cataloghi. Lo stesso formato URL con credenziali incorporate si applica anche lì.
Requisiti del Server
| Requisito | Dettagli |
|---|---|
| Web server | Apache 2.4+ o LiteSpeed. Il meccanismo .htaccess non è supportato su Nginx. |
AllowOverride | Il virtual host Apache deve consentire gli override .htaccess per la directory del modulo (AllowOverride AuthConfig o AllowOverride All). Se gli override sono disabilitati, il file .htaccess verrà ignorato e l'accesso rimarrà aperto. |
| Permessi di scrittura sui file | PHP deve essere in grado di scrivere nella cartella feeds/ all'interno della directory del modulo. Il modulo mostra un errore durante il salvataggio se non riesce a creare o scrivere in .htpasswd o .htaccess. |
mod_authn_file | Il modulo Apache mod_authn_file deve essere abilitato. Fornisce la direttiva AuthUserFile utilizzata nel .htaccess generato. La maggior parte degli ambienti di hosting condiviso lo ha abilitato per impostazione predefinita. |
Se utilizzi Nginx, considera di limitare l'accesso a livello di configurazione del server (ad esempio, usando auth_basic nel blocco del tuo sito Nginx). Contatta il tuo provider di hosting o l'amministratore di sistema se hai bisogno di assistenza.
Note Importanti
- Sono protetti solo i file
.xml. Il file.htaccessscritto dal modulo utilizza un blocco<FilesMatch "\.xml$">, quindi gli altri file nella cartella dei feed (comeprogress.json) rimangono accessibili senza credenziali. - Un set di credenziali per negozio. Le impostazioni di protezione (
FPF_SECURITY,FPF_SECURITY_USER,FPF_SECURITY_PASS) si applicano al contesto del negozio corrente. In una configurazione multi-negozio, configura la protezione separatamente per ogni negozio se necessario. - La modifica delle credenziali riscrive i file. Se aggiorni il nome utente o la password e salvi di nuovo, il modulo sovrascrive immediatamente sia
.htpasswdche.htaccesscon i nuovi valori. - Basic Auth per la generazione (funzione separata). La scheda Feed Protection contiene anche i campi Basic Auth Username e Basic Auth Password. Questi non sono correlati alla protezione del feed — vengono utilizzati quando il generatore di feed interno del modulo effettua richieste HTTP a se stesso (per la generazione ciclica ricorsiva) e il tuo server richiede autenticazione per accedere al sito. Non confonderli con le credenziali della cartella dei feed.
Risoluzione dei Problemi
| Problema | Soluzione |
|---|---|
| Errore "Le credenziali di sicurezza non sono valide o vuote" durante il salvataggio | Sia Utente che Password devono essere non vuoti prima di poter abilitare la protezione. Compila entrambi i campi e salva di nuovo. |
| Errore "Impossibile creare o scrivere nel file .htpasswd" | PHP non ha il permesso di scrittura sulla cartella feeds/. Verifica la proprietà e i permessi della cartella sul tuo server. La cartella deve essere scrivibile dall'utente del web server. |
| L'URL del feed è ancora accessibile senza credenziali dopo l'abilitazione | Il tuo server probabilmente utilizza Nginx, oppure Apache ha AllowOverride None per la directory del modulo. Il file .htaccess è presente su disco ma non viene letto. Chiedi al tuo provider di hosting di abilitare gli override .htaccess, o utilizza invece una restrizione di autenticazione a livello di server. |
| Facebook restituisce un errore "Impossibile recuperare il feed" dopo l'abilitazione della protezione | Le credenziali incorporate nell'URL fornito a Facebook non sono corrette, o il formato dell'URL è errato. Verifica il formato https://utente:password@dominio/... e conferma che le credenziali corrispondano a quelle impostate nel modulo. |
| La protezione è stata disabilitata ma il feed restituisce ancora 401 | Il modulo non è riuscito a eliminare .htaccess o .htpasswd (un problema di permessi sui file). Elimina manualmente questi due file dalla cartella feeds/ tramite FTP o il file manager del tuo hosting. |
Domande Frequenti
Devo aggiornare l'URL nel Gestore Cataloghi di Facebook ogni volta che cambio la password?
Sì. Le credenziali sono incorporate nell'URL del feed che hai registrato con Facebook. Quando cambi il nome utente o la password nel modulo, devi anche aggiornare l'URL nel Gestore Cataloghi con le nuove credenziali — altrimenti il recupero pianificato di Facebook restituirà 401 e il catalogo smetterà di aggiornarsi.
Posso usare qualsiasi nome utente e password, o ci sono restrizioni?
Puoi usare qualsiasi stringa non vuota. Per semplicità, evita caratteri speciali come @, :, /, ? e # nella password, perché devono essere codificati come URL quando incorporati in un URL del feed. Una password che utilizza solo lettere, numeri e trattini è la più semplice da gestire.
La password viene memorizzata in modo sicuro?
Sì. Il modulo sottopone la password a hashing con bcrypt prima di scriverla in .htpasswd. La password in chiaro non viene mai memorizzata nel database o su disco.
Questo protegge tutti i feed per lingua e paese, o solo uno?
La protezione si applica all'intera cartella feeds/. Tutti i file .xml in quella cartella — indipendentemente dalla lingua o dal paese — richiedono credenziali una volta abilitata la protezione.
Cosa succede ai miei feed se elimino il file .htpasswd manualmente?
Il file .htaccess fa ancora riferimento al file .htpasswd (ora mancante). Apache restituirà un errore 500 Internal Server Error per qualsiasi URL del feed. Per ripristinare, riabilita e salva nuovamente la Protezione Feed nel modulo (che riscrive entrambi i file), oppure disabilita la protezione nel modulo e salva (che elimina l'.htaccess orfano).