保護js代碼的幾種方法,js代碼保護方案

本文目錄一覽:

關於一段js代碼的幾個問題

據我了解,這段代碼應該是微軟專用的,可以在 IE 中設置默認主頁。也就是說,以上CSS 的 behavior 和 JavaScript 的 setHomePage() 是 IE 的私有語法,他們應該是在 IE5 中引入的,新版本的 IE 仍然支持,不過其他非 IE 內核瀏覽器是不支持的。

1. return(false) 是為了阻止瀏覽器的默認行為。比如說,a 的默認行為是產生超鏈接,單擊後影響瀏覽器的地址欄進行跳轉 ,還有 form 中的 button,默認行為是單擊後提交表單,那麼在 a 或 button 的 onclick 事件函數中 return(false) 就可以阻止這種行為,這樣就可以自定義某些功能了。

2. setHomePage(url) 是設置默認主頁的,url=你要設置的頁面地址。這是為 IE 專門設置的一個方法。

3.behavior 也是專用於 IE 的,就是藉助 CSS 樣式向 HTML 添加代碼,從而產生在 IE 中的某種瀏覽器效果,“#default#homepage”表示設置默認主頁效果。

4. 將 onclick 的代碼寫在函數中會好一些,比如說 onclick=“function(){ /*代碼放在函數裡面*/ }”,還有,setHomePage(url) 的 url 應當是整的網址,要有協議頭,如“http://”。

關於你說的 this.style.behavior 對 DOM 對象產生的影響問題,我來解釋一下:

1. this 指是的當前調用事件函數(如 onclick )的文檔對象,如 a onclick=”this.setHomePage(‘……’)” , this 就是對象 a 的引用(或者說就是這個 a);

2. 而 obj.style 是對文檔對象中 style 屬性的引用,比如上面的例子中,寫了 this.style.behavior=’url(#default#homepage}’,就相當於 a style=“behavior:url(#default#homepage)”。

如果你想詳細了解,可以看有關 HTML DOM 和 CSS in JavaScript 的資料。另外,IE 的專有語法可能與 Web 標準語法的實現機理不同,所以不用深究。

—————————————————————————————–

你要的那種“枚舉”功能,實際上就是用 for-in 循環實現的,比如說要查看 window 對象的屬性:

for(prop in window){

document.write(prop+”:”+window[prop]);

}

還有,之前已經說過,this.style 操作的是對象的樣式(或者說是 CSS),this.style.behavior 指向的就是 behavior 這個 CSS 屬性,這個屬性只有 IE 可以完全識別。而 setHomePage() 是微軟在 IE 實現的 DOM 中為對象額外定義的一個方法。這兩者沒有直接聯繫,也不存在“先有誰,後有誰”的問題,只是配合起來,可以在 IE 上實現添加默認主頁的對話框而已。

怎麼防止網站代碼被別人另存為?

1、禁示查看源代碼 從”查看”菜單下的”源文件”中同樣可以看到源代碼,下面我們就來解決這個問題: 其實這隻要使用一個含有frame/frame標記的網頁便可以達到目的。 frameset frame src=”你要保密的文件的URL” /frameset 這樣當有人使用”查看”下的”源文件”的時候,看到的將是上面的那段代碼,而你真正的文件又躲過一劫。 2、禁止右鍵 body oncontextmenu=”window.event.returnValue=false” onkeypress=”window.event.returnValue=false” onkeydown=”window.event.returnValue=false” onkeyup=”window.event.returnValue=false” ondragstart=”window.event.returnValue=false” onselectstart=”event.returnValue=false” /body 3、禁示另存為 通過上面的兩步好像你的源代碼已經安全了,但別忘了,別人還可以將你的頁面保存下來,再慢慢分析。不過別擔心,下面我們來解決這個問題。 在你要保密的網頁中加入以下代碼: noscript iframe src=”*.htm”/iframe /noscript 現在如果有人想保存你的網頁,等他保存到一部分的時候IE就會幫你告訴他,無法保存該WEB頁,並將己保存的那部分文件刪除。 noscriptiframe src=*/iframe/noscript 放在BODY/BODY之間 加了上面的代碼後,文件是不可以另存,但是改變存儲的屬性,比如改存文本格式頁面就可以另存了 [-關於保護-] 先通過代碼來禁止IE的一些操作 :禁止另存為 NOSCRIPTIFRAME SRC=*.html/IFRAME/NOSCRIPT :取消選取、防止複製 不準粘貼 防止複製 BODY bgColor=#ffffff leftMargin=0 topMargin=0 :禁止右鍵 SCRIPT language=JavaScript !– if (window.Event) document.captureEvents(Event.MOUSEUP); function nocontextmenu() { event.cancelBubble = true event.returnValue = false; return false; } function norightclick(e) { if (window.Event) { if (e.which == 2 || e.which == 3) return false; } else if (event.button == 2 || event.button == 3) { event.cancelBubble = true event.returnValue = false; return false; } } document.oncontextmenu = nocontextmenu; // for IE5+ document.onmousedown = norightclick; // for all others //– /SCRIPT :狀態欄固定 body bgcolor=”#fef4d9″ 後台/網站屬性/開啟新聞版權保護功能 :禁止緩存 在頁面中使用HTML標記,如下面: HEAD META http-equiv=Pragma content=no-cache META http-equiv=Cache-Control content=no-cache META http-equiv=Expires content=0 -利用上面的代碼可以禁止下面幾種手段- 1:右鍵 – 查看原文件 3:文件 – 另存為 4:IE緩存 -用代碼本身很難禁止下面的手段我門就迷惑的方法阻止調出原代碼- 2:查看 – 原文件 5:還可以通過代碼提取 URL欺騙(可以隱藏真實地址) 教程代碼: meta http-equiv=”refresh” content=”0;url=’ http://東邪.明天畢竟又是新的一天@ ’” 注意代碼中url=’ http://東邪.明天畢竟又是新的一天@ ’” @ 符號前面的[ http://東邪.明天畢竟又是新的一天]就是欺騙後在IE中出現的效果 也可以是 後面的不用說就是連接的真實地址 URL迷惑 meta http-equiv=”refresh” content=”0;url=’http://東邪.明天畢竟又是新的一天@.htm’” 注意這一段和上面的有什麼不同對就是.htm 那.htm是什麼呢呵呵其實就是真實地址 怎麼訪問呢 有.htm嗎?呵呵我門要做的就就做一個沒有名字的HTM 方法很簡單先創建個XXX.htm 上傳到 QQ網絡硬盤 雙激文件名將XXX刪除 怎麼樣.htm出來了吧,這樣就算得到原代碼很難看出真實地址. 列1:http://東邪.明天畢竟又是新的一天@.htm 列2: 呵呵很難看出真實地址是什麼吧 [JS禁止 用IE – 查看 – 原文件] 也是迷惑的方法 但是可以絕對禁止以上面的方式調用原文件 要用到JS 教程JS代碼 var oPopup = window.createPopup(); var popTop=50; function popmsg(msgstr) { var winstr=”table style=/”border: 1 solid #000000/” width=/”241/” height=/”172/” border=/”0/” cellpadding=/”0/” cellspacing=/”0/””; winstr+=”trtd height=/”150/”/tdtd align=/”center/”table width=/”90%/” height=/”110/” border=/”0/” cellpadding=/”0/” cellspacing=/”0/””; winstr+=”trtd valign=/”top/” style=/”font-size:12px; color: #F00000; face: Tahoma/””+msgstr+”/td/tr/table/td/tr/table”; oPopup.document.body.innerHTML = winstr; popshow(); } function popshow() { window.status=popTop; if(popTop1720){ clearTimeout(mytime); oPopup.hide(); return; } else if(popTop1520popTop1720) { oPopup.show(screen.width-250,screen.height,241,1720-popTop); } else if(popTop1500popTop1520) { oPopup.show(screen.width-250,screen.height+(popTop-1720),241,172); } else if(popTop180) { oPopup.show(screen.width-250,screen.height,241,popTop); } else if(popTop220) { oPopup.show(screen.width-250,screen.height-popTop,241,172); } popTop+=10000; var mytime=setTimeout(“popshow();”,1); } popmsg(” “); 另存為 17789897.js HTM調用JS代碼 SCRIPT language=javascript src=”17789897.js”/SCRIPT 呵呵有寫朋友可能熟悉但是我要告訴你他現在的作用是禁止同過 [IE – 查看 – 原文件] 區別在這段代碼 popTop+=10000; var mytime=setTimeout(“popshow();”,1); 看到了嗎?速度是10000 不用我說也知道是什麼意思了吧 把上面JS和HTM調用JS代碼 加到網頁里就可以禁止 [IE – 查看 – 原文件] 關於保護我知道的就這些. [-關於加密-] 我建議重要的代碼採用複合加密 方式基本上有以下幾種 JS編碼 escape加密 8進制轉義字符串 16進制轉義字符串 10進制HTML編碼如下 16進制HTML編碼如下 都可以用script !– document.write(unescape(“加密後的代碼”)); //– /script 由於他門的代碼很大還有JS文件我就不給了 大家可以去baidu.com搜索 [-關於破解-] 正所謂魔高一尺,道高一丈,再複雜的加密,在多的迷惑,還是要用IE來解碼 給大家個超級技巧 在地址欄或按Ctrl+O,輸入: javascript:s=document.documentElement.outerHTML;document.write(body/body’);document.body.innerText=s; 源代碼就出來了。不論加密如何複雜,最終都要還原成瀏覽器可以解析的html代碼,而documentElement.outerHTML正是最終的結果. 經常在網上逛的朋友,一定有看到漂亮的圖片就想保存;看到漂亮的頁面就忍不住要瞅瞅源代碼的情況,可惜有些網友用javascript小程序禁止了鼠標右鍵功能,使我們無法保存和查看。那麼,如何才能禁止鼠標右鍵功能,又如何解除呢? 給你的網頁添加禁止鼠標右鍵的功能 其實這只是利用JavaScript實現的一個很簡單的鎖住鼠標右鍵的功能,我們只需將下面一段程序,加到你的網頁上就可以了。其中的文字部分“對不起……”你可以隨意替換為你喜歡的文字,就可以了。 〈SCRIPT language=javascript〉function click(){if(event.button==2){alert('對不起,你的右鍵功能在這裡不能使用')}}document.onmousedown=click〈/SCRIPT〉 這樣就可以禁止右鍵功能了。當在你的網頁點擊右鍵時,會彈出一個含有確定按鈕的文字窗口。 如何破解禁止鼠標右鍵的功能 同樣也很簡單就能使禁止鼠標右鍵功能失效,具體做法有兩種: 一是首先在頁面目標上按下鼠標右鍵,彈出窗口,這時不要鬆開右鍵。接着將鼠標移到窗口的確定按鈕上,同時按下左鍵。好了,現在鬆開鼠標左鍵,這時窗口消失。最後,再將鼠標移到目標上鬆開鼠標右鍵。好了,你想要的功能全出來了。你就又可以拷貝,或者用新窗口打開聯接了。 二是對一點鼠標右鍵就出現添加到收藏夾窗口的網頁,用上述方法不能破解,因為你用鼠標左鍵點取消的同時就失去了右鍵的目標的交點,我們用另外一種方法制服它:首先還是在目標上點鼠標右鍵,出現添加到收藏夾的窗口,這時不要鬆開右鍵,也不要移動鼠標。接着使用鍵盤的Tab鍵,移動焦點到取消按鈕上。按下空格鍵,窗口消失。最後鬆開右鍵,好了,你要的功能全出來了。

js如何使用?

1,我們在使用JavaScript代碼有兩種寫法:一種是在HTML頁面中直接嵌入js代碼,另一種是通過鏈接外部的JavaScript文件。

2,在HTML頁面中直接嵌入js代碼

3,如果在HTML頁面中直接嵌入JavaScript代碼,我們需要使用 script 標籤,script 和 /script 會告訴 JavaScript 在何處開始和結束。

4,script

alert(“My First JavaScript”);

/script

5,在HTML頁面的任何位置(head部分 body部分 body的後面 較好)都可以插入script標籤。

6,第二種用法:通過鏈接外部的JavaScript文件。

7,首先我們建立一個JavaScript文件,擴展名是.js

然後將要編寫的js代碼寫到Js文件中,並保存文件。使用script標籤將JavaScript文件鏈接到HTML文件中

iOS代碼加密的幾種方式

對ios應用加固有兩種實現方式。

一種使用安全編譯器

基於LLVM編譯器中間層實現。基於 LLVM 的保護方案,在使用時需要更換已有的編譯環境,替換編譯器,調整編譯選項等,對開發環境造成了很多影響,易用性差。從保護效果上看,基於 LLVM 的保護方案,受限於編譯器框架,生成的代碼只能做邏輯上的混淆變換,仍然可以被反編譯,對控制流的混淆效果有限,且邊界清晰,更容易被分析。

反編譯效果

OLLVM 保護後反編譯效果:

一種使用VirboxProtector 虛擬化保護。

ARM 虛擬化是 Virbox Protector 針對 ARM 架構的指令推出的虛擬機保護方式,通過將原始的 ARM 指令進行翻譯,轉換為自定義的虛擬機指令,運行時在自定義虛擬機執行。Virbox Protector 實現了針對 ARM 指令的虛擬機保護工具,支持對armv7(包括 thumb, thumb2),及 armv8 以上指令集進行翻譯,安全強度高,適用於需要高安全性的代碼保護需求。通過虛擬化保護後的代碼無法被反編譯。

Virbox Protector 保護後反編譯效果:

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/235980.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 11:57
下一篇 2024-12-12 11:57

相關推薦

  • JS Proxy(array)用法介紹

    JS Proxy(array)可以說是ES6中非常重要的一個特性,它可以代理一個數組,監聽數據變化並進行攔截、處理。在實際開發中,使用Proxy(array)可以方便地實現數據的監…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python字符串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字符串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字符串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

    編程 2025-04-29
  • Python基礎代碼用法介紹

    本文將從多個方面對Python基礎代碼進行解析和詳細闡述,力求讓讀者深刻理解Python基礎代碼。通過本文的學習,相信大家對Python的學習和應用會更加輕鬆和高效。 一、變量和數…

    編程 2025-04-29
  • KeyDB Java:完美的分布式高速緩存方案

    本文將從以下幾個方面對KeyDB Java進行詳細闡述:KeyDB Java的特點、安裝和配置、使用示例、性能測試。 一、KeyDB Java的特點 KeyDB Java是KeyD…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • 倉庫管理系統代碼設計Python

    這篇文章將詳細探討如何設計一個基於Python的倉庫管理系統。 一、基本需求 在着手設計之前,我們首先需要確定倉庫管理系統的基本需求。 我們可以將需求分為以下幾個方面: 1、庫存管…

    編程 2025-04-29
  • openeuler安裝數據庫方案

    本文將介紹在openeuler操作系統中安裝數據庫的方案,並提供代碼示例。 一、安裝MariaDB 下面介紹如何在openeuler中安裝MariaDB。 1、更新軟件源 sudo…

    編程 2025-04-29
  • 寫代碼新手教程

    本文將從語言選擇、學習方法、編碼規範以及常見問題解答等多個方面,為編程新手提供實用、簡明的教程。 一、語言選擇 作為編程新手,選擇一門編程語言是很關鍵的一步。以下是幾個有代表性的編…

    編程 2025-04-29
  • Python實現簡易心形代碼

    在這個文章中,我們將會介紹如何用Python語言編寫一個非常簡單的代碼來生成一個心形圖案。我們將會從安裝Python開始介紹,逐步深入了解如何實現這一任務。 一、安裝Python …

    編程 2025-04-29

發表回復

登錄後才能評論