"Kaynağı Görüntüle" devre dışı bırakmak veya şifrelemek için nasıl

9 Cevap php

Benim kod güvenli olabilir ki benim site için "Kaynağı Görüntüle" devre dışı bırakmak veya şifrelemek için herhangi bir yolu var mı?

9 Cevap

Fero,

Sorunuz çok mantıklı değil. "Kaynağı Görüntüle" gösteren HTML kullanıcı (ve tarayıcı) artık içeriğini okumak mümkün olmayacaktır, o şifrelemek kaynak durumunda.

Eğer PHP kaynağını korumak istiyorsanız, o Zend Guard gibi araçları vardır. Bu kaynak kodu şifrelemek ve zor tersine mühendislik yapmak istiyorum.

Eğer JavaScript korumak istiyorsanız, örneğin, YUI Compressor, onu küçültmek olabilir. Bu kullanıcı gibi, tarayıcı bir şekilde okunabilmesi için edebilmek gerekiyor, beri kodunuzu kullanmasını engellemez, ama en azından görev daha zor olur.

Eğer kullanıcı gizliliği konusunda daha endişeli iseniz, SSL emin hassas bilgiler tel üzerinde zaman şifreli olduğundan emin olmak için kullanmalısınız.

Son olarak, bir sayfanın içeriğini şifrelemek ve şifresini çözmek için JavaScript kullanmak teknik olarak mümkündür, ama bu JavaScript dayanır bu yana, deneyimli bir kullanıcı bir kaç dakika içinde bu yenilgi olabilir. Ayrıca tüm bu sorunlar görünür:

  • Arama motorları indeksi sayfalarına mümkün olmayacaktır ...
  • Devre dışı JavaScript ile kullanıcılar, şifreli sayfa görürdünüz
  • Eğer sahip içerik miktarına bağlı olarak gerçekten kötü performans olabilir

Bu yüzden bu çözümü kullanmak için tavsiye yok.

Sonunda tarayıcı hala çıkış için kaynak okumak ve ayrıştırmak gerekir çünkü gerçekten devre dışı olamaz.

Kaynak kodu SO önemli bir şey varsa, ben sunucu tarafında gizlemek öneririz.

Şifrelemek veya HTML kaynak karartmak bile, sonunda biz yine eval ve görüntüleyebilirsiniz. Örneğin Firebug kullanarak, biz ne olursa olsun kaynak kodunu görebilirsiniz.

PHP yazılım satış yapıyorsanız, Software as a Service (SaaS) düşünebilirsiniz.

Bunu yapmak için bir yolu var olduğunu sanmıyorum. Çünkü tarayıcı HTML anlayacaksınız nasıl şifrelemek olur?

Yani HTML kaynak şifrelemek istiyorum. Bazı javascript aracını kullanarak şifrelemek, ancak kullanıcı yeterince akıllı ise, o her zaman tarayıcı yapmak gerektiğini aynı şeyi yapıyor şifresini mümkün olacağını dikkat edebilirsiniz: javascript çalıştırın ve oluşturulan HTML bakın.

EDIT: See this HTML scrambler as an example on how to encrypt it: http://www.voormedia.com/en/tools/html-obfuscate-scrambler.php

EDIT2: Ve .. şifresini nasıl bu bir bakın :)

http://www.gooby.ca/decrypt/

Kısa cevap html sayfa insanların kaynak kodunu görmek mümkün olacak işler eğer her ne yapalım bir açık metin biçimi değildir. Bazı tarayıcılarda çalışır ancak kodu kullanmak isteyen herhangi biri bu önlemek için nasıl bilecek sağ tıklayıp devre dışı bırakmak için javascript kullanabilirsiniz. Ayrıca JavaScrpit bu kodlanmış sakladıktan sonra html yayarlar olabilir, bu gelişme, erişilebilirlik ve yük hızına kötü etkileri olacaktır. Sonuçta yüklü kundakçı ile herhangi bir hala html kodunu görmek mümkün olacak.

Senin html değerin çok çok gerçekten de var, gerçek ip sunucu üzerinde sapasağlam sunucu kodu olduğunu.

Cant. Tarayıcı sayfayı oluşturmak için kaynak ihtiyacı var. Kullanıcı kullanıcı isterse kullanıcı tarayıcı kaynağı göstermek olabilir. Firefox da size sayfanın DOM gösterebilir. Sen kaynak karartan ama şifrelemek veya dışarı kullanıcıyı kilitlemek olamaz.

P: Ayrıca neden bu isteyeyim, bunu yapmak için bir topal eşek şey gibi görünüyor

No tarayıcılar (neyse ki) bu özelliği devre dışı bırakmak için HTML / javascript hiçbir becerisi sunar. Eğer HTML hala hazır düz metin olarak iletilir olabilir bile artı bir HTTP sniffer okumak için.

Yapabileceğin en iyi şekilde bu zor okunur hale getirmek için HTML / javascript belirsiz olacaktır. Ama sonra, Firebug ve IE 8's debugger okunması kolay hale DOM onu yeniden edecek gibi hata ayıklayıcıları

Bu temelde imkansızdır. (Neredeyse) herkesin dediği gibi, kullanıcının web tarayıcısı Html ve Javascript okumak mümkün olması gerekir, ve tarayıcılar kullanıcılarına hizmet için var - sen değil.

Bu demektir no matter what you do sonunda gibi görünen bir kullanıcının makinesinde şey orada olacak olmasıdır:

<html> 
  <body> 
    <div id="my secret page layout trick"> ... 
    </div>
  </body>
</html>

çünkü otherwise there is nothing to show the user. Bu istemci tarafında varsa, o zaman kontrolünü kaybetti. , Bilirsiniz, pek mümkün değildir - - bir "kaynağı göster" seçeneği ile kullanıma hazır hale değil gezegendeki her tarayıcı yapımcısı ikna etmeyi başardı bile metin yine o kullanıcının bilgisayarında var olacaktır, ve {[( 1)]} bunu almak için nasıl anlamaya olacaktır. Ve bu never olur, tarayıcıları her zaman herkesten önce kendi kullanıcılarına hizmet için var olacaktır. (Umarım)

Aynı şey Javascript tümü için geçerlidir. Tekrar söyleyeyim: nothing that you send to a user is secure or secret from that user. Javascript hack yoluyla şifreleme aptal ve anlamlı bir anlamda çalışamaz.

(Aslında, Flash ve Silverlight gemi ikili, ama onlar şifreli olduğunuzu sanmıyorum. Yüzden irritating dışarı veri almak için en az vardır.)

Lütfen sunucu mantığı koymak ve gönderilen asla emin olun: Diğerleri söylediler gibi, kullanıcılardan gizli bir şey tutmak için tek yolu onlara vermek değil. Örneğin, PHP (veya Python / Ruby / Perl / Java / C ...) yazmak kod tüm kullanıcılar tarafından görülebilir asla. Bu, örneğin bir neden Google hala bir iş vardır. Ne onlar size onlar size göndermek asla ne göre temelde ilginç. Bunun farkına çünkü, onlar size mümkün olduğunca yararlı olduğunca açık göndermek çoğu şeyler yapmayı deneyin. TerraByte-büyük haritalar veri tabanı ve pathfinding yazılım, tıklayın ve sürükleyin olabilir şık haritaya karşı - - Sizin için gizlilik ticaret o altyapı Çünkü.

Başka bir örnek: Eğer denemek ve diskine görüntüleri kaydetme insanları tutmak için web ilk günlerinde istihdam kaç hileler insanları hatırlamak bile emin değilim. Ne zaman onlardan biri koştu son ne zaman oldu? Neden biliyor musun? Veriler, kullanıcının bilgisayarında bir kez, she bunu denetler, çünkü. Sen değil.

Yani, kısacası: Eğer kullanıcı gizli bir şey tutmak istiyorsanız, ona vermeyin.

Yes, sizin tüm web yarın yoktur gibi paketlenmiş / karartılmış / şifreli olacağını javascript ile dinamik olarak işlenmiş olabilir.