2009-06-24 2 views
4

Y at-il une chance de désactiver ces deux choses depuis mon site? (Voir Source) et (Ctrl + C)Comment désactiver (Afficher la source) et (Ctrl + C) de mon site

+5

Veuillez ne pas voter cette question simplement parce que vous croyez que ces choses ne valent pas la peine d'être faites. Peut-être que l'affiche se rend compte qu'un utilisateur déterminé ne sera pas empêché d'accéder au contenu de son site; peut-être est-il simplement intéressé à rendre un peu plus difficile pour l'utilisateur moyen de le faire, pour une raison quelconque. – Avi

+0

Il est fait dans orkut – rahul

+0

Thankx Avi Comment c'est fait dans Orkut. Nous savons tous que c'est fait dans Orkut mais Question est comment – Bhavi

Répondre

17

Ceci n'est pas possible. Vous pourriez essayer d'obscurcir le code, mais vous devez envoyer quelque chose au client, n'est-ce pas? Vous pouvez utiliser les appels AJAX pour charger votre code HTML. De cette façon, la source affichée par le navigateur pourrait être presque vide. Cependant, vous ne pouvez rien faire pour empêcher un utilisateur expérimenté de voir tout ce que vous envoyez au client. En fait, il y a tellement d'outils qu'il/elle peut utiliser pour reconstruire la page que toute technique que vous allez vous battre pour appliquer, ne fera que la retarder de quelques minutes. En ce qui concerne le Ctrl-C, vous pouvez ajouter javascript pour le bloquer, mais il est inutile, car l'utilisateur peut toujours désactiver javascript. En fait, de nombreux utilisateurs trouveront interception de clic droit très ennuyeux.

Tout cela peut avoir un sens si vous construisez une application intranet ou vous pouvez envoyer un navigateur intégré pour les utilisateurs pour afficher l'application. Avec le HTML public, je crois que cela ne vaut même pas la peine d'essayer. Une solution serait de construire votre application avec flash ou un autre plug-in. De cette façon, vous pouvez crypter tout ce que vous avez envoyé au client.

+0

U mean enryption – Bhavi

+0

Alors quoi faire s'il vous plaît suggérer quelque chose – Bhavi

+0

Non, je veux dire rendre le code difficile à lire. Ceci est particulièrement vrai pour le code javascript. Pour html vous pouvez essayer de le charger avec des appels AJAX. Cela rendra plus difficile, mais pas impossible, de reconstruire la page. – kgiannakakis

0

C'est impossible. Mais si vous voulez vraiment éviter de copier des informations, vous pouvez générer une image avec du texte dessus. Bien sûr, Google et les autres moteurs de recherche n'indexeront pas les informations de votre site. Mais parfois c'est le but :-)

+0

Attention. Cette approche est généralement incompatible avec la loi sur la discrimination (comme la DDA au Royaume-Uni). – Quentin

+0

Oui, je sais, mais différents pays ont des lois différentes. – Pawka

+0

Eh bien, nous sommes un site de commerce électronique et SEO est un must pour nous !!! – Bhavi

0

Si vous ne voulez vraiment pas donner votre code, il n'y a pas grand chose à faire. L'utilisation de flash ou d'une applet Java rendra le tout un peu plus difficile, mais même cela peut être décompilé.

0

Le mieux que vous puissiez faire est d'obscurcir votre javascript. Tout cryptage devra laisser le navigateur le décrypter. Catch-22.

4

Il est inutile d'essayer de désactiver les fonctionnalités 'view source' et 'ctrl-c', car tout ce que vous essayerez sera facile à contourner. Vous pouvez utiliser du code JavaScript pour empêcher le bouton droit de la souris d'afficher le menu contextuel, mais il est facile à désactiver pour l'utilisateur.

Si c'est JavaScript, vous pouvez utiliser un programme d'obscurcissement ou compacteur JavaScript qui vous aidera à cacher votre code.

Voici un couple pour vous aider à démarrer.

http://www.javascriptobfuscator.com/

javascriptcompressor.com

+0

Mais JS peut être facilement désactivé par le client sur sa machine – Bhavi

+0

C'est (en partie) ce que "facile à contourner" signifie dans ce contexte. – Quentin

+0

Je ne peux pas vous obtenir David – Bhavi

3

Il n'y a pas moyen d'arrêter quelqu'un de lire le code que vous envoyez au navigateur. Même si vous ajoutez des astuces de navigateur, ils pourraient utiliser une application qui imite un navigateur. La meilleure chose à faire est de déplacer le code important sur le serveur, où ils ne peuvent pas y accéder. Plutôt en compétition sur d'autres axes - facilité d'utilisation, service, avantage du premier moteur, etc. que d'essayer d'empêcher quelqu'un de voler votre code.

Mise à jour: une chose que vous pouvez faire est d'utiliser Google Web Toolkit, car alors vous travaillerez en Java et votre concurrent/copieur passera son temps à déconstruire votre Javascript.

Qu'essayez-vous de protéger? HTML/Javascript/images/emplacements de serveur?

1

Si vous ne souhaitez pas que les utilisateurs affichent le code de votre page Web, vous devez écrire votre propre navigateur Web et définir votre propre protocole HTML. Mais lorsque vous créez une application cliente et que vous utilisez des services SOAP/Web pour envoyer des données à ces clients, vous pouvez garder le code caché sur tout ce que le client voit. (Ils auraient besoin d'un débogueur pour "pirater" votre application.)

Bien sûr, une façon de distribuer une telle application serait d'utiliser Silverlight ou Flash. Il apparaîtrait toujours dans les navigateurs sur lesquels Flash ou Silverlight est activé, mais ils ne pourront pas voir le code de quoi que ce soit dans l'application.

+1

Vous n'avez même pas besoin d'un débogueur pour voir la source d'une page web chargée de services ajax ou web: dans Firefox, faites simplement CTRL + a sur la page web, faites un clic droit "Voir la sélection ", et voilà! –

+0

+1 pour l'originalité. Un peu de nitpicking: HTML n'est pas un protocole - Habituellement, le protocole de premier niveau pour le transfert de contenu Web est HTTP. – l0b0

+0

Fabien, mon client ne serait PAS un site web mais une application à part entière écrite en Delphi/WIN32 ou en .NET. La solution Flash/Silverlight serait quelque chose entre une telle application client et une page web. –

1

Envoyez les pages sous forme d'images raster (JPG, PNG, etc.) avec des liens de la région au lieu de texte xD

+0

Eh bien, cette approche peut ne pas être conviviale SEO – Bhavi

+0

Vous ne pouvez pas tout avoir :-p – fortran

2

Comme d'autres l'ont dit, il n'y a pas de point de le faire, ainsi que le fait qu'il est impossible. C'est comme un journal qui distribue des journaux, mais sans laisser les gens prendre des coupures. Si ils doivent le lire pour savoir ce que c'est, alors peut le copier.

Faites le journal en acier, ils utiliseront simplement le laser pour découper des morceaux ou prendre une photo.

Rendre le texte invisible, personne ne peut le lire.

2

Il est possible de désactiver CTRL + U et CTRL + C. Cela peut fonctionner:

shortcut = { 
all_shortcuts: {}, 
    add: function (e, t, n) { 
    var r = { 
     type: "keydown", 
     propagate: !1, 
     disable_in_input: !1, 
     target: document, 
     keycode: !1 
    }; 
    if (n) for (var i in r) "undefined" == typeof n[i] && (n[i] = r[i]); 
    else n = r; 
    r = n.target, "string" == typeof n.target && (r = document.getElementById(n.target)), e = e.toLowerCase(), i = function (r) { 
     r = r || window.event; 
     if (n.disable_in_input) { 
     var i; 
     r.target ? i = r.target : r.srcElement && (i = r.srcElement), 3 == i.nodeType && (i = i.parentNode); 
     if ("INPUT" == i.tagName || "TEXTAREA" == i.tagName) return 
     } 
     r.keyCode ? code = r.keyCode : r.which && (code = r.which), i = String.fromCharCode(code).toLowerCase(), 188 == code && (i = ","), 190 == code && (i = "."); 
     var s = e.split("+"), 
     o = 0, 
     u = { 
      "`": "~", 
      1: "!", 
      2: "@", 
      3: "#", 
      4: "$", 
      5: "%", 
      6: "^", 
      7: "&", 
      8: "*", 
      9: "(", 
      0: ")", 
      "-": "_", 
      "=": "+", 
      ";": ":", 
      "'": '"', 
      ",": "<", 
      ".": ">", 
      "/": "?", 
      "\\": "|" 
     }, f = { 
      esc: 27, 
      escape: 27, 
      tab: 9, 
      space: 32, 
      "return": 13, 
      enter: 13, 
      backspace: 8, 
      scrolllock: 145, 
      scroll_lock: 145, 
      scroll: 145, 
      capslock: 20, 
      caps_lock: 20, 
      caps: 20, 
      numlock: 144, 
      num_lock: 144, 
      num: 144, 
      pause: 19, 
      "break": 19, 
      insert: 45, 
      home: 36, 
      "delete": 46, 
      end: 35, 
      pageup: 33, 
      page_up: 33, 
      pu: 33, 
      pagedown: 34, 
      page_down: 34, 
      pd: 34, 
      left: 37, 
      up: 38, 
      right: 39, 
      down: 40, 
      f1: 112, 
      f2: 113, 
      f3: 114, 
      f4: 115, 
      f5: 116, 
      f6: 117, 
      f7: 118, 
      f8: 119, 
      f9: 120, 
      f10: 121, 
      f11: 122, 
      f12: 123 
     }, l = !1, 
     c = !1, 
     h = !1, 
     p = !1, 
     d = !1, 
     v = !1, 
     m = !1, 
     y = !1; 
     r.ctrlKey && (p = !0), r.shiftKey && (c = !0), r.altKey && (v = !0), r.metaKey && (y = !0); 
     for (var b = 0; k = s[b], b < s.length; b++) "ctrl" == k || "control" == k ? (o++, h = !0) : "shift" == k ? (o++, l = !0) : "alt" == k ? (o++, d = !0) : "meta" == k ? (o++, m = !0) : 1 < k.length ? f[k] == code && o++ : n.keycode ? n.keycode == code && o++ : i == k ? o++ : u[i] && r.shiftKey && (i = u[i], i == k && o++); 
     if (o == s.length && p == h && c == l && v == d && y == m && (t(r), !n.propagate)) return r.cancelBubble = !0, r.returnValue = !1, r.stopPropagation && (r.stopPropagation(), r.preventDefault()), !1 
    }, this.all_shortcuts[e] = { 
     callback: i, 
     target: r, 
     event: n.type 
    }, r.addEventListener ? r.addEventListener(n.type, i, !1) : r.attachEvent ? r.attachEvent("on" + n.type, i) : r["on" + n.type] = i 
    }, 
    remove: function (e) { 
    var e = e.toLowerCase(), 
     t = this.all_shortcuts[e]; 
    delete this.all_shortcuts[e]; 
    if (t) { 
     var e = t.event, 
     n = t.target, 
     t = t.callback; 
     n.detachEvent ? n.detachEvent("on" + e, t) : n.removeEventListener ? n.removeEventListener(e, t, !1) : n["on" + e] = !1 
    } 
    } 
}, 
    shortcut.add("Ctrl+U",function(){ 
// Script to be executed when user press CTRL+U;This also disable and cancel the CTRL+U method 
}), 
    shortcut.add("Ctrl+C",function(){ 
// Script to be executed when user press CTRL+C;This also disable and cancel the CTRL+C method 
}), 

Pour démonstration, vous pouvez visiter mon violon: http://jsfiddle.net/dVSRM/

La conclusion est qu'il est possible de désactiver les touches CTRL + U et CTRL + C. Mais le plagiat de haute qualité peut le savoir et n'utilise jamais le raccourci pour voir le code source. Ces conseils peuvent être pour votre référence si quelqu'un pose une question sur la désactivation du raccourci de la source d'affichage. Mais le CTRL + C est inclus dans ce script.

Ceci est mon script. Je vous remercie. À plus tard!

+0

Nice, bien que vous pouvez appuyer sur Crtl + U à la barre d'adresse. – joseantgv

Questions connexes