天天看點

如何禁止小白檢視網頁源代碼的簡單操作

所謂檢視源代碼,就是别人伺服器發送到浏覽器的原封不動的代碼。

審查元素時,你看到那些,在源代碼中找不到的代碼,是在浏覽器執行js動态生成的。

通過審查元素看到的就是最終的html代碼。即:源代碼 + 網頁js渲染 。

我們檢視網頁源代碼平時使用的方式是

1、右擊滑鼠,點選檢視網頁源代碼。

2、按F12、ctrl+u、ctrl+shift+I、ctrl+shift+c檢視源代碼。

3、按ctrl+s儲存下來,看源代碼

4、XXXXX

屏蔽掉右鍵、複制、選擇的完整代碼:

首先我們來解決滑鼠右擊事件,就是我們自己實作右擊事件,并且在右擊事件函數裡什麼都不做。這樣就彈不出右擊菜單了。

/**禁止右擊事件菜單彈出*/
    document.οncοntextmenu=ContextMenu;
    function ContextMenu()  
    {  
      return false;  
    }      

其次,我們禁止使用ctrl+s、ctrl+u、F12、ctrl+shift+I、ctrl+shift+c。代碼如下:

/** 全局事件監聽*/
    document.body.onkeydown  = function(e){
                   var keyCode = e.keyCode || e.which || e.charCode;
                    var ctrlKey = e.ctrlKey || e.metaKey;
                    if(ctrlKey && (keyCode == 83 || keyCode == 85 || keyCode == 73)) {
                        e.preventDefault();
                        return false;
                    }
                    else if(ctrlKey && (keyCode == 83 || keyCode == 85 || keyCode == 67)) {
                        e.preventDefault();
                        return false;                   
                    }else if(keyCode && keyCode == 123){
                        return false;
                    }
               }

      

隻要在你的初始化函數裡加上上面的代碼,那麼你的頁面就不能檢視源代碼了。當然隻限于前三種方式。真正能實作源代碼屏蔽的單純的.html是不可能的!想看源代碼也是沒辦法阻止的。此腳本這隻能防止不勞而獲的小白,針對計算機老鳥、大神是無法作用的;并且現在很多浏覽器自帶有檢視網頁源代碼的功能。用TELEPROT 這類網站下載下傳工具可以下載下傳任何檔案,相當于做鏡像網站。想真正的保護源代碼,除非伺服器進行安全設定、加密。

js 裡面的鍵盤事件經常用到的 記錄一下

keyCode 8 = BackSpace BackSpace

keyCode 9 = Tab Tab

keyCode 12 = Clear

keyCode 13 = Enter

keyCode 16 = Shift_L

keyCode 17 = Control_L

keyCode 18 = Alt_L

keyCode 19 = Pause

keyCode 20 = Caps_Lock

keyCode 27 = Escape Escape

keyCode 32 = space

keyCode 33 = Prior

keyCode 34 = Next

keyCode 35 = End

keyCode 36 = Home

keyCode 37 = Left

keyCode 38 = Up

keyCode 39 = Right

keyCode 40 = Down

keyCode 41 = Select

keyCode 42 = Print

keyCode 43 = Execute

keyCode 45 = Insert

keyCode 46 = Delete

keyCode 47 = Help

keyCode 48 = 0 equal braceright

keyCode 49 = 1 exclam onesuperior

keyCode 50 = 2 quotedbl twosuperior

keyCode 51 = 3 section threesuperior

keyCode 52 = 4 dollar

keyCode 53 = 5 percent

keyCode 54 = 6 ampersand

keyCode 55 = 7 slash braceleft

keyCode 56 = 8 parenleft bracketleft

keyCode 57 = 9 parenright bracketright

keyCode 65 = a A

keyCode 66 = b B

keyCode 67 = c C

keyCode 68 = d D

keyCode 69 = e E EuroSign

keyCode 70 = f F

keyCode 71 = g G

keyCode 72 = h H

keyCode 73 = i I

keyCode 74 = j J

keyCode 75 = k K

keyCode 76 = l L

keyCode 77 = m M mu

keyCode 78 = n N

keyCode 79 = o O

keyCode 80 = p P

keyCode 81 = q Q at

keyCode 82 = r R

keyCode 83 = s S

keyCode 84 = t T

keyCode 85 = u U

keyCode 86 = v V

keyCode 87 = w W

keyCode 88 = x X

keyCode 89 = y Y

keyCode 90 = z Z

keyCode 96 = KP_0 KP_0

keyCode 97 = KP_1 KP_1

keyCode 98 = KP_2 KP_2

keyCode 99 = KP_3 KP_3

keyCode 100 = KP_4 KP_4

keyCode 101 = KP_5 KP_5

keyCode 102 = KP_6 KP_6

keyCode 103 = KP_7 KP_7

keyCode 104 = KP_8 KP_8

keyCode 105 = KP_9 KP_9

keyCode 106 = KP_Multiply KP_Multiply

keyCode 107 = KP_Add KP_Add

keyCode 108 = KP_Separator KP_Separator

keyCode 109 = KP_Subtract KP_Subtract

keyCode 110 = KP_Decimal KP_Decimal

keyCode 111 = KP_Divide KP_Divide

keyCode 112 = F1

keyCode 113 = F2

keyCode 114 = F3

keyCode 115 = F4

keyCode 116 = F5

keyCode 117 = F6

keyCode 118 = F7

keyCode 119 = F8

keyCode 120 = F9

keyCode 121 = F10

keyCode 122 = F11

keyCode 123 = F12

keyCode 124 = F13

keyCode 125 = F14

keyCode 126 = F15

keyCode 127 = F16

keyCode 128 = F17

keyCode 129 = F18

keyCode 130 = F19

keyCode 131 = F20

keyCode 132 = F21

keyCode 133 = F22

keyCode 134 = F23

keyCode 135 = F24

keyCode 136 = Num_Lock

keyCode 137 = Scroll_Lock

keyCode 187 = acute grave

keyCode 188 = comma semicolon

keyCode 189 = minus underscore

keyCode 190 = period colon

keyCode 192 = numbersign apostrophe

keyCode 210 = plusminus hyphen macron

keyCode 211 =

keyCode 212 = copyright registered

keyCode 213 = guillemotleft guillemotright

keyCode 214 = masculine ordfeminine

keyCode 215 = ae AE

keyCode 216 = cent yen

keyCode 217 = questiondown exclamdown

keyCode 218 = onequarter onehalf threequarters

keyCode 220 = less greater bar

keyCode 221 = plus asterisk asciitilde

keyCode 227 = multiply division

keyCode 228 = acircumflex Acircumflex

keyCode 229 = ecircumflex Ecircumflex

keyCode 230 = icircumflex Icircumflex

keyCode 231 = ocircumflex Ocircumflex

keyCode 232 = ucircumflex Ucircumflex

keyCode 233 = ntilde Ntilde

keyCode 234 = yacute Yacute

keyCode 235 = oslash Ooblique

keyCode 236 = aring Aring

keyCode 237 = ccedilla Ccedilla

keyCode 238 = thorn THORN

keyCode 239 = eth ETH

keyCode 240 = diaeresis cedilla currency

keyCode 241 = agrave Agrave atilde Atilde

keyCode 242 = egrave Egrave

keyCode 243 = igrave Igrave

keyCode 244 = ograve Ograve otilde Otilde

keyCode 245 = ugrave Ugrave

keyCode 246 = adiaeresis Adiaeresis

keyCode 247 = ediaeresis Ediaeresis

keyCode 248 = idiaeresis Idiaeresis

keyCode 249 = odiaeresis Odiaeresis

keyCode 250 = udiaeresis Udiaeresis

keyCode 251 = ssharp question backslash

keyCode 252 = asciicircum degree

keyCode 253 = 3 sterling

keyCode 254 = Mode_switch

使用event對象的keyCode屬性判斷輸入的鍵值

eg:if(event.keyCode==13)alert(“enter!”);

鍵值對應表

A  0X65  U   0X85

B  0X66  V   0X86

C  0X67  W   0X87

D  0X68  X   0X88

E  0X69  Y   0X89

F  0X70  Z   0X90

G  0X71  0   0X48

H  0X72  1   0X49

I  0X73  2   0X50

J  0X74  3   0X51

K  0X75  4   0X52

L  0X76  5   0X53

M  0X77  6   0X54

N  0X78  7   0X55

O  0X79  8   0X56

P  0X80  9   0X57

Q  0X81 ESC  0X1B

R  0X82 CTRL  0X11

S  0X83 SHIFT 0X10

T  0X84 ENTER 0XD

Keycode常數表

可在代碼中的任何地方用下列常數代替實際值:

常數 值 描述

vbKeyLButton 0x1 滑鼠左鍵

vbKeyRButton 0x2 滑鼠右鍵

vbKeyCancel 0x3 CANCEL 鍵

vbKeyMButton 0x4 滑鼠中鍵

vbKeyBack 0x8 BACKSPACE 鍵

vbKeyTab 0x9 TAB 鍵

vbKeyClear 0xC CLEAR 鍵

vbKeyReturn 0xD ENTER 鍵

vbKeyShift 0x10 SHIFT 鍵

vbKeyControl 0x11 CTRL 鍵

vbKeyMenu 0x12 MENU 鍵

vbKeyPause 0x13 PAUSE 鍵

vbKeyCapital 0x14 CAPS LOCK 鍵

vbKeyEscape 0x1B ESC 鍵

vbKeySpace 0x20 SPACEBAR 鍵

vbKeyPageUp 0x21 PAGE UP 鍵

vbKeyPageDown 0x22 PAGE DOWN 鍵

vbKeyEnd 0x23 END 鍵

vbKeyHome 0x24 HOME 鍵

vbKeyLeft 0x25 LEFT ARROW 鍵

vbKeyUp 0x26 UP ARROW 鍵

vbKeyRight 0x27 RIGHT ARROW 鍵

vbKeyDown 0x28 DOWN ARROW 鍵

vbKeySelect 0x29 SELECT 鍵

vbKeyPrint 0x2A PRINT SCREEN 鍵

vbKeyExecute 0x2B EXECUTE 鍵

vbKeySnapshot 0x2C SNAPSHOT 鍵

vbKeyInsert 0x2D INSERT 鍵

vbKeyDelete 0x2E DELETE 鍵

vbKeyHelp 0x2F HELP 鍵

vbKeyNumlock 0x90 NUM LOCK 鍵

A 至 Z 鍵與 A – Z 字母的 ASCII 碼相同:

vbKeyA 65 A 鍵

vbKeyB 66 B 鍵

vbKeyC 67 C 鍵

vbKeyD 68 D 鍵

vbKeyE 69 E 鍵

vbKeyF 70 F 鍵

vbKeyG 71 G 鍵

vbKeyH 72 H 鍵

vbKeyI 73 I 鍵

vbKeyJ 74 J 鍵

vbKeyK 75 K 鍵

vbKeyL 76 L 鍵

vbKeyM 77 M 鍵

vbKeyN 78 N 鍵

vbKeyO 79 O 鍵

vbKeyP 80 P 鍵

vbKeyQ 81 Q 鍵

vbKeyR 82 R 鍵

vbKeyS 83 S 鍵

vbKeyT 84 T 鍵

vbKeyU 85 U 鍵

vbKeyV 86 V 鍵

vbKeyW 87 W 鍵

vbKeyX 88 X 鍵

vbKeyY 89 Y 鍵

vbKeyZ 90 Z 鍵

0 至 9 鍵與數字 0 – 9 的 ASCII 碼相同:

vbKey0 48 0 鍵

vbKey1 49 1 鍵

vbKey2 50 2 鍵

vbKey3 51 3 鍵

vbKey4 52 4 鍵

vbKey5 53 5 鍵

vbKey6 54 6 鍵

vbKey7 55 7 鍵

vbKey8 56 8 鍵

vbKey9 57 9 鍵

下列常數代表數字鍵盤上的鍵:

vbKeyNumpad0 0x60 0 鍵

vbKeyNumpad1 0x61 1 鍵

vbKeyNumpad2 0x62 2 鍵

vbKeyNumpad3 0x63 3 鍵

vbKeyNumpad4 0x64 4 鍵

vbKeyNumpad5 0x65 5 鍵

vbKeyNumpad6 0x66 6 鍵

vbKeyNumpad7 0x67 7 鍵

vbKeyNumpad8 0x68 8 鍵

vbKeyNumpad9 0x69 9 鍵

vbKeyMultiply 0x6A MULTIPLICATION SIGN (*) 鍵

vbKeyAdd 0x6B PLUS SIGN (+) 鍵

vbKeySeparator 0x6C ENTER 鍵

vbKeySubtract 0x6D MINUS SIGN (-) 鍵

vbKeyDecimal 0x6E DECIMAL POINT (.) 鍵

vbKeyDivide 0x6F DIVISION SIGN (/) 鍵

下列常數代表功能鍵:

vbKeyF1 0x70 F1 鍵

vbKeyF2 0x71 F2 鍵

vbKeyF3 0x72 F3 鍵

vbKeyF4 0x73 F4 鍵

vbKeyF5 0x74 F5 鍵

vbKeyF6 0x75 F6 鍵

vbKeyF7 0x76 F7 鍵

vbKeyF8 0x77 F8 鍵

vbKeyF9 0x78 F9 鍵

vbKeyF10 0x79 F10 鍵

vbKeyF11 0x7A F11 鍵

vbKeyF12 0x7B F12 鍵

vbKeyF13 0x7C F13 鍵

vbKeyF14 0x7D F14 鍵

vbKeyF15 0x7E F15 鍵

vbKeyF16 0x7F F16 鍵

繼續閱讀