- Prije promjene postavki provjerite točan razlog odbijanja.
- Konfigurirajte javni URL i provjerite dolazi li do spremnika.
- Ponovno stvorite uslugu kako biste primijenili varijable okruženja.
- Provjerite kolačiće i zaglavlja bez onemogućavanja CSRF zaštite.
Ako se prikazuje Paperless-ngx 403 Zabranjeno: CSRF provjera nije uspjela Prilikom prijave, aplikacija je odbila sigurnosnu provjeru zahtjeva. To je uobičajeno nakon promjene domene, omogućavanja HTTPS-a ili konfiguriranja obrnutog proxyja, ali može biti povezano i s kolačićima ili zastarjelim obrascem.
Rješenje uključuje identificiranje specifičnog razloga, provjeru javnog URL-a i osiguravanje da konfiguracija doista stigne do Paperless-a. Ne morate onemogućiti CSRF zaštitu ili mijenjati dopuštenja dokumenata.
Utvrdite što uzrokuje CSRF grešku u Paperless-ngx-u

Django koristi kolačiće i tokene, kao i provjere porijekla zahtjeva, kako bi otežao drugim web stranicama slanje akcija iskorištavanjem korisnikove sesije.
Provjerite je li u obavijesti izričito navedeno CSRF provjera nije uspjelaPogreška 403 koju generira Cloudflare, pravilo proxyja ili vanjski sustav pristupa može imati drugi uzrok.
Ako koristite Docker Compose, reproducirajte grešku i provjerite zapisnike:
docker compose logs --tail=100 webserver
U primjerima koje smo koristili webserver kao naziv usluge. Zamijenite ga nazivom vaše implementacije. Potražite reference na django.security.csrf i razlog odbijanja.
- Provjera porijekla nije uspjela: Provjerite izvor koji se pojavljuje u obavijesti i javnim postavkama.
- CSRF kolačić nije postavljen: provjerite prima li preglednik i zadržava li kolačić.
- Token nedostaje ili je netočan: Ponovno učitajte obrazac prije slanja.
- Provjera referenta nije uspjela: Provjerite zaglavlja i pristupite putem HTTPS-a.
Konfigurirajte PAPERLESS_URL s ispravnom javnom adresom

Za jedinstvenu javnu adresu konfigurirajte BEZPAPIRNA_URLUključite protokol i port ako nije zadani, ali nemojte dodavati kosu crtu na kraju ili putanje poput /accounts/login/.
Na primjer:
PAPERLESS_URL=https://documentos.example.com
Ova varijabla zajednički konfigurira postavke za dopuštene hostove, CORS i pouzdane CSRF izvore. Ne pretvara automatski sve adrese u ekvivalente. s kojeg možete otvoriti instancu.
Ako objavljujete Paperless pod podputom, kao što je https://example.com/paperlessNemojte unositi tu putanju u PAPERLESS_URL. Ta implementacija zahtijeva zasebno konfiguriranje prefiksa i proxyja.
Provjerite da Docker prima varijablu
Datoteka .env Može se koristiti za zamjenu vrijednosti u Composeu, ali njegove varijable nisu automatski uključene u okruženje svih servisa.
Ovaj isječak možete dodati postojećoj usluzi bez papira:
services:
webserver:
environment:
PAPERLESS_URL: "https://documentos.example.com"
Integrirajte prilagodbu bez zamjene ostatka vašeg Composea. Zadržite sliku, volumene, ovisnosti i ostale varijable koje ste već koristili.
Ako želite spremiti konfiguraciju u datoteku, molimo vas da to izričito navedete:
services:
webserver:
env_file:
- paperless.env
I unutar paperless.env:
PAPERLESS_URL=https://documentos.example.com
Provjerite moguće duplikate: ako se varijabla pojavljuje i u environment, ta vrijednost ima prednost pred onom definiranom u env_file.
Primijenite promjene ponovnim stvaranjem usluge.

Nakon promjene varijabli, pokrenite naredbu iz odgovarajućeg Compose projekta:
docker compose up -d --no-deps --force-recreate webserver
Ovaj primjer pretpostavlja da su ovisne usluge već pokrenute. Ponovno stvara Paperless bez namjernog zaustavljanja baze podataka i ostatka stoga.
Jednostavno ponovno pokretanje Docker Composea ne ažurira okruženje kontejnera. Također ne morate brisati volumene da biste primijenili ove prilagodbe.
Provjerite primljenu vrijednost:
docker compose exec webserver printenv PAPERLESS_URL
Ako se očekivana adresa ne pojavi, provjerite uređenu datoteku, uslugu i duplicirane varijable. Ako koristite opcije kao što su -f ili određeni naziv projekta, zadržava iste opcije u naredbama.
Kada koristiti PAPERLESS_CSRF_TRUSTED_ORIGINS
PAPERLESS_CSRF_TRUSTED_ORIGINS nije zastarjela varijabla. Omogućuje vam deklariranje dodatnih izvora za CSRF-zaštićene zahtjeve.
Na primjer, za dva pouzdana smjera:
PAPERLESS_CSRF_TRUSTED_ORIGINS=https://documentos.example.com,https://archivo.example.com
Koristite specifične izvore, s protokolom i portom gdje je to primjenjivo. Nemojte brkati ovaj popis s PAPERLESS_ALLOWED_HOSTS, gdje su nazivi hostova konfigurirani bez protokola.
Autorizacija izvora ne zamjenjuje postavke domene, certifikata ili proxyja. Dodaje samo adrese koje zapravo koristite i kontrolirate.
Provjerite HTTPS i obrnute proxy zaglavlja

Proxy mora ispravno prenijeti host i vanjsku shemu. Promjena hosta nije obavezna kada koristite Nginx Proxy Manager, Traefik ili Cloudflare Tunnel; ovisi o njihovoj konfiguraciji.
Ako preglednik koristi HTTPS i proxy komunicira s Paperlessom putem HTTP-a, možda će biti potrebno odrediti kako prepoznati sigurnu vanjsku vezu:
PAPERLESS_PROXY_SSL_HEADER='["HTTP_X_FORWARDED_PROTO", "https"]'
Ovaj format odgovara varijabilnoj datoteci. Nemojte ga aktivirati bez provjere proxyja: Morate pouzdano postaviti ili prebrisati taj zaglavlje, izbjegavajući prihvaćanje proizvoljnih vrijednosti koje šalju vanjski klijenti.
U lancima s više proxyja, provjerite shemu koja dolazi do zadnjeg skoka. Opcije povjerenja u proslijeđenim zaglavljima ne bi trebale biti omogućene kao univerzalni pristup.
Ako zapis pokazuje izvor null ili problem s Refererom; također pregledajte politiku preporuke primijenjenu na obrazac. Wiki stranica projekta dokumentira probleme s pristupom povezane s Referrer-Policy: no-referrerIspravljanje dopuštenih URL-ova u tom slučaju možda neće biti dovoljno.
Odbacite stare kolačiće i zastarjele obrasce
Nakon što je konfiguracija poslužitelja ispravljena, ponovno otvorite konačnu adresu i ponovno učitajte obrazac za prijavu. Izbjegavajte slanje sa stare kartice ili prebacivanje između HTTP, HTTPS, IP i domene tijekom testa.
Ako je problem povezan s kolačićima ili tokenima, pokušajte koristiti prozor za privatno pregledavanje ili jednostavno izbrisati podatke s web-mjesta Paperless. Također, provjerite blokiraju li neka proširenja kolačiće ili mijenjaju zahtjeve.
Cilj je da se preglednik, proxy i aplikacija podudaraju u pristupnoj adresi i kontekstu. Onemogućavanje CSRF-a, neselektivno proširivanje izvora ili brisanje podataka o implementaciji ne rješava uzrok..
Ja sam tehnološki entuzijast koji je svoje "geek" interese pretvorio u profesiju. Proveo sam više od 10 godina svog života koristeći vrhunsku tehnologiju i petljajući sa svim vrstama programa iz čiste znatiželje. Sada sam se specijalizirao za računalne tehnologije i video igre. To je zato što sam više od 5 godina pisao za razne web stranice o tehnologiji i videoigrama, stvarajući članke koji vam nastoje dati informacije koje su vam potrebne na jeziku koji je svima razumljiv.
Ako imate bilo kakvih pitanja, moje znanje seže od svega vezanog uz Windows operativni sustav kao i Android za mobitele. I moja je posvećenost vama, uvijek sam spreman odvojiti nekoliko minuta i pomoći vam riješiti sva pitanja koja imate u ovom internetskom svijetu.