CN104182700A - 保护web页面可执行脚本的方法 - Google Patents

保护web页面可执行脚本的方法 Download PDF

Info

Publication number
CN104182700A
CN104182700A CN201410427934.3A CN201410427934A CN104182700A CN 104182700 A CN104182700 A CN 104182700A CN 201410427934 A CN201410427934 A CN 201410427934A CN 104182700 A CN104182700 A CN 104182700A
Authority
CN
China
Prior art keywords
script
server
request
page
session
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201410427934.3A
Other languages
English (en)
Inventor
施霞虹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NANNING CIHUI TECHNOLOGY Co Ltd
Original Assignee
NANNING CIHUI TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NANNING CIHUI TECHNOLOGY Co Ltd filed Critical NANNING CIHUI TECHNOLOGY Co Ltd
Priority to CN201410427934.3A priority Critical patent/CN104182700A/zh
Publication of CN104182700A publication Critical patent/CN104182700A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/128Restricting unauthorised execution of programs involving web programs, i.e. using technology especially used in internet, generally interacting with a web browser, e.g. hypertext markup language [HTML], applets, java
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/101Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
    • G06F21/1014Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities to tokens

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

为了解决不能持久有效保护WEB页面中可执行脚本的知识产权问题,本发明提供了一种保护WEB页面可执行脚本的方法。保护WEB页面可执行脚本的方法其特征在于包括如下步骤:在服务器脚本建立SESSION,并在SESSION中建立至少一个标识项;在浏览器产生HTML页面的脚本中调用服务器可执行脚本的请求中需包括与步骤A中的标识项对应的描述;服务器脚本接收到HTML页面调用可执行脚本的请求后核实所述请求中包括与步骤A中的标识项对应的描述后,服务器脚本调取可执行脚本内容输出给浏览器HTML页面。采用本发明的方法可以有效保护WEB页面中可执行脚本的知识产权。

Description

保护WEB页面可执行脚本的方法
技术领域
本发明属于一种因特网通信技术,特别是一种客户端浏览器和WEB服务器之间传递可执行脚本的方法。
背景技术
目前,客户端浏览器的工作机制多是将HTML文件下载到本地后执行,操作者才能看到页面。HTML文件中的可执行脚本常常是用JavaScript或VBScript等解释性语言编写的程序代码,浏览器载入可执行脚本后,操作浏览器的人可以很容易地得到这些可执行脚本,可执行脚本的知识产权很容易被侵犯。虽然相关厂商提供了一些在服务器端加密/在客户端解密的技术,例如微软提供的Encode技术,但对应这些加密方法的破解程序不断产生,使得现有的加密方法都不能持久有效地保证可执行脚本的知识产权不被侵犯。
发明内容
为了解决不能持久有效保护WEB页面中可执行脚本的知识产权问题,本发明提供了一种保护WEB页面可执行脚本的方法。
本发明的技术方案如下:
保护WEB页面可执行脚本的方法包括如下步骤:
A在服务器脚本建立SESSION,并在SESSION中建立至少一个标识项;
B在浏览器产生HTML页面的脚本中调用服务器可执行脚本的请求中需包括与步骤A中的标识项对应的描述;
C服务器脚本接收到HTML页面调用可执行脚本的请求后核实所述请求中是否包括与步骤A中的标识项对应的描述,若不包括则执行出错处置程序,所述出错处置程序包括销毁SESSION中的标识项;
D在步骤C得到肯定的结果后,服务器脚本调用可执行脚本并输出给浏览器HTML页面;
E服务器脚本在接收到步骤B中调用服务器可执行脚本的请求后一定时间,服务器脚本销毁SESSION中的标识项。
步骤A中所述标识项为数据项,所述数据项具有特定值。
步骤B中与步骤A中的标识项对应的描述是指调用服务器可执行脚本的请求中设定有与所述数据项和特定值相等的符号。
本发明的技术效果:
采用本发明的方法,可执行脚本文件的地址只在服务器端脚本出现,没有在浏览器下载的文件中出现,使得从浏览器无法获知可执行代码的地址。尽管可执行脚本的内容被浏览器下载并执行,但由于该内容是动态输出,不是一个完整的文件,因此浏览器不会缓存该内容,只在内存中执行该内容,因此从浏览器端是无法看到可执行脚本的内容的。
另外,尽管从浏览器端的HTML页面脚本中会看到请求获取可执行脚本的代码语句,但该代码语句在执行后,服务器端接收到该请求后一段时间不论请求是否成功,均会销毁SESSION中的标识项,因此,即使复制该请求语句中的地址信息访问服务器,因为SESSION中的标识项已经不存在,从而不能获得可执行脚本文件内容。
第三,由于SESSION只对合法的同组浏览器窗口有效,如果采用某种方法禁止上述请求语句的执行,然后使用该语句中的地址信息访问服务器,也会因为SESSION不存在而不能获得可执行脚本的内容。
附图说明
图1为本发明方法的流程图。
具体实施方式
下面结合附图对本发明的技术方案进行详细地说明。
第一,需要在服务器端建立SESSION,并在SESSION中建立标识项page,page被赋予一个值。该标识项及标识项的值可以是任意的,例如标识项的名称可以是HTML页面的文件名,其值可以采用一个随机值(如当前的时间)。以PHP为例,实现上述目的的代码如下:
$_SESSION[‘page’]=‘xxxxxxxx’;
其中,“page”是为数据项定义的名称,而“xxxxxxxx”是为数据项赋的值。
第二,在浏览器产生HTML页面的脚本中调用服务器可执行脚本的请求中包括对应page项的内容。下面以PHP的GET方法为例说明这一段的脚本形式:
<SCRIPTtype=text/javascriptsrc=”getjs.php?index=page&page=xxxxxxxx”>
其中,“getjs.php”是一个专门建立的动态输出Javascript代码的服务器脚本,“index”也是一个任意的名字。“page”是在第一步中指定的SESSION中标识项的名称,而“xxxxxxxx”是在第一步中为page赋的值。
这样,当浏览器获得HTML页面后,将按照地址“getjs.php?index=page&page=xxxxxxxx”向服务器请求获得所需要的脚本。
第三,服务器接收到浏览器请求后于适当时间后(在本实施例中是2秒后)销毁SESSION中的page标识项。
第四,服务器接收到浏览器请求后判断该请求是否是由合法的浏览器(合法的浏览器品牌和版本)发出,是否是本站的域名下的页面提交的请求。如果不符合前述判断结论为不会法,则报错退出或采取任何其它自定义的出错处理程序。
第五,在第四的判断为合法的情况下,则检查请求中是否包括“index”。如果请求中没有包括“index”,则报错退出或采取任何其它自定义的出错处理程序。
第六,在第五的判断为包括了“index”情况下,则判断index是否包括了“page”项,如果没有包括“page”,采取出错控制动作,这种情况下要立即销毁SESSION中名为“page”的数据项。这样可以避免“page”的存在使得从非法浏览器端可以获得后续的可执行脚本程序内容。
第七,在第六的判断为包括“page”项情况下,判断page项的值是否与SESSION中page的值相同,如果不相同,采取出错控制动作,这种情况下要立即销毁SESSION中名为“page”的数据项。
第八,在第七的判断为page值相同情况下,销毁SESSION中名为“page”的标识项,然后打开服务器中对应的可执行脚本文件,在这里就是javascript.js,将该文件中的内容全部读出来并输出给发出请求的浏览器。这样,浏览器就获得了完整的脚本代码,执行后所有功能都可以正常完成了。
传统的引用一个名称为javascript.js的可执行脚本的代码如下:
<SCRIPTtype=text/javascriptsrc=”javascript.js”>
其中,“javascript.js”是页面要引用的脚本代码地址(可能是带路径的),也就是要保护的可执行脚本文件。从浏览器端可以看到可执行脚本文件的地址,因此可执行脚本文件很容易被复制并非法利用。
本发明的方法中可执行脚本文件的地址只在服务器端脚本出现,没有在浏览器下载的文件中出现,使得从浏览器无法获知可执行代码的地址。尽管可执行脚本的内容被浏览器下载并执行,但由于该内容是动态输出,不是一个完整的文件,因此浏览器不会缓存该内容,只在内存中执行该内容,因此从浏览器端是无法看到可执行脚本的内容的。
应当指出,以上所述具体实施方式可以使本领域的技术人员更全面地理解本发明,但不以任何方式限制本发明。因此,尽管本说明书参照实施方式对本发明已进行了详细的说明,但是,本领域技术人员应当理解,仍然可以对本发明进行修改或者等同替换;而一切不脱离本发明的精神和技术实质的技术方案及其改进,其均应涵盖在本发明专利的保护范围当中。

Claims (3)

1.保护WEB页面可执行脚本的方法其特征在于包括如下步骤:
A在服务器脚本建立SESSION,并在SESSION中建立至少一个标识项;
B在浏览器产生HTML页面的脚本中调用服务器可执行脚本的请求中需包括与步骤A中的标识项对应的描述;
C服务器脚本接收到HTML页面调用可执行脚本的请求后核实所述请求中是否包括与步骤A中的标识项对应的描述,若不包括则执行出错处置程序,所述出错处置程序包括销毁SESSION中的标识项;
D在步骤C得到肯定的结果后,服务器脚本调取可执行脚本内容输出给浏览器HTML页面;
E服务器脚本在接收到步骤B中调用服务器可执行脚本的请求后一定时间,服务器脚本销毁SESSION中的标识项。
2.根据权利要求1所述的保护WEB页面可执行脚本的方法,其特征在于步骤A中所述标识项为数据项,所述数据项具有特定值。
3.根据权利要求2所述的保护WEB页面可执行脚本的方法,其特征在于步骤B中与步骤A中的标识项对应的描述是指调用服务器可执行脚本的请求中设定有与所述数据项和特定值相等的符号。
CN201410427934.3A 2013-12-12 2014-08-27 保护web页面可执行脚本的方法 Pending CN104182700A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410427934.3A CN104182700A (zh) 2013-12-12 2014-08-27 保护web页面可执行脚本的方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201310691302 2013-12-12
CN201310691302.3 2013-12-12
CN201410427934.3A CN104182700A (zh) 2013-12-12 2014-08-27 保护web页面可执行脚本的方法

Publications (1)

Publication Number Publication Date
CN104182700A true CN104182700A (zh) 2014-12-03

Family

ID=51963731

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410427934.3A Pending CN104182700A (zh) 2013-12-12 2014-08-27 保护web页面可执行脚本的方法

Country Status (1)

Country Link
CN (1) CN104182700A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018006241A1 (en) * 2016-07-04 2018-01-11 Mcafee, Inc. Method and apparatus to detect security vulnerabilities in web application
CN109885792A (zh) * 2019-01-04 2019-06-14 石化盈科信息技术有限责任公司 一种基于webdriver技术的APP桥接方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090119675A1 (en) * 2007-11-05 2009-05-07 Higgins William P Extensible Framework for Managing UI State in a Composite AJAX Application
CN102707912A (zh) * 2011-03-04 2012-10-03 佳能株式会社 信息处理设备、信息处理***以及控制信息处理设备的方法
CN102750281A (zh) * 2011-04-19 2012-10-24 腾讯科技(深圳)有限公司 一种浏览器的脚本处理方法和***
CN103246606A (zh) * 2013-04-26 2013-08-14 广东电网公司电力科学研究院 Esb平台的性能方法和***

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090119675A1 (en) * 2007-11-05 2009-05-07 Higgins William P Extensible Framework for Managing UI State in a Composite AJAX Application
CN102707912A (zh) * 2011-03-04 2012-10-03 佳能株式会社 信息处理设备、信息处理***以及控制信息处理设备的方法
CN102750281A (zh) * 2011-04-19 2012-10-24 腾讯科技(深圳)有限公司 一种浏览器的脚本处理方法和***
CN103246606A (zh) * 2013-04-26 2013-08-14 广东电网公司电力科学研究院 Esb平台的性能方法和***

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
杨建昆: "解决B/S结构网络信息安全的一种新方法", 《中国通信学会信息通信网络技术委员会2003年年会论文集》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018006241A1 (en) * 2016-07-04 2018-01-11 Mcafee, Inc. Method and apparatus to detect security vulnerabilities in web application
US11194914B2 (en) 2016-07-04 2021-12-07 Mcafee, Llc Method and apparatus to detect security vulnerabilities in a web application
CN109885792A (zh) * 2019-01-04 2019-06-14 石化盈科信息技术有限责任公司 一种基于webdriver技术的APP桥接方法
CN109885792B (zh) * 2019-01-04 2021-03-26 石化盈科信息技术有限责任公司 一种基于webdriver技术的APP桥接方法

Similar Documents

Publication Publication Date Title
US10095846B2 (en) Web application protection
EP3391263B1 (en) Securing webpages, webapps and applications
Thakur et al. Content sniffing attack detection in client and server side: A survey
US10375107B2 (en) Method and apparatus for dynamic content marking to facilitate context-aware output escaping
US20150319189A1 (en) Protecting websites from cross-site scripting
CN102957705B (zh) 一种网页篡改防护的方法及装置
CN106911684B (zh) 一种鉴权方法及***
KR101640902B1 (ko) Html 문서에 포함되는 콘텐츠를 보호하는 장치 및 방법
CN103763308A (zh) 一种智能终端安全访问网页和下载数据的方法和装置
US20160197950A1 (en) Detection system and method for statically detecting applications
US11503072B2 (en) Identifying, reporting and mitigating unauthorized use of web code
US20120023394A1 (en) Method and apparatus for context-aware output escaping using dynamic content marking
CN109977685A (zh) 网页内容加密方法,加密装置及***
US20170083486A1 (en) Regulating undesirable webpage code
EP3518135B1 (en) Protection against third party javascript vulnerabilities
GB2507749A (en) Ensuring completeness of a displayed web page
CN108319822B (zh) 一种保护网页代码的方法、存储介质、电子设备和***
Niakanlahiji et al. WebMTD: defeating cross‐site scripting attacks using moving target defense
CN109088872B (zh) 带使用期限的云平台的使用方法、装置、电子设备及介质
CN110263533A (zh) 网页安全防护方法
CN104182700A (zh) 保护web页面可执行脚本的方法
CN108462749B (zh) 一种Web应用处理方法、装置及***
Kerschbaumer et al. Towards precise and efficient information flow control in web browsers
Kouchaksaraei et al. Countering wrapping attack on XML signature in SOAP message for cloud computing
US20160117511A1 (en) Digital content execution control mechanism

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20141203