考試系統之JS控制

來源:互聯網
上載者:User

        作為考試系統,必然要有對作弊的控制,在本版本考試系統中,通過javascript控制,實現對常用手法的禁用,此次需要禁用的是以下幾種:

  • 禁用右鍵
  • 禁用複製粘貼
  • 禁用F5
  • 禁用Backspace
  • 禁用網路位置
  • 禁用隨身碟

代碼如下:

<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>答題禁用demo</title><!--禁用複製粘貼F5及Backspace--><script type="text/javascript">document.onkeydown=function(){//禁用Ctrl+Cif(event.ctrlKey && event.keyCode==67){alert('考試過程中,已經禁用複製快速鍵CtrlL+C!');return false;}//禁用Ctrl+Vif(event.ctrlKey && event.keyCode==86){alert('考試過程中,已經禁用粘貼快速鍵CTRL+V!');return false;}//禁用F5if(event.keyCode==116){alert('考試過程中,已經禁用重新整理頁面鍵F5!');return false;}//當焦點位置為非文字框時,禁用BackSpace//IE下不相容window.event.target,使用srcElement代替if(event.keyCode==8){var ev=window.event;var obj=ev.srcElement;if(obj.getAttribute('type')!='text'&& obj.getAttribute('type')!='textarea'){alert('非文字框中,禁用BackSpace鍵!');return false;}}}</script><!--擷取使用者IP--><!--向form中添加資料--><script type="text/javascript" event="OnCompleted(hResult,pErrorobject, pAsyncContext)" for=foo> document.forms[0].txtMACAddr.value=unescape(MACAddr); document.forms[0].txtIPAddr.value=unescape(IPAddr); document.forms[0].txtDNSName.value=unescape(sDNSName);</script><META content="MShtml 6.00.2800.1106" name=GENERATOR><!--擷取地址--><script type="text/javascript" event=OnobjectReady(objobject,objAsyncContext) for=foo>   if(objobject.IPEnabled != null && objobject.IPEnabled != "undefined" && objobject.IPEnabled == true){if(objobject.MACAddress != null && objobject.MACAddress != "undefined")MACAddr = objobject.MACAddress;if(objobject.IPEnabled && objobject.IPAddress(0) != null && objobject.IPAddress(0) != "undefined")IPAddr = objobject.IPAddress(0);if(objobject.DNSHostName != null && objobject.DNSHostName != "undefined")sDNSName = objobject.DNSHostName;} </script> <!--嵌入ActiveX--> <!--WMI的ActiveX外掛程式--><object id="locator" classid=CLSID:76A64158-CB41-11D1-8B02-00600806D9B6 VIEWASTEXT></object><!--擷取地址的ActiveX外掛程式--><object id="foo" classid=CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223></object><script type="text/javascript">var service = locator.ConnectServer();var MACAddr ;var IPAddr ;var DomainAddr;var sDNSName;service.Security_.ImpersonationLevel=3;service.InstancesOfAsync(foo, 'Win32_NetworkAdapterConfiguration');</script></head><!--禁用右鍵--><body oncontextmenu="window.event.returnValue=false" >  <form id=form1 method=post><input type="text" id="txtMACAddr"><input type="text" id="txtIPAddr"><input type="text" id="txtDNSName"><input type="text" id="test" value="test" /></form></body></html>

        當然,僅僅這幾個控制是不夠的,還需要對訪問考試系統的ip進行限制,這個會在稍後的部落格中說明。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.