当前位置:首页 » 编程软件 » jsp跨站脚本

jsp跨站脚本

发布时间: 2023-05-29 01:13:52

A. jsp asp md5加密不一致

检查网站是否存在sql注入和跨站脚本,进行字符过滤
首先修改网站管理员帐号密码昌则 密码有条件的话进行md5加密 ,比较有效
最好不要使用cookies
建议修改后台登录路径耐正棚(若出错则修改回来),这个方法极其有效清歼 如把admin.asp改成 xx.asp(xx随便 越复杂越好 )
如果懂得修改源码的话 修改数据库的管理员表名 改得复杂点(但asp源码中同样要改),这个不太推荐

B. 怎么让一个JSP里面的脚本<script>里面的参数内容传递到另一个JSP

java">比如这液渣裂样一句在script:
window.location.href="main.jsp?msg=你好"
在闹闭main.jsp页面接收梁橘:
request.getParameter("msg");

C. 如何检测SQL注入技术以及跨站脚本攻击

在最近两年中,安全专家应该对网络应用层的攻击更加重视。因为无论你有多强壮的防火墙规则设置或者非常勤于补漏的修补机制,如果你的网络应用程序开发者没
有遵循
安全代码进行开发,攻击者将通过80端口进入你的系统。广泛被使用的两个主要攻击技术是SQL注入[ref1]和CSS[ref2]攻击。SQL注入是
指:通过互联网的输入区域,插入SQL meta-characters(特殊字符
代表一些数据)和指令,操纵执行后端的SQL查询的技术。这些攻击主要针对其他组织的WEB服务器。CSS攻击通过在URL里插入script标签,然后

诱导信任它们的用户点击它们,确保恶意Javascript代码在受害人的机器上运行。这些攻击利用了用户和服务器之间的信任关系,事实上服务器没有对输
入、输出进行检测,从而未拒绝javascript代码。
这篇文章讨论SQL注入和CSS攻击漏洞的检测技术。网上已经有很多关于这两种基于
WEB攻击的讨论,比如如何实施攻击,他们的影响,怎样更好的编制和设计程序防止这些攻击。 然而,
对如何检测这些攻击并没有足够的讨论。我们采用流行的开源的IDS Snort[ref
3],组建根据检测这些攻击的规则的正则表达式。附带,Snort默认规则设定包含检测CSS的方法,但是这些容易被避开检测。比如大多通过hex进制编
码,如%3C%73%63%72%69%70% 74%3E代替避开检测。
依赖level of
paranoia组织的能力,我们已经编写了多种检测相同攻击的规则。如果你希望检测各种可能的SQL注入攻击,那么你需要简单的留意任何现行的SQL
meta-characters,如单引号,分号和双重破折号。同样的一个极端检测CSS攻击的方法,只要简单地提防HTML标记的角括号。但这样会检测
出很多错误。为了避免这些,这些规则需要修改使它检测更精确些, 当仍然不能避免错误。
在Snort规则中使用pcre(Perl
Compatible Regular
Expressions)[ref4]关键字,每个规则可以带或不带其他规则动作。这些规则也可以被公用软件如grep(文档搜索工具)使用,来审阅网络
服务器日志。 但是,需要警惕的是,用户的输入只有当以GET提交请求时,WEB服务器才会记录日记,如果是以POST提交的请求在日记中是不会记录的。
2. SQL注入的正则表示式

你为SQL注入攻击选择正则表示式的时候,重点要记住攻击者可以通过提交表单进行SQL注入,也可以通过Cookie区域。你的输入检测逻辑应该考虑用户

组织的各类型输入(比如表单或Cookie信息)。并且如果你发现许多警告来自一个规则,请留意单引号或者是分号,也许些字符是你的Web应用程序创造的
合法的在CookieS中的输入。因此, 您需要根据你的特殊的WEB应用程序评估每个规则。
依照前面提到,一个琐细的检测SQL射入攻击的正则表达式要留意SQL特殊的meta-characters 譬如单引号(’)双重扩则号(--),为了查出这些字符和他们hex等值数, 以下正则表达式适用:
2.1 检测SQL meta-characters的正则表达式
/(\%27)|(\’)|(\-\-)|(\%23)|(#)/ix
解释:

们首先检查单引号等值的hex,单引号本身或者双重扩折号。这些是MS SQL Server或Oracle的字符, 表示后边的为评论,
随后的都将被忽略。 另外,如果你使用MySQL,你需要留意 ’#’和它等值的hex的出现。注意我们不需要检查双重破折号等值的hex,
因为这不是HTML meta-character, 浏览器不会进行编码。 并且,
如果攻击者设法手工修改双重破折号为它的hex值%2D(使用代理像Achilles[ref 5]), SQL注入将失败。
加入上述正则表达式的新的Snort规则如下:
alert
tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS (msg:"SQL
Injection - Paranoid";
flow:to_server,established;uricontent:".pl";pcre:"/(\%27)|(\’)|(\-\-)|(%23)|(#)/i";
classtype:Web-application-attack; sid:9099; rev:5;)
在本篇讨论中,
uricontent关键字的值为".pl ", 因为在我们的测试环境里, CGI
程序是用Perl写的。uricontent关键字的值取决于您的特殊应用, 这个值也许是".php ", 或" .asp ", 或" .jsp
", 等。 从这点考虑, 我们不显示对应的Snort 规则, 但是我们会给出创造这些规则的正则表达式。
通过这些正则表达式你可以很简单的创造很多的Snort规则.在前面的正则表达式里,
我们检测双重破折号是因为:即便没有单引号的存在那里也可能是SQL射入点[ref 6]。 例如, SQL查询条目只包含数值,如下:
select value1, value2, num_value3 from database
where num_value3=some_user_supplied_number
这种情况,攻击者可以执行额外的SQL查询, 示范提交如下输入:
3; insert values into some_other_table
最后, pcre的修饰符’ i’ 和’ x ’ 是用于分别匹配大小写和忽略空白处的。 上面的规则也可以另外扩展来检查分号的存在。然而,分号很可以是正常HTTP应答的一部分。为了减少这种错误,也是为了任何正常的单引号和双重扩折号的出
现,上面的规则应该被修改成先检测=号的存。用户输入会响应一个GET或POST请求,一般输入提交如下:
username=some_user_supplied_value&password=some_user_supplied_value
因此, SQL 注入尝试将导致用户的输入出现在a = 号或它等效的hex值之后。
2.2 修正检测SQL meta-characters的正则表达式
/((\%3D)|(=))[^\n]*((\%27)|(\’)|(\-\-)|(\%3B)|(:))/i
解释:
这个规则首先留意 = 号或它的hex值(%3D),然后考虑零个或多个除换行符以外的任意字符,最后检测单引号,双重破折号或分号。

型的SQL注入会尝试围绕单引号的用途操作原来的查询,以便得到有用的价值。讨论这个攻击一般使用1’or’1’=’1字符串. 但是,
这个串的侦查很容易被逃避,譬如用1’or2>1 --.
然而唯一恒定的部分是最初的字符的值,跟随一单引号,再加’or’。随后的布尔逻辑可能在一定范围上变化,可以是普通样式也可能是非常复杂的。这些攻击可
以相当精确被侦测,通过以下的正则表达式。2.3章节讲解。
2.3 典型的 SQL 注入攻击的正则表达式
/\w*((\%27)|(\’))((\%6F)|o|(\%4F))((\%72)|r|(\%52))/ix
解释:
\w* - 零个或多个字符或者下划线。
(\%27)|\’ - 单引号或它的hex等值。
(\%6 F)|o|(\%4 F))((\%72)|r|-(\%52) -‘or’的大小写以及它的hex等值。
’union’SQL
查询在SQL注入各种数据库中攻击中同样是很常见的。如果前面的正则表达式仅仅检测单引号或则其他的SQL meta characters
,会造成很多的错误存在。你应该进一步修改查询,检测单引号和关键字‘union’。这同样可以进一步扩展其他的SQL关键字,像’select’,
’insert’, ’update’, ’delete’, 等等。
2.4 检测SQL注入,UNION查询关键字的正则表达式
/((\%27)|(\’))union/ix
(\%27)|(\’) - 单引号和它的hex等值
union - union关键字
可以同样为其他SQL查询定制表达式,如 >select, insert, update, delete, drop, 等等.

果,到这个阶段,攻击者已经发现web应用程序存在SQL注入漏洞,他将尝试利用它。如果他认识到后端服务器式MS SQL
server,他一般会尝试运行一些危险的储存和扩展储存过程。这些过程一般以‘sp’或‘xp’字母开头。典型的,他可能尝试运行
‘xp_cmdshell’扩展储存过程(通过SQL Server执行Windows
命令)。SQL服务器的SA权限有执行这些命令的权限。同样他们可以通过xp_regread, xp_regwrite等储存过程修改注册表。
2.5 检测MS SQL Server SQL注入攻击的正则表达式
/exec(\s|\+)+(s|x)p\w+/ix
解释:
exec - 请求执行储存或扩展储存过程的关键字
(\s|\+)+ - 一个或多个的空白或它们的http等值编码
(s|x) p- ‘sp’或‘xp’字母用来辨认储存或扩展储存过程
\w+ - 一个或多个字符或下划线来匹配过程的名称
3. 跨站脚本(CSS)的正则表达式

发动CSS攻击或检测一个网站漏洞的时候, 攻击者可能首先使简单的HTML标签如(粗体),(斜体)或(下划线),或者他可能尝试简单的
script标签如alert("OK").
因为大多数出版物和网络传播的检测网站是否有css漏洞都拿这个作为例子。这些尝试都可以很简单的被检测出来。
然而,高明点的攻击者可能用它的hex值替换整个字符串。这样标签会以%3C%73%63%72%69%70%74%3E出 现。
另一方面,攻击者可能使用web代理服务器像Achilles会自动转换一些特殊字符如换成%3E.这样攻击发生时,URL
中通常以hex等值代替角括号。
下列正则表达式将检测任何文本中包含的html的。它将捉住试图使用、、或。这正则表达式应该忽略大小写。我们需要同时检测角括号和它的hex等值(% 3C|
3.1 一般 CSS 攻击的正则表达式
/((\%3C)|)/ix
解释:
((\%3C)|) -检查>或它的hex等值
Snort 规则:
alert
tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS (msg:"NII
Cross-site scripting attempt"; flow:to_server,established;
pcre:"/((\%3C)|)/i"; classtype:Web-application-attack; sid:9000; rev:5;)
跨站脚本同样可以使用技术。现行默认的snort规则可以被轻易避开。
3.2章节提供了防止这种技术的方法。
3.2 "
/((\%3C)|)/I
解释:
(\%3 C)|) ->或它的hex等值
3.3 CSS 攻击的极端的正则表达式
/((\%3C)|)/I
解释:
这个规则简单寻找。由于你的web服务器和web应用程序的构架,这个规则可能产生一些错误。但它能保证捉住任何CCS或者类似CSS的攻击。
一个不错避开过滤的CSS方法请参考Bugtraq投稿的

但是请注意最后一种极端的规则将能检测这所有的攻击。
总结:


这篇文章中,我们提出了不同种类的正则表达式规则来检测SQL注入和跨站脚本攻击。有些规则简单而极端,一个潜在的攻击都将提高警惕。但这些极端的规则可

能导致一些主动的错误。考虑到这点,我们修改了这些简单的规则,利用了另外的样式,他们可以检查的更准确些。在这些网络应用成的攻击检测中,我们推荐将这
些作为调试你IDS或日志分析方法的起点。再经过几次修改后,在你对正常网交易部分的非恶意应答进行评估以后,你应该可以准备的检测那些攻击了。

D. 如何解决jsp http响应分割漏洞

在HTTP响应头拆分攻击中具体牵涉到三个对象:
漏洞服务器:即存在漏洞的服务器。
攻击工具:比如浏览器,类似IE6.0。
攻击者:发动攻击的人。
HTTP响应头拆分攻击本质是:攻击者可以发送一个或几个HTTP指令迫使漏洞服务器产生一个攻击者构想好的输出。它可以让服务器误把几条HTTP请求看成一次完成的HTTP请求来解释。第一条请求也许攻击者部分控制着一部分,但这并不是危险的;危险的是,攻击者完全控制着第二条HTTP请求,即从HTTP状态行一直到HTTP请求的尾部。如果这样可行,攻击者就会发送多个请求指令到目标系统:第一条使得服务器完全接受两个HTTP响应,第二条响应通常是在服务器上请求一些非法资源,而服务器将会自动匹配到第二条响应,输出攻击者想要请求的资源,从而达到攻击者的目的。
通过这个思路,我们可以构造出形形色色的攻击,具体来说:
1 跨站脚本攻击(XSS):这是一个非常普通和老式的漏洞,它可以让用户通过运行了一段javascript或者html代码后,可以截取该用户的cookie和session。但是到现在,通过一些重定向脚本发起一次XSS攻击是很困难的,尤其是当用户使用最新补丁的IE浏览器的时候,除非位置头是完全控制的。但是当结合HTTP响应头攻击确是可以非常简单实现,即使只是部分控制位置头。
2 web缓存中毒(我们称之为web损耗):这是一个新的攻击技术,攻击者强迫服务器高速缓存中记录了第二次HTTP请求,而服务器中的高速缓存记录的第二次请求是经过攻击者精心构造的。这将成功的对目标站点进行损耗,当其他人访问目标站点时,他们仅仅读取了高速缓存里的数据,造成站点被“黑”的假象。当然,除了站点损耗之外,攻击者也可以偷取用户的session和cookie。
3 通过对用户的攻击:这是第二种方式的一个特殊情况。它对单个逗郑用户的欺骗、对服务器单个页面的损耗,和暂时的磨损,也可以偷取到特定用户的session和cookie。
4 劫持具体用户的页面敏感信息:攻击者欺骗服务器,并取得敏感用户的权限,并进入其用户的状态,访问到一些秘密信息。
5 浏览器高速缓存中毒:这也是一项最新的攻击方式,它这和跨站脚本攻击方式有点类似,唯一的差别就是攻击者强迫浏览器高速缓存中记录一个长和持续的磨损的网页,直到浏览器的高速缓存已经清洁。
对于这些我将在后面一一作介绍。
三:web高速缓存中毒的实现缺世
由于这是一个新兴的技术,所以这个段落我将对web高速缓存中毒的实现做进一步的分析。
1 毒害反向代理高速缓存:即电子涂写。在这种方式中,攻击者将直接面向网站。当然最厉害的手法是磨损该网站的首页,这样所有客户端将都受到影响,这也是最漂亮的手段,但是这样很容易被发现。
2 毒害一台中间高速缓存服务器:迂回。这种方式被发现是很困难的,中间缓存服务器是有很多的,而且漏洞服务器不山扮颂可能占有所有的中间缓存服务器,这些服务器很有可能不是在同一个地方,比如我们攻击台湾的站点,我们很有可能会先攻击一台位于美国的中间缓存服务器,即使被调查到了也是要很久的,也许我们早就有时间把所有的信息给清除。
3 毒害浏览器高速缓存:一针见血。攻击者很有可能会瞄准到一个特殊用户,例如从一个很富有的用户那里偷取到证书,这样的攻击将会变得很独特而且很难实施。因为,它不同于跨站脚本攻击,而且被毒害的页面要始终保持在高速缓存中以等待受害者(即你所瞄准的用户)来装载,有时候受害者从来都不会登陆到那个页面,或者是受害者浏览器禁止了JAVA脚本的执行等等,都会造成无法成功。
四:HTTP响应头漏洞攻击基本技术。
HTTP响应头攻击把代码嵌入到用户信息中并放在HTTP头部,也发生在把用户信息和代码嵌入到重定向到的URL中,或者把脚本嵌入到cookie值或者name里。在第一条响应中,重定向的URL是HTTP响应头的一部分,第二条响应是确定cookie,cookie中的name/value是响应头中set-cookie的一部分。

E. 请问如何解决跨站问题

最近脚本攻击好象是很流行的,不过早在很久前就有这个了!脚本攻击严格的说应该是一件艺术而不是漏洞!首先我们先要知道什么是脚本,脚本就是运行在网页服务器上的文本程序,例如:ASP、PHP、CGI、JSP、ISAP等等,脚本的攻击就是利用这些文件的设置和编写时的错误或者疏忽不当,攻击者就可以利用这些来达到自己攻击目的,如果一个服务器存在这些漏洞,那么它的沦陷也是时间的问题!
这些文本文件一般都是要结合数据库来使用的,这些数据库有ACCESS、MSSQL、MYSQL、Oracle等!脚本攻击就是针对这些数据库来配合脚本对一些变量的过滤不严的问题来达到得到用户密码等敏感信息,修改数据库等目的!下面我就针对这些来分别举例说明!
一、跨站脚本的攻击
脚本的跨站(CSS/XSS)就是利用程序对用户提交的变量不严,大多数是利用多媒体标签,前段时间比较流行的flash跨站就是利用的这个,比如我在[FLASH=450,350][/FLASH]之间插入一个我自己作好的一个swf文件,swf文件里我们用geturl里加上javascript:window.open('http://qfaq.yeah.net'就可以让他打开清风安全网的网站,如果这里是一个木马网页,呵呵,,,你就等着中木马吧!还有就是窃取用户的cookie,例如我们利用也就是图片的跨站,在这个里面插入
这段地址即可得到!如果将javascript过滤掉后怎么办?
好,我们在看看下面这段代码:
[upload=swf]uploadImages/200310812145390577.swf?">[/upload]
怎么样,还是能将你的信息得到的,而且还不会弹出对话框!
另外在joekoe论坛程序里还有一个这样的问题,比如你发个帖子里有[DIR][/DIR]就会弹出一个播放器的安装程序,呵呵,如果是一个黑心的站长利用这个来放马,那后果就不用说了吧!
解决办法:现在还没有好的方法解决这个问题,你要做的就是将多媒体的标签删掉!
另附ASP和PHP的跨站代码
php如下
$info = getenv("QUERY_STRING";
if ($info) {
$fp = fopen("test.txt","a";
fwrite($fp,$info."n";
fclose($fp);
}
?>

asp如下

二、sql injection
是现在最热门的,也是本文要重点说的!
1、ASP+ACCESS数据库类型的SQL注射
现在的大多数网站是采用的这个组合,但是如果在ASP程序中没有对用户提交的变量充分过滤的话就可能导致管理员密码被猜到,整个网站的信息就会暴漏无移~!
在大多数ASP站点中,我们并不知道其程序代码,靠任何扫描器也不可能发现SQL injection漏洞,这时就要靠手工检测了,由于我们执行SQL语句要用到单引号、分号、逗号、冒号和“--”,所以我们就在可修改的URL后加上以上符号,或在表单中的文本框加上这些符号!比如比较经典的金梅系统漏洞,在movie.aps中有怎么一段代码:
articleid=request("id"
set rs=server.createobject("adodb.recordset"
sql="update learning set hits=hits+1 where articleID="&articleid

--------------------------------------------------------------------------------

2 [转帖]脚本安全和利用
rs.open sql,conn,1,3
sql="select * from learning where articleid="&articleid
rs.open sql,conn,1,1

articleid未经任何检查便提交了,所以我们就可以自己构造一些SQL语句来提交上去!具体的利用过程请看拙作《SQL注入完整篇》和《SQL注入的补充》的动画教程,这里我就不在重复的说了!
2、ASP+MYSQL数据库类型的利用
MYSQL数据库简单使用和强大的功能一直以来都是网管们的最爱!但是如果是ASP中没有对变量过滤的话,我们就可以来直接的到他的系统管理员权限!
比如动网论坛、BBSXP论坛的SQL版有好几个文件都没有对ID过滤,所以我们只要找到他的存在问题的页面就可以了,
看这段代码:rs.open "select * from news where newsid=" & cstr(request("newsid"),conn,1,1
比如我们提交:
http://XXX/show.asp?id=1;exec master.dbo.xp_cmdshell 'net user xuehan ilovexuehan /add';--
http://XXX/show.asp?id=1;exec master.dbo.xp_cmdshell 'net localgroup administrators xuehan /add';--
看到了吗?我们已经在系统中田加了一个xuehan 密码是ilovexuehan的管理员帐号,以下的事情你就自己来做吧,呵呵,,,不用我来教了吧!!!
如果过滤了分号和单引号怎么办?呵呵,我们只要将我们的命令形式转换一下,比如我们转换成十六进制或者别的形式就可以继续注入了,还有就是他如果过滤了xp_cmdshell 我们也可以解决,我们可以写成xp'+'_cmd'+'shell形式,如果他将xp_cmdshell 扩展删掉,我们可以通过xplog70.dll文件来恢复,呵呵,,,具体自己查找下数据库的知识,当然我们也可以用别的扩展!所以说SQL injection不仅仅是一门技术,更要有灵活的头脑和扎实的数据库知识,特别是对SQL语言的掌握程度,如果不会SQL语言,你永远都是生搬硬套,遇到障碍就过不去了!
3、PHP+MYSQL数据库类型
PHP+MYSQL一直以来都认为是最安全的组合,不过一些文件没有过滤单引号、反斜线等,我们也可以来进行注入,不过在最新的php安装程序里的php.ini文件默认都是对这些过滤掉的,所以很大情况下我们是无法对进行注入的,不过也有许多牛人们可以饶过这个限制的!由于我的PHP和MYSQL不是太懂,所以就不能来具体举例来说明了,大家要是有兴趣可以去找写资料来看!!!
需要从根本上解决解决SQL Injection问题。还得从程序本身入手。过滤不能单纯的过滤URL所提交的参数,在表单里的也要过滤,value=后面的可以修改的数据,修改后可以提交到服务器,总之对所有的表单提交的数据以及用户可能对HTML源文件进行修改来控制的所有来自Web服务器外部的数据进行过滤或转换,对单引号、双引号、分号“--”还有对数字键上面的所有特殊字符进行过滤,还有QUERY_STRING环境变量。在服务器上删除一些危险的扩展存储过程,比如xp_cmdshell。有条件装个IDS更好,不敢说无坚不摧,但至少可以阻挡大部分攻击者。
三、一些别的脚本攻击
有些程序没有对cookie或者session进行过滤和检查,就造成了用户可以非法修改提交页面,自己提交修改数据,比如像海阳顶端网木马的以前版本对session没有过滤,我们就可以饶过密码的验证来到达真正的页面,还有就是post提交的问题,像leadbbs的2.77版本就是没有充分的过滤,我们就可以把管理员的密码修改成自己的密码!
还有一个脚本的攻击例子,在Discuz! 2.0 论坛里,因为个人属性缺乏必要的安全确认,所以很容易诱使其他会员自动修改其个人属性内容,特别是注册邮件信息,这关系着登陆密码的修改。
比如我们发个帖子,写上

诱使会员点击这个页面后,就会自动修改该会员注册的email地址为crack.x.h2163.com。当然为了隐蔽性,可以更新后自动关闭,然后调用另外一个假地址。
当然我们也可以利用这个漏洞进行欺骗、隐藏来诱惑管理员来修改我们为管理员等等!大家自己去学习吧!
看了这么多枯燥的东西下面我们再来看看另外一个好玩的漏洞,在百渡里搜索”传奇留言薄“找几个免费的留言本进去,找到他的登陆页面,我找到的一个是:
http://www.conanshome.com/guestbook/login.asp
我们再来看看下面这个连接:
http://www.conanshome.com/guestbook/admin.asp?adminid=admin
哈,怎么我们就闯入后台了!!!
什么原因,自己去琢磨吧!
后记:脚本的攻击可以说是防不胜防的,我们所要做的只能是提高编写程序的严谨态度,人为的因素在脚本攻击中是最重要的!
声明:本文提到的漏洞都有一定的攻击性,我们的目的是探讨技术,搞破坏的是小人!所造成的一切后果于作者无关!由于作者水平有限,文中难免有错误之处,欢迎指出!

F. 个人网站怎么有效的防止黑客攻击高分。。

我把大致的应用安全框架告诉你,编程常常会遇到的问题:
1、黑客通常会通过跨站脚本(XSS)和SQL注入入侵网站的。
危害:
(1)跨站脚本漏洞通常会导致网站被挂马,篡改等问题,具体情况你可以看网络中关于跨站的描述比较详细。
(2)SQL注入漏洞会得到你网站后台数据库内部数据信息,通常黑客会看你管理员用户名密码等信息(即使你的数据库信息可能用md5等加密过,但也有很多破解方法)。
(3)其他,则应该注意网站程序自身的错误问题,如恶意传参,输入是否限制问题(如只能输入整数数字的输入英文),服务器反馈一些信息可能被黑客利用。
2、防范方法:
(1)跨站要防止所有从数据库中得到的信息要输出时的格式化,这个重点在输出。详细情况你还是看网络吧,内容比较多,大致就是防止腊颤洞用户输入<,>等标记性语言,服务器在显示输出时会被翻译为可执行的代码。由于程序问题,可能有时也要关心输入,如表单的提交的变量直接输出的网页上会立即被执行。通过函数接收数据库字段,过程中将信息中包含标记的语言转换为文本标记如将空格转换为 后输出,具体你对应的从网上洞枯找,在这说不清,而且有碍于你全面的理解。
(2)SQL注入,防止动态传参的地址栏输入sql语句,如http://xxxx.jsp?id=1这类的有参数传到select语句的地址栏。通过函数接收变量(如sqlcheck(id))如发现sql关键字则返回提示信息,而不是黑客要的轮枯ture或false这类执行后的sql信息。最好完全限制,如只能输入正整数,其他一律报错中断。

以上是个人开发网站时的一些经验,也经过各种安全扫描设备的验证,只要抓住以上两个大头,因为这是问题最多的两点,也是普遍存在的。详细信息你应该有侧重的再去搜索,因为每一方面的内容都够多的。

另外,硬件服务器器和操作系统能给你提供的安全服务非常有限,应用安全才是问题关键。

G. jsp页面上写脚本语言

你的具体需求我有些不太明白。

JSP是运行在服务端、它生成的页面呈现在客户端、其中的脚本也是运行在客户端,如果所说“打印”是指由运行在客户端的脚本调用客户端浏览器提供的打印接口、将页面上的数据打印到客户端的打印机上的话,那么打印请求只能由客户端脚本完成。

所以你在JSP里分页的结果,需要通过刷新页面来将数据重新传递到客户端、再由客户端脚本重新生成打印请求(因此打10页用户会需要在打印对话框里点10次确定)。这显然不是好方式,但这么做实现起来稍微容易点,因为分页显示有现成的控件可用,做好点的话可以把每次客户端刷新页面等无法回避的问题尽可能控制在一个尚可忍受的程度。

也可考虑JSP将所有数据一次性地封装在生成的页面里,但使用html技术并不全部显示出来,而是由客户端脚本提供用户界面的交互操作,如分页显示或一次性打印用户指定的某部分数据,其间无须再向服务端请求数据。此方式明显比较接近“理想”的方式,但一次性把大量数据在一个页面发送会需要很长时间,而且客户端浏览器的资源占用会成为严重问题,此外脚本处理本身效率低,效果不好。

更好些的选择是用ajax技术,在不重载页面的情况下只在后台向服务端jsp请求单个页面中的那些数据,然后由客户端脚本呈现在同一个页面中、或者打印。此方式好处是比较符合你的要求,而且客户端操作也不太会有过多延迟什么的不良体验,但是客户端脚本的编程量较多,分页显示等稍微复杂些的工作必须要考虑不同浏览器的兼容性(但好消息是现在兼容性的麻烦比早前几年有了少许改善、此外也有好几种框架性质的javascript代码库也一并支持ajax的可以在一定程度上减轻工作量)。

平心而论这问题分数200实在不少,但写具体代码一来要和你应用本身紧密结合、二来那确实是个该考虑收人民币的事(写的话也真难用简短的话把涉及的几个重要些的问题都说清),所以没法提供具体代码了。敬请谅解。

网上ajax的资料和范例很多,前台脚本其实和后台使用的具体技术关系不大,楼主不妨自己琢磨一下。理解起来不难,但真想把实际问题解决得漂亮点…呃…需要不少时间和耐心啊!!祝好运吧!

热点内容
python元素替换list 发布:2025-02-13 20:03:48 浏览:772
windows系统账户名和密码是多少 发布:2025-02-13 20:03:02 浏览:530
我的世界带有商店服务器好吗 发布:2025-02-13 20:02:50 浏览:615
东莞加密软件 发布:2025-02-13 20:02:05 浏览:869
可以玩游戏的云服务器 发布:2025-02-13 19:55:35 浏览:303
php授权系统 发布:2025-02-13 19:55:22 浏览:415
php截取字符乱码 发布:2025-02-13 19:53:54 浏览:89
安卓什么时候限制app权限 发布:2025-02-13 19:53:12 浏览:110
红米手机录音文件夹 发布:2025-02-13 19:41:33 浏览:236
android适配屏幕 发布:2025-02-13 19:40:30 浏览:793