如何禁止小白查看网页源代码的简单操作

所谓查看源代码,就是别人服务器发送到浏览器的原封不动的代码。

审查元素时,你看到那些,在源代码中找不到的代码,是在浏览器执行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 键


上一篇:使用Spring Data Redis操作Redis(一)


下一篇:vdsm user and kvm group 不能访问glusterfs