it-swarm.asia

Güvenli WordPress ödenen eklenti

Bir WordPress eklentisi oluşturmak istiyorum, ancak eklentinin yalnızca her etki alanı için benzersiz olması gereken bir seri anahtarla etkinleştirildikten sonra da kullanılabilmesini sağlamak istiyorum.

Bunu düşünerek devam etmenin en iyi yolu nedir:

  1. Gerçek kaynak kodunu kullanıcılara vermem gerekiyor ve VideoPress türünde bir güvenlik kullanamıyorum - bu eklentinin sunucusundan gelen asıl içerik için bir JavaScript sarmalayıcısıdır.
  2. PHP geliştiricisinin ortalama bir aceminin güvenliği kolayca aşamayacağından emin olmak istiyorum.
5
Adhip Gupta

Seçenek 1 - Sisteminizdeki bazı verileri işleyin

Eklentinin tüm işlemlerini kendi sunucunuza yerleştirmezdim, ancak bir veya iki hayati işlev seçer ve bunları sisteminizde barındırır. Ardından, eklentiyi kullanan her site için sunucunuzla iletişim kurabilmeleri için bir API anahtarı isteyin.

Seçenek 2 - Saklanan verileri şifreleyin ve barındırılan bir şifre çözme anahtarı gerektirir

Başka bir alternatif temel şifreleme kurulumudur - bu aslında bir süredir uğraştığım bir sistem, henüz herhangi bir yere yerleştirmek için uğraşmadım. Kodun (GPL'ye sadık kalmak için) beklediğiniz gibi hepsi düz metindir. Ancak, depolanan tüm veriler (varsayılan değerler, eklenti ayarları, vb.) Veritabanına kaydedilmeden önce şifrelenir. Buradaki püf noktası, uzak sistemdeki eklentinin şifre çözme anahtarına sahip olmamasıdır - verilerin şifresini çözmek için, API şifresini sisteminize göndermek ve ardından şifre çözme anahtarı ile cevap vermek zorundadır. Bu daha sonra, geçici olarak (geçici bir seçenek) akıtılmadan önce belirli bir süre saklanabilir - bu şekilde yoğun trafik sırasında her 2 saniyede bir sunucunuza isabet eden bir siteniz olmaz.

Bu yaklaşımın dezavantajları, faydalarından daha ağır basabilir (bu yüzden henüz bir yere yerleştirmedim). Her şeyden önce, anlayışlı bir programcı şifre çözme anahtarını yakalayabilir ve ardından sunucunuza artık ihtiyaçları kalmaz. Veya tüm şifreleme/şifre çözme kancalarını temizleyebilir ve düz metin olarak çalıştırılabilirler. Bu, kullanıcı için açık kaynağın avantajı ve ücretsiz fakat kısıtlı bir sistemi dağıtmak isteyen geliştiricinin dezavantajıdır.

Diğer olumsuz, sunucunuza bağımlılıktır. Bir anahtarın geçici olarak depolanması, yükün bir kısmını sunucunuzdan kaldırır ... ancak siteniz bir veya iki saat kadar düşerse, eklentinizi kullanarak her site gider Bir tür zarif devre dışı bırakma planı yapmazsanız, bir veya iki saat boyunca. Ayrıca, insanlar sisteminizi kullanmaya devam ederse, söz konusu sunucuyu süresiz çalışır durumda tutmanız gerektiği anlamına gelir.

Seçenek 3 - "Ücretsiz" sürümün özelliklerini sınırlandırın

Son seçenek ve aktif olarak kullanmaya çalıştığım seçenek, eklentinizin özellik kümesini ve işlevselliğini bölmektir. Sistemin çekirdeği (UI, temel özellikler vb.) Kayıt olmadan serbestçe kullanılabilir. Daha gelişmiş özellikler için, kullanıcıların kopyalarını kaydetmeleri, bir etkinleştirme anahtarı edinmeleri, ardından işlemi tamamlamak için kullanıcı arabirimine bu anahtarı girmeleri gerekir - eklenti daha sonra sunucunuzu doğrular ve sisteme ek premium "eklentileri" indirir .

Buradaki dezavantaj, indirildikten sonra, tüm kodların artık kullanıcının sitesine dayanması ve GPL kapsamında paketin tamamını yeniden dağıtabilmeleridir. Bunun avantajı, sisteminize yalnızca bir kez bağlı olması ve herhangi bir uzun süreli indirme/işleme desteği gerektirmemesidir.


İlerlemeye karar verdiğiniz herhangi bir yolla, ya sunucunuzda bir tür harici API koruyarak ya da sisteminizin tam kaynağını kullanıcılarınıza sağlayarak etkileneceksiniz. Sisteminizde biraz işlevsellik sürdürürseniz, buna değer olması için neredeyse% 100 çalışma süresi garanti etmeniz gerekir. Tam kaynağı sağlayacaksanız, başkasının sisteminizi yeniden dağıtmasını engellemenin yolu (GPL altında) yoktur.

4
EAMann

Kaynak kodunu WordPress kullanıcılarından uzak tutamazsınız ya da lisans uygulamaları nedeniyle eklentinizin yeniden dağıtımını sınırlandırmanıza izin verilmez.

Eklentinizle bir WordPress türevi oluşturuyorsunuz ve kullanıcılarınız kaynağını alma ve özgürce yeniden dağıtma hakkına sahip (ücretsiz = dört özgürlüğü inceleyin ).

WordPress’in GPLv2’ye göre lisanslandırıldığını ve ABD’de olmayan müşterilere sahip olduğunuzu ve ("korumalı") ürününüzde olabilecek bir GPL ihlalinin etkilerini ele almanız gerektiğini düşünmeniz gerekir.

Kullanıcılarınız için bir satıcı kilitlemesi uygulamaya çalışıyorsunuz.

3
hakre

Yarısına kadar iyi bir programcının engelleyemeyeceği güvenli bir lisansa sahip dağıtılmış bir eklentiye sahip olmanın tek yolu, eklentinin ana işlevselliğini Akismet gibi kendi sunucunuzda çalıştırmaktır. Kullanıcı, sunucunuza lisans anahtarını içeren bir istek göndermelidir. Anahtar teslim alınırsa, kaynak kodunu kendi adınıza çalıştırın ve sonuçları tekrar gönderin.

2
John P Bloch