Şifreleme olmadan PHP kodu korumak için en iyi çözüm

10 Cevap php

Her şeyden önce, ben mucize arıyor değilim ... Ben PHP çalışıyor ve şifreleme kullanmadan müşterilerine benim kodu gizlemek için bir yol gerçekten var olmadığını biliyorum. Ama çalışan bir sunucuda yüklü olması bir uzantısı maliyet ile gelir.

Ama ... Benim kod şifrelemek veya hatta karartmak için aramıyorum farklı bir şey arıyorum. Orada şifreli / karartılmış kodu olmadan birçok PHP komut vardır ama onlar ticari uygulamalardır. Örneğin, vBulletin ve / veya IP.Board forum uygulamaları.

Ben sadece bu adamlar kendi uygulamaları için kullanmak ne yaklaşım bilmek istiyorum ...

Ben de başka önerilere açığım.

Ben tek bir kişi ve bir şirket için çalışan değilim unutmayın. Benim ürün de çok özeldir, o kadar satmaz. Ben sadece siz Birine dava veya ticari bir lisans hazırlamak için ya bir hukuk uzmanına danışmanızı göze alamaz bilmek istiyorum. Ben sadece bir şekilde, gerçekten mümkün ise, benim basit ürünü korumak için basit bir yol arıyorum ...

10 Cevap

Rip olurdu insanlar hedef zaten müşterilerin ödeme değil iken şeyleri obfuscating sadece meşru, yasalara uyan müşterilere rahatsızlık olabilir. (Gizleme hakkında diğer düşünceler üzerinden düzenlenmiş)

Yazılım korumak için bir başka öneri: kodu sunan değerinin bir eksik parçası olan bir iş modeli oluşturmak. Örneğin, sitenizde yönetmek, ya da bir abonelik modeli üzerinde veya müşteri desteği ile ürünü lisans bazı verilere erişim ile birlikte ürün lisanslarını satmak.

Bir EULA Tasarımı yasal bir mesele değil, bir kodlama konudur. Eğer ürün ve kullandığınız web siteleri için bazı EULA metnini okuyarak başlayabilirsiniz. Sen bazı ilginç ayrıntıları bulabilirsiniz!

Bu kesinlikle kodlama değil beri özel bir lisans Oluşturma, son derece esnek ve StackOverflow amaçlanan kapsamı dışında muhtemelen bir konudur.

Akla gelen bir EULA bazı bölümleri:

  • Ürün hata var ya da hasara neden olan eğer sorumluluk sınırlandırılması.
  • Müşteri ne kadar, üzerinde kaç makineleri, yeniden dağıtım haklarına sahip olan veya olmayan, vb, kendi lisanslı yazılımı kullanabilirsiniz nasıl yazım
  • Onların sitesi denetim haklarını vermek, böylece lisanslarını zorlayabilir.
  • Onlar EULA ihlal ne mesela, olur bunlar yazılımı kullanmak için onların ayrıcalığı kaybetmek.

Eğer ticari bir EULA hazırlamak için bir hukuk uzmanına danışmalısınız.

Bu proje, bir avukat gider haklı olamaz edit:, bu kaynakları kontrol:

Eğer hedefleri dikkate almak gerekir:

Cevabınız evet ise 1) Are you trying to prevent people from reading/modifying your code?, bir şaşırtmaca / şifreleme aracı gerekir. Kullanmış olduğunuz Zend Guard iyi bir başarı ile.

2) Are you trying to prevent unauthorized redistribution of your code?? A EULA / tescilli lisans size bunu önlemek için yasal güç verecektir, ama aslında o durmayacak. Bir anahtar / aktivasyon düzeni aktif kullanımını izlemek için izin verir, ama aynı zamanda kodu şifrelemek sürece kaldırılabilir. Zend Guard da belirli bir müşteri makineye belli bir script kilitlemek ve / veya yapmak istediğiniz buysa kodunun süresi sınırlı sürümlerini oluşturmak için yeteneklere sahiptir.

Ben Powered ve benzeri aşina değilim, ama onlar doğru olanı yapmak için kullanıcıları şifrelemek / karartmak veya güven gerekir ediyorum ya. İkinci durumda onlar tarafından istenmeyen davranışları yasaklayan bir EULA ve EULA ihlallerini yedeklemek için hukuk sistemine sahip koruma var.

Eğer / yazılımı korumak için yasal işlem mümkün hazırlıklı değiliz ve allak bullak / şifrelemek istemiyorsanız, seçenekler hiç de gerekirse yasal bir seçenek var konum böylece) bir EULA ile onu bırakın vardır ve en iyi için umut, veya b) bir açık kaynak lisansı daha uygun olması ve sadece yeniden dağıtımına izin olabilir olup olmadığını düşünün.

Bir php derleyici kullanabilirsiniz:

Roadsend

phc

Ben biraz zaman VBulletin kaynak koduna bakmadım, ama 2003 civarında bunu yapmak için kullanılan yol kodunun içinde kendi sunucusuna arama embed oldu. IIRC, bu gerçekten uzun bir kod satırı (uzun gibi 200-300 + karakter) oldu ve birkaç dize concatenations ve bu tür üzerinde yukarı kırıldı.

Eğer korsan ise "kötü" bir şey yaptım - forum hala 100% çalıştı. Ama sunucusunun IP diğer bilgileri ile birlikte kaydedilir ve bunlar yasal işlem araştırmak ve almak için bu kullanıldı.

Sizin lisans numarası bu çağrısına gömülü, bu yüzden kolayca belirli bir lisanslı kopyasını çalıştıran kaç IP'leri / web siteleri izlemek olabilir.

Onlar proprietary license altında kendi yazılım dağıtmak. Yasa onların haklarını koruyan ve gerçek bir zorluk bunu yaparken olsa, kaynağını dağıtarak müşterilerine engeller.

Eğer iyi farkında olabilir Ama, yazılım ürünlerinin telif hakkı ihlali (korsan) bir pretty common phenomenon olduğunu.

Kendinizi ana bir "bulut uygulaması" yaratmak değil ve onlar Web üzerinden erişmek, o zaman (VMWare, Parallels, Sun, etc) bir sanal sunucu kullanarak sanal bir cihaz oluşturma içine bakmak ve bir "lite yükleyebilir Bu Linux'un "versiyonu. Sanal ortamda da PHP kodu koymak ve kendi sunucusu üzerinde sanal makine yükleyin. Köküne yüklenmesini engellemek için bir yol oluşturmak için emin olun. Tabii ki, bu fiziksel olarak müşteriye kendinizi ziyaret içerecektir.

Bence, ancak php kodu programı bağımsız model için yazılmış ise sadece durumda ... iyi çözümleri Phalanger gibi bir kap (. NET) olarak php sarabilirdiniz c). herkes program windows kullanıcıları için tasarlanmıştır özellikle sisteme sıkıca bağlanan biliyor gibi. Sadece NET / VB / C # veya ne olursa olsun. NET prog.lang.family setleri bilmek gibi pencereler programlama dilinde kendi koruma algoritması yapabilirsiniz.

Gerçekten diğer sizin php-uygulamaları korumak için tek yol, kaynak kodunu paylaşmak değil etmektir. Eğer online bir yere kod veya kod erişimi daha bazı orta, diğer insanlar tarafından size müşteri göndermek sonrası ise.

Eğer kod her kopya için eşsiz bir filigran ekleyebilirsiniz. Eğer geri ateşten müşteriye kaçakları takip edebilirsiniz. (Kodu zaten sizin kontrolünüz dışında olduğundan Ama bu, size yardımcı olacak?)

Gördüğüm çoğu kod lisans ve belki bir garanti ile geliyor. Senaryoyu değiştirmek için değil insanlara söylüyorum yazısının üstünde bir çizgi, belki enought edilecektir. Öz; Ben olmayan açık kaynak kodu bulmak, benim projelerde kullanmak olmaz. Belki biraz dupe değilim, ama ben PPL benim yok-ÖSS kodu kullanmak için değil bekliyoruz!

Bizim SD PHP Obfuscator bakın. PHP dosyaların büyük sistemlerini Kolları. PHP sunucu üzerinde hiçbir çalışma zamanı gereksinimleri. Hiçbir ekstra çalışma zamanı havai.

Yani bakayım, bazı yasak meyve bir ağaç var Adem ve Havva'yı göstermek istiyorum, adn 'yeme onları engellemek için bir yol gibi d ...

Nasıl yanan bir kılıç ile bir melek sahip hakkında?

  1. Naif ses, ve ben aslında uygulama ne bilmiyorum, ama ne includes geniş kullanımı ile ilgili olabilir?

  2. For the legitimate user, is all the software that should be visible or only parts of it? Because you could obfuscate and give a copy of source code to legitimate

  3. Sen Phalanger gibi bir kap (. NET) olarak php sarabilirdiniz

  4. Belki de müşterilerin kullandığı gibi web üzerinden kodu serbestçe görünür, yani dış hırsızlığı ile ilgili. Bu onların kodda bir seri ile okunaklı müşterilerine kayıt, 50 $ bir yıl için, ucuz bir web sitesi barındırma değerinde yatırım ve uygulama düzenli olarak web sitesine bilgi gönderme olabilir. Kod aşıldığını zaman en azından, algılamak istiyorum. Size müşteri temas ve seri numarasını değiştirmek için yeterli zamanı vererek, n ​​gün sonra kendini imha ile itebilir. Bu, tüm kod) karartılmış tek (dahil olabilir