wordpress plugin beveiligen
Beste mensen,
Ik ben bezig met het schrijven van een aantal wordpress plugins. Deze wil ik in de toekomst voor een klein bedrag ter download aanbieden. Nu wil ik graag voorkomen dat één iemand deze plugin download en er voor de hele wereld mee aan de haal gaat. Nu wil ik graag per persoon/domein een soort van api key gaan regelen.
Nu heb ik twee vragen: welke manier van communicatie moet ik hier voor gebruiken? Dus voordat de plugin wordt weergegeven wordt er gekeken of de juiste api key wel gebruikt wordt.
Ook wil ik graag voorkomen dat iemand de programmatuur verbouwd en er bijvoorbeeld in de functie waar het request gedaan wordt altijd true wordt terug gegeven. Hoe kan ik dit het beste voor elkaar krijgen?
Ik ben benieuwd naar jullie ideeën.
Mvgr,
Crispijn
Ik ben bezig met het schrijven van een aantal wordpress plugins. Deze wil ik in de toekomst voor een klein bedrag ter download aanbieden. Nu wil ik graag voorkomen dat één iemand deze plugin download en er voor de hele wereld mee aan de haal gaat. Nu wil ik graag per persoon/domein een soort van api key gaan regelen.
Nu heb ik twee vragen: welke manier van communicatie moet ik hier voor gebruiken? Dus voordat de plugin wordt weergegeven wordt er gekeken of de juiste api key wel gebruikt wordt.
Ook wil ik graag voorkomen dat iemand de programmatuur verbouwd en er bijvoorbeeld in de functie waar het request gedaan wordt altijd true wordt terug gegeven. Hoe kan ik dit het beste voor elkaar krijgen?
Ik ben benieuwd naar jullie ideeën.
Mvgr,
Crispijn
Gesponsorde koppelingen:
Niemand?
Ik denk niet dat je dat zonder commerciële producten zoals Zend Encoder (heette dat ding zo?) goed kan doen.
Een oplossing zou zijn om niet de volledige functionaliteit in de plugin zelf te zetten. Ik weet niet wat voor plugins je maakt, maar bij bijvoorbeeld een anti-spam plugin zou je het beoordelen van een comment bij jouw op de server kunnen laten gebeuren. En alleen mensen die met een geldige API key bij jouw server aankloppen worden geholpen.
Een oplossing zou zijn om niet de volledige functionaliteit in de plugin zelf te zetten. Ik weet niet wat voor plugins je maakt, maar bij bijvoorbeeld een anti-spam plugin zou je het beoordelen van een comment bij jouw op de server kunnen laten gebeuren. En alleen mensen die met een geldige API key bij jouw server aankloppen worden geholpen.
Eens met Jelmer. PHP is nu eenmaal moeilijk te beschermen als iemand het mag bekijken. Ik heb wel een aantal theorieen over beveiligen.
Het beste is inderdaad met behulp van Zend Guard of Zend Encoder, hiermee wordt je php-code binair gecodeerd, dus niemand die er iets van kan maken (misschien zijn er decoders beschikbaar).
Je zou ook met behulp van obfucating kunnen werken (gewoon je code zo onleesbaar mogelijk maken). Ik heb hier wel eens iets voor gemaakt. Dit is echter geen beveiliging, maar meer een afweer systeem.
Jelmer geeft aan gewoon een service te bouwen. Dat is natuurlijk ook een leuke toepassing, hiermee ga je wel de verplichting aan dat de service ook altijd werkt en beschikbaar is. En je krijgt serverload voor de kiezen. Ook zit je met ip-registratie (api-key moet gekoppeld worden aan 1 of 2 ip-adressen).
Het beste is inderdaad met behulp van Zend Guard of Zend Encoder, hiermee wordt je php-code binair gecodeerd, dus niemand die er iets van kan maken (misschien zijn er decoders beschikbaar).
Je zou ook met behulp van obfucating kunnen werken (gewoon je code zo onleesbaar mogelijk maken). Ik heb hier wel eens iets voor gemaakt. Dit is echter geen beveiliging, maar meer een afweer systeem.
Jelmer geeft aan gewoon een service te bouwen. Dat is natuurlijk ook een leuke toepassing, hiermee ga je wel de verplichting aan dat de service ook altijd werkt en beschikbaar is. En je krijgt serverload voor de kiezen. Ook zit je met ip-registratie (api-key moet gekoppeld worden aan 1 of 2 ip-adressen).
Klopt, het is ook de bedoeling extra informatie via http requests aan te bieden in bijvoorbeeld een xml formaat. Echter kan je dan altijd de functie die controleert of er wel een geldige api key/domein combinatie is dusdanig ombouwen dat ie altijd true terug geeft toch? Hoe kan ik deze netjes beveiligen?
Dan kom je dus uit op de eerste optie, Zend Guard: http://www.zend.com/en/products/guard/



