Puncte:0

Faceți ca apache să accepte cereri numai dacă cine a trimis solicitările este un domeniu pe care l-am specificat

drapel in

În prezent, am un server apache2 care acceptă cereri API pe adresa URL mydomain.com/api și am o aplicație client care rulează la mydomain.com.
De asemenea, în API-ul meu, se poate accesa mydomain.com/api/files/fileId pentru a obține un fișier.
Acum, în aplicația mea client, am o pagină de like mydomain.com/file/fileid care, în loc să descarce direct fișierul, așa cum o face punctul final api corespunzător, afișează o pagină cu informații despre fișier și, dacă este un videoclip, are interfața grafică personalizată potrivită pentru a-l transmite în flux. Problema este că se poate accesa API-ul direct și obține fișierul în acest fel, în loc să-l vadă pe site-ul web și vreau să previn acest lucru.
Scopul final este de a împiedica utilizatorul să descarce fișierul și să-l servească doar prin site-ul meu, un pic așa cum o face YouTube (de care știu eu)...
Este posibil acest lucru cu o configurație apache? Sau ar trebui să schimb complet modul în care abordez asta? EDIT: Deocamdată păstrez că fișierul poate fi accesat atât de la adresa URL a API, cât și de pe pagina site-ului web, dar dacă are cineva vreo idee, vă rog să vă ajutați, mulțumesc

djdomi avatar
drapel za
Cred că este un duplicat ca [acesta](https://stackoverflow.com/questions/39550660/how-to-block-direct-download-file)
Alessandro Valentino avatar
drapel in
Eu nu cred acest lucru. Am deja autentificare pentru aceste solicitări, nevoia mea este să împiedic oamenii să acceseze direct url-ul API și să permit doar aplicației mele să o folosească
djdomi avatar
drapel za
apoi limitat la localhost, că. ar putea fi o soluție bună?
Alessandro Valentino avatar
drapel in
Dacă restricționez cererea la localhost, atunci aplicația mea web nu o poate accesa, deoarece trebuie să acceseze resursa ca orice alt utilizator. Sau cel puțin nu știu cum să o fac, dar cred că nu este posibil
djdomi avatar
drapel za
dacă ai scris asta, atunci ar trebui să poți face asta. Puteți utiliza, de asemenea, o cheie ascunsă pentru a permite accesul, dar acesta este doar un gând. Amintiți-vă că există scripturi anti leech care împiedică utilizatorii să cunoască adresa URL reală. Dar serverfault nu este o pagină de codare. Stackoverflow.com ar fi în mintea mea cea mai bună alegere pentru a rezolva problema din sursă în loc să faci și să creezi o soluție
Alessandro Valentino avatar
drapel in
M-am gândit să folosesc o cheie salvată pe client, dar poate cineva care cunoaște câteva elemente de bază, să navigheze în js și să găsească cheia? De asemenea, nu știam despre acele „scripturi de lipitori”, așa că mă voi uita cu siguranță pentru a vedea dacă îmi ajută cazul, mulțumesc.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.