有沒有機會從我的網站禁用這兩件事? (查看源代碼)和(Ctrl + C)如何從我的網站禁用(查看源代碼)和(Ctrl + C)
回答
這是不可能的。你可以嘗試以某種方式混淆代碼,但你需要發送一些東西給客戶端,不是嗎?你可以使用AJAX調用來加載你的html。通過這種方式,瀏覽器將顯示的來源可能幾乎爲空。但是,您無法阻止有經驗的用戶查看您發送給客戶端的所有內容。實際上,他/她可以使用許多工具來重建頁面,以至於任何技術難以應用,只會使他/她延遲幾分鐘。
關於Ctrl-C,你可以添加JavaScript來阻止它,但它是無用的,因爲用戶可以隨時禁用JavaScript。實際上很多用戶會發現攔截右鍵非常煩人。
如果您正在構建Intranet應用程序,或者您可以發佈集成瀏覽器以供用戶查看應用程序,所有這些都可能有意義。使用公共html,我相信它甚至不值得嘗試。一種解決方案是使用閃存或其他插件構建應用程序。通過這種方式,您可以加密您發送給客戶端的所有內容。
意思是加密 – Bhavi 2009-06-24 10:43:52
那麼怎麼辦,請建議一些東西 – Bhavi 2009-06-24 10:45:43
不,我的意思是使代碼難以閱讀。對於JavaScript代碼尤其如此。對於html,你可以嘗試加載AJAX調用。這將會使重建頁面變得更加困難,但並非不可能。 – kgiannakakis 2009-06-24 10:46:09
這是不可能的。但如果你真的想避免複製信息,你可以生成帶有文字的圖像。當然,谷歌和其他搜索引擎將不會索引您的網站信息。但有時它是目標:-)
如果你真的不想讓你的代碼離開你沒有什麼可以做的。
使用flash或java小應用程序會使它更難一點,但即使這樣也可以反編譯。
你能做的最好的事情就是混淆你的javascript。任何加密都必須讓瀏覽器解密它。第二十二條軍規。
試圖禁用'查看源代碼'和'ctrl-c'功能是非常沒有意義的,因爲任何嘗試都會很容易規避。您可以使用一些JavaScript來停止右鍵顯示上下文菜單,但這對用戶來說很容易禁用。
如果是JavaScript,您可以使用JavaScript混淆程序或壓縮器來幫助隱藏您的代碼。
這裏有一對夫婦讓你開始。
http://www.javascriptobfuscator.com/
javascriptcompressor.com
有沒有辦法從讀你發送到瀏覽器的代碼阻止別人。即使您添加瀏覽器技巧,他們也可以使用模仿瀏覽器的應用程序。最好的辦法是將重要的代碼移到服務器上,在那裏他們無法得到它。
與其他軸相比競爭 - 可用性,服務,先發優勢等,而不是試圖阻止某人竊取您的代碼。
更新:你可以做的一件事就是使用Google Web Toolkit,因爲那時你將在Java中工作,而你的競爭對手/複製者會花時間解構你的Javascript。
你想保護什麼? HTML/Javascript /圖像/服務器位置?
如果您不希望用戶查看您的網頁代碼,那麼您應該編寫自己的網絡瀏覽器並定義自己的HTML協議。
但是,當您創建客戶端應用程序並使用SOAP/Web服務向這些客戶端發送數據時,您將能夠將代碼隱藏在客戶端看到的任何內容上。 (他們需要一個調試器來「破解」你的應用程序。)
當然,分發這種應用程序的一種方法是使用Silverlight或Flash。它仍然會顯示在啓用了Flash或Silverlight的瀏覽器中,但他們將無法看到應用程序內的任何代碼。
發送頁面光柵圖像(JPG,PNG等),區域鏈接,而不是文本的xD
正如其他人所說,有沒有一點這樣做,還有一個事實,即它是不可能。
這就像報紙發出報紙,但不讓人們剪報。如果他們必須閱讀它才能知道它是什麼,那麼可以複製它。
用鋼製成報紙,他們只會用激光去掉位,或拍照。
使文字不可見,沒有人可以閱讀它。
可以禁用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包含在這個腳本中。
這是我的腳本。謝謝。回頭見!
- 1. 可查看源代碼是否被網站禁用?
- 2. 查看網站的實際源代碼
- 3. 如何查看網站源代碼的網址?
- 4. 我如何能夠看到本網站www.samy.pl的源代碼?
- 5. 如何禁用查看源代碼並檢查元素
- 6. 如何在網站中隱藏「查看源代碼」選項
- 7. 查看使用React構建的網站的源代碼
- 8. 如何禁用我的網站在移動設備上查看?
- 9. 如何查看用C/C++編寫的函數的源代碼?
- 10. 如何找出網站正在使用的Silverstripe版本,查看源代碼?
- 11. 如何隱藏CTRL + U查看源代碼並禁用右鍵單擊和文本複製?
- 12. 如何查看totalview中的源代碼?
- 13. c#網站 - 分析代碼和查詢
- 14. 如何查看使用R的網頁源代碼?
- 15. 如何禁用瀏覽器從客戶端用戶端查看ASP源代碼?
- 16. 如何下載網站的源代碼
- 17. 如何從代碼文檔中隱藏查看源代碼?
- 18. 如何查看R的源代碼
- 19. 如何查看Python的__builtins__源代碼?
- 20. 如何查看RouteValueDictionary類的源代碼
- 21. 如何查看Silverlight dll的源代碼
- 22. 在網站上查看PHP代碼?
- 23. 如何禁用從我的網站記住密碼?
- 24. 如何使用代理網站在C#中查看一些其他網站?
- 25. 我不能看到整個html源代碼按ctrl + U
- 26. 如何從網站中提取源代碼,因爲我們在檢查元素中看到的內容
- 27. 如何從網絡服務器查看我的播放網站?
- 28. 如何在Visual Studio中查看SharePoint網站的代碼?
- 29. 如何自動查看網頁源代碼
- 30. 無法在銀行賬戶網站上查看源代碼 - 如何複製?
請不要只因爲你認爲這些東西不值得去做而降低這個問題的投票率。 也許海報意識到確定的用戶不會被阻止訪問他的網站的內容;也許他只是想讓普通用戶難以做到這一點,無論出於何種原因。 – Avi 2009-06-24 11:05:05
它在orkut中完成 – rahul 2009-06-24 11:33:12
Thankx Avi它如何在orkut中完成。我們都知道,它在orkut完成,但問題是如何 – Bhavi 2009-06-24 12:44:15