Come evitare il bypass della finestra del contratto utente

0

Ho un file sul mio sito Web che gli utenti possono scaricare. Dopo aver fatto clic sul pulsante di download, indico un div con gli accordi utente e due pulsanti, "accetta accordo utente" e "rifiuta accordo utente".

Se l'utente preme "accetta accordo utente", aggiungo il parametro GET &useragreement=1 all'URL di download, altrimenti &useragreement=0 .

Quindi sul lato server controllo se useragreement == 1 e se è vero, avvia il download, altrimenti avvia una pagina di ricarica.

Tuttavia, un utente può semplicemente manipolare l'url e aggiungere &useragreement=1 per scaricare un file senza nemmeno leggere gli accordi utente.

Domande

A: È considerato un crimine informatico (hacking) bypassare la finestra del contratto utente in questo modo?

B: Come posso migliorarlo?

    
posta Black 15.12.2016 - 11:20
fonte

2 risposte

3

Indipendentemente dal fatto che si tratti di un crimine informatico dipende dalla giurisdizione in cui tu e loro siete coinvolti, e anche in questo caso è un argomento per legge stackexchange . Quindi non ho intenzione di parlarne.

Se vuoi essere sicuro che solo gli utenti che hanno almeno visto il contratto con l'utente possano scaricare un file, devi dare loro (o piuttosto il loro browser web) un segreto insieme al contratto di licenza.

Non lasciare che la pagina di accordo utente abbia impostato un semplice token 0/1.

  • Quando generi la pagina del contratto utente sul server, generi casualmente un token univoco per ogni impressione della pagina. Metti quel token in un campo di input nascosto nella pagina dell'accordo e memorizzalo nel tuo database.
  • Il pulsante di invio sotto il contratto deve anche inviare quel token
  • Avere la pagina di download controllare se quel token è nel database. In tal caso, consentire il download ed eliminare il token dal database in modo che non possa essere riutilizzato.
  • (facoltativo) elimina periodicamente i token dal database che non sono stati utilizzati entro X ore per evitare che il modulo del database diventi troppo grande e lento a causa dei token inutilizzati che si accumulano al suo interno.

A proposito, questa è anche una buona precauzione contro il furto di larghezza di banda, perché i link diretti direttamente sui download non funzionano. Chiunque si colleghi ai file sul tuo sito web dovrà collegarsi almeno alla pagina dell'accordo.

    
risposta data 15.12.2016 - 11:30
fonte
2

A: Is it considered as cyber crime (hacking) to bypass the user agreement window like this?

Questa è una domanda legale e fuori tema. Prova invece a law.stackexchange.com. Ma dubito strongmente che questo sia considerato un crimine informatico nella maggior parte dei paesi.

B: How can I improve it?

Assicurati che la richiesta contenente useragreement=1 sia emessa dallo stesso sito e che l'URL di riferimento abbia useragreement=0 . Potresti controllare l'intestazione HTTP Referer per questo. In questo modo si potrebbe almeno sostenere che l'utente ha eluso consapevolmente l'accordo (cioè invece di seguire semplicemente un link pubblicato da qualcun altro) e in base alla legge locale questo può essere interpretato come se l'utente fosse comunque vincolato comunque all'accordo. Ma ancora, discussioni legali o fuori tema qui, ma potresti chiedere a law.stackexchange.com se questo blocco tecnico è sufficiente.

    
risposta data 15.12.2016 - 11:30
fonte

Leggi altre domande sui tag