Domanda

Io e il mio amico stiamo lavorando a un programma.Questo programma invierà i dati GET alla nostra pagina web.Tuttavia, non vogliamo che gli utenti accedano alla pagina web in un modo diverso da quello del programma.Possiamo impedire agli utenti di condividere il programma utilizzando l'autenticazione HWID, ma nulla impedisce loro di utilizzare uno scanner di pacchetti per ottenere l'URL della pagina web.Abbiamo pensato all'autenticazione dello user-agent, che implementeremo, ma gli user-agent possono essere facilmente falsificati.

Quindi la mia domanda è: come possiamo impedire agli utenti di accedere direttamente alla pagina Web anziché tramite il programma?

Anche se non hai una risposta che funzioni completamente, qualsiasi cosa che possa aiutarli a scoraggiarli sarebbe carino.

Attualmente implementeremo:

Autenticazione HWID per utilizzare il programma User-Agent Autenticazione per accedere alla pagina web Istantanea IP Blacklisting a chiunque acceda alla pagina web senza il corretto User-Agent

È stato utile?

Soluzione

Non fare affidamento su user agent o qualsiasi tipo di navigatore di impronte digitali, le intestazioni HTTP sono facilmente forgiato / spoofing.

Si potrebbe aggiungere qualche segno segreto (ad es. La password / login) per la richiesta e inviarlo tramite SSL per evitare intercettazioni.

O meglio, utilizzare un certificato client SSL.

Modifica Avete intenzione di distribuire il programma VB? Se è così, come bobince detto, non c'è modo si può evitare che un hacker determinato a richieste Forge. È possibile aumentare il bar ma sarà sicurezza attraverso l'oscurità . Anche con certs client, l'hacker sarà in grado di estrarre il CERT dal programma e inviare richieste modificati.

Fino a quando si accetta richieste dal client, queste richieste possono essere forgiato. Trattare con esso.

Altri suggerimenti

Una possibilità è che si può impostare un crittografati di token nell'intestazione della richiesta.

Il token può essere utilizzato solo per singola volta. Se lo stesso motivo viene inviato di nuovo il server lo rifiuterà, mezzi u hanno per mantenere la copia di token utilizzati sul lato server.

un'opzione è utilizzare e verificare un'intestazione personalizzata che un browser Web non invia, ho fatto una cosa simile per un mio programma.Fallo oltre alle altre verifiche che stai facendo.Sul lato server, chiedi allo script del server di verificare l'intestazione personalizzata e di reindirizzarla semplicemente se l'intestazione è sbagliata

  • Prova crittografia di tutti i ur pagine web utilizzando i una lunga chiave (512bits o più) utilizzare il HWID come un sale.

    In questo modo solo ur programma in grado di decodificare e renderlo come una pagina web.

      

    en.wikipedia.org/wiki/Salt_%28cryptography%29

  • C # e VB.net qui:

      

    obviex.com/samples/hash.aspx

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top