如何从我的网站禁用(查看源代码)和(Ctrl + C)

有没有机会从我的网站禁用这两件事情? (查看源文件)和(Ctrl + C)

这是不可能的。 你可以尝试以某种方式混淆代码,但是你需要发送一些东西给客户端,不是吗? 你可以使用AJAX调用来加载你的HTML。 这样,浏览器将显示的来源可能几乎是空的。 但是,您无法阻止有经验的用户查看您发送给客户端的所有内容。 事实上,他/她可以使用许多工具来重新构build页面,任何你难以申请的技术只会使他/她拖延几分钟。

关于Ctrl-C,你可以添加JavaScript来阻止它,但它是无用的,因为用户可以随时禁用JavaScript。 其实很多用户会发现拦截右键非常烦人。

如果您正在构buildIntranet应用程序,或者您可以发布集成的浏览器以供用户查看应用程序,所有这些都可能有意义。 用公共的html,我相信它甚至不值得尝试。 一种解决scheme是使用闪存或其他插件构build应用程序。 这样你可以encryption你发送给客户端的所有东西。

尝试禁用“查看源代码”和“ctrl-c”function是毫无意义的,因为您尝试的任何内容都很容易规避。 您可以使用一些JavaScript来停止显示上下文菜单的右键button,但用户很容易禁用。

如果是JavaScript,则可以使用JavaScript混淆程序或压缩器来帮助隐藏您的代码。

这里有一对夫妇让你开始。

http://www.javascriptobfuscator.com/

javascriptcompressor.com

无法阻止某人阅读您发送给浏览器的代码。 即使您添加浏览器技巧,他们也可以使用模仿浏览器的应用程序。 最好的办法是将重要的代码移动到服务器,在那里他们不能得到它。

相反,在其他方面竞争 – 可用性,服务,先发优势等,而不是试图阻止某人窃取您的代码。

更新:你可以做的一件事就是使用Google Web Toolkit,因为那样你将会用Java来工作,而你的竞争者/复制者会花时间去解构你的Javascript。

你想保护什么? HTML / Javascript /图像/服务器位置?

正如其他人所说,这样做是没有意义的,也是不可能的。

这就像一张报纸报纸,但不让人们剪报。 如果他们必须阅读它才能知道它是什么,那么可以复制它。

用钢铁制作报纸,他们只会用激光来剪出来,或者拍一张照片。

使文字不可见,没有人可以阅读。

可以禁用CTRL + U和CTRL + C。 这可能工作:

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 }), 

对于演示,你可以访问我的小提琴: http : //jsfiddle.net/dVSRM/

所以结论是可以禁用CTRL + U和CTRL + C。 但是高级抄袭可以知道这一点,从不使用查看源代码的捷径。 如果有人提出关于禁用视图源快捷方式的问题,这个提示可以供您参考。 但是在这个脚本中包含CTRL + C。

这是我的脚本。 谢谢。 回头见!

如果您不希望用户查看您的网页代码,那么您应该编写自己的网页浏览器并定义您自己的HTML协议。

但是,当您创build客户端应用程序并使用SOAP / Web服务向这些客户端发送数据时,您将能够将代码隐藏在客户端看到的任何内容上。 (他们需要一个debugging器来“破解”你的应用程序。)

当然,分发这种应用程序的一种方法是使用Silverlight或Flash。 它仍然会显示在启用了Flash或Silverlight的浏览器中,但是它们将无法看到应用程序内的任何代码。

用区域链接发送页面作为光栅图像(JPG,PNG等),而不是文本xD

是不可能的。 但是如果你真的想避免复制信息,你可以生成带有文本的图像。 当然,谷歌和其他search引擎不会索引您的网站信息。 但有时候这是目标:-)

你可以做的最好的是混淆你的JavaScript。 任何encryption都必须让浏览器解密。 第二十二条军规。

如果你真的不想把代码给你,你可以做的事情不多。

使用Flash或Java小应用程序将使它更难一点,但即使这可以反编译。