PHP Kaynak Şifreleme - Etkinlik ve Dezavantajları

6 Cevap php

Ben hosting şirketi XYZ hosting ediyorum bazı PHP kaynak kodu var. Herkes (sysadmin veya sysadmin kesmek korsan) tarafından izlendi olmaktan kaynağını korumak için Zend Guard veya ioncube gibi bir PHP şifreleme yazılımı kullanıyorum.

  • Sert / Ne kadar kolay kaynağını şifresini çözmek için (sistem yöneticisinin kesmek sysadmin veya hacker gibi) sisteme tam erişimi vardır biri için? Ben nasıl şifreleme yazılımı iş bilmiyorum, ama onlar sunucu üzerinde kalmak zorunda ve bu nedenle bir sysadmin veya bir hacker için erişilebilir olacak bazı tuşunu kullanmak varsayarak yaşıyorum. Eğer nasıl hakkında teknik bilgili iseniz, cevap bir açıklama sunmak için tereddüt etmeyin.

  • Böyle bir kaynak şifreleme kullanımı siteyi yavaşlatmak mu? Herkes ilk elden deneyime sahip ya da ilk elden deneyime sahip birinden bilir ;)

Ben bu teknik açıdan ilgileniyorum, nasıl etkin bir şifreleme olduğunu .. ve onları kullanılan veya bunları kullanarak kabul olanlardan dezavantajları,

Teşekkürler (tüm yararlı cevaplar / yorumlar kadar oylanır)

Edit: cevaplar şimdiye kadar ben şifreleme etkinliğini anlamak için çalışıyorum .. anlamaya çalışıyorum ne göz ardı edilecek gibi görünüyor. Gerçekten, yukarıda sadece bir örnek oldu kötü adamlar, korunma ihtiyacı herhangi bir kod yok, bu yüzden tavsiyem açık kaynak gibi ya da bir avukat tutmak gerçekten noktasını alır herkes .. A + benim teknik merak adresi yok

6 Cevap

Encryption (or encoder) schemes try to hide your code as an encrypted file. Obviously, the code has to be decrypted at execution time, which adds useless overhead. Some of these also insist that the host system install special routines, which the hosters intensely dislike, because they don't want to set up special configurations just for you. But the bad part is that they contain the seeds of their own undoing: to run on the target host, they must contain the decryption software. So if you use one, you deliver the very decryptor necessary to get at your code. Its only a matter of locating it; once found, your code is completely decryptable and exposed. These simply aren't safe.

Obfuscation şemaları tanıtıcıların adlarını karıştırmak, yorum ve biçimlendirmeyi kaldırmak. Ama karartılmış kod hiçbir yük ve hiçbir özel çalışma zamanı desteği ile, tam orijinal gibi çalışır. Obfuscators genel anlayış programlarında doğasında zorluk bağlıdır. Programlar onlar iyi isimleri iyi seçilmiş, tasarlanmış, ve kod iyi yorumlar vardır zaman anlamak için yeterli zordur. Hepimiz programları iyi tasarlanmış umuyoruz, ancak isimler kötü ve yorumlar gitti iseniz, onlar anlamak oldukça zor. Diğer insanların kodu ile kendi deneyimini incelemek.

İnsanlar diyecekler "ama herkes karartılmış kodu incelemek ve bunu anlayabilir". Eğer küçük bir uygulama varsa doğrudur. Uygulama herhangi bir ölçek (kod sayfaları onlarca) varsa tüm değişken adları şifreli zaman ne yaptığını anlamak son derece zordur. Büyük kodunuzu, daha kandırma onu korumayı olduğunu.

Eğer bir PHP obfuscator ne örneklerini görmek istiyorsanız, bizim Thicket PHP Obfuscator bkz.

Zend Guard ne IonCube Ne kodunuzu korumak için, bu matematiksel anlamda var, şifreleme kullanır. Yaptıklarını, zaten diğer cevaplar tarif gizleme dışında kodlayan edilir.

Bu normalde PHP yorumlayıcısı tarafından otomatik komut erişilen her zaman yapılır bir süreçtir - PHP komut dosyası bytekod biçime derlenmiş, o zaman idam ediyor. Zend Guard ve ioncube gibi Hangi kodlayıcı aslında o zamanlar bitti, ve sonra sadece "derlenmiş" baytkod sunucusuna yüklenen / hazır olduğunu sadece eşdeğer bir süreç yoktur.

Bu aslında bir kez yazdı çok aynı kodu yeniden tamamen imkansız olduğu anlamına gelir. Imkansız değil, ve bu da şaşırtmaca için ne gider, ters-mühendislik ne yaptığını anlamaya derlenmiş veya karıştırılmış kodu.

Özetlemek gerekirse, ben bu ürünlerin korunması çok iyi olduğunu söyleyebilirim sizin code - senin logic korumak için karşı çıktı.

Neden tam kaynak kodunu şifrelemek gerekiyor? Eğer potansiyel korsanlara karşı güvenli görevlisi olarak bu spor eğer ben onlar gerçekten kaynak kodu şifresini istiyorsa, bunu yapacağını söylüyorlar, o zaman lütfen inan. Bu ioncube, kontrol ettim son kez ile mümkündür.

Bildiğim kadarıyla performans etkileri olarak, ben Zend nedeniyle herhangi bir ekstra dosyaları gerektirmeden değil ioncube daha biraz biraz daha hızlı olduğuna inanıyorum. Daha önce dediğim gibi, herhangi bir şey için şifreleme güvenmeyin.

Infaz edilebilir Eğer decompiled olabilir. Haklar erişim için yasal ekibi sopa, açık kaynak kodlu, iyisi :) şifrelemenin değil proje: P

DÜZENLEME: 'Şifreleme' da yürütme kez ağır ekler!

Eğer hosting şirketi karşı yapabileceğimiz tek şey, iyi bir lisans ve avukat sahip olmaktır

Bildiğim kadarıyla, PHP encoder aslında size PHP kodu kodlamak yok. Onlar sadece kodu ne, değişken adlarını değiştirmek ve herkes dışarı bulmak için çok zor becames, böylece gereksiz çöp kod ekleyebilirsiniz. Sorun herhangi bir şifreyi (sabit kodlanmış admin şifrenizi veya veritabanı bağlantısı veri olabilir) gizlemek olamaz olmasıdır.

Onlar kod güvenli olmasını sağlamak kalmamak, onlar sadece çok zor herkes bunu anlamak için yapmak.