Applicare le licenze per dominio singolo per un tema WordPress

1

Sto avendo un tema WordPress che gli utenti possono acquistare. È consentito utilizzare un'unica licenza su un singolo sito Web e sto identificando i siti Web in base ai rispettivi domini. Un singolo acquisto è identificato con un UUID sicuro.

Sto cercando di ottenere una soluzione sicura per applicare questo vincolo: puoi utilizzare e ricevere gli aggiornamenti per quel tema solo da un singolo dominio preconfigurato.

Sto anche avendo alcuni vincoli:

  • non può usare il codice offuscato in alcun modo, cioè la sicurezza attraverso l'oscurità non è un'opzione per me
  • Gli utenti
  • sono in grado di scambiare i domini per le loro licenze, che viene eseguito su un dashboard separato

La domanda è, quali sono le opzioni per farlo?

La cosa più semplice che mi viene in mente è di inviare il% segreto% co_de e il dominio corrente (che estraggo dal DB - è così che funziona WordPress) come carico utile per ogni richiesta che invio dal tema all'API I avere dalla parte Questo sembra molto fragile per me e non è affatto sicuro.

Ci sono altre opzioni che posso prendere in considerazione?

Non sto chiedendo soluzioni specifiche per WordPress (e PHP). Sto solo cercando tecniche che possano aiutarti in quelle situazioni.

Grazie.

    
posta Andrei Glingeanu 16.03.2017 - 01:27
fonte

1 risposta

0

Questa è già una risposta parziale nei commenti, ma la cosa più semplice da fare è avere una stringa UUID segreta memorizzata con il codice e il dominio corrente, e quindi essere usata come payload per il lato API delle cose.

La parte difficile qui è il tipo di sistema che stai utilizzando. Quando si specifica un tema Wordpress, Wordpress non dà esattamente la parola "closed source" sui temi. Con ciò intendo che il tema stesso è progettato in un modo che non è gentile verso il codice 'segreto'. Qualsiasi utente che abbia accesso al codice che gli è stato dato può aggungere qualsiasi meccanismo di sicurezza incorporato nella codifica del tema.

Anche se questo è il meno del caso con codice / binari compilati (nel qual caso è necessario decompilare per "correggere" i controlli di sicurezza), rimane il fatto che qualsiasi cosa che dai a qualsiasi utente può continuare a essere 'patchata' per aggirare eventuali controlli di sicurezza messi in atto, con uno sforzo sufficiente. Ciò significa in ultima analisi che devi avere fiducia che i tuoi utenti a cui viene fornito il tema non tenteranno di eludere i tuoi controlli; quelli che desiderano, comunque, potranno farlo.

Il tuo approccio semplice è probabilmente l'approccio migliore, ma tieni presente che ci sono modi per "correggere" questi controlli, e con abbastanza impegno anche i più robusti "controlli di sicurezza" per gli articoli di licenza possono essere aggirati, con tempo e sforzo per farlo; ciò significa che devi solo fidarti dei tuoi utenti per non tentare di eludere i controlli di sicurezza.

    
risposta data 16.03.2017 - 03:35
fonte

Leggi altre domande sui tag