当前位置:首页 > 服务器 > 正文

jsp服务器安全(jsp安全性)

今天给各位分享jsp服务器安全的知识,其中也会对jsp安全性进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

解释JSP的作用,并列举JSP的特点

JSP是一种建立在Servlet规范功能之上的动态网页技术,是在通常的网页文件中嵌入脚本代码,用于产生动态内容,在JSP文件中嵌入的是java代码和JSP标记。

特点:

1、将内容的生成和显示进行分离使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。

2、强调可重用的组件绝大多数JSP页面依赖于可重用的,跨平台的组件来执行应用程序所要求的更为复杂的处理。

3、采用标识简化页面开发Web页面开发人员不会都是熟悉脚本语言的编程人员。

JSP的优缺点

一、缺点

1、JSP技术极大的增加了产品的复杂性。

2、java的高效率运行需要占用大量的内存和硬盘空间。一方面,java的高速运行是通过.class文件常驻内存来实现的,另一方面,还需要硬盘空间来存储一系列的.java文件和.class文件以及对应的版本文件。

3、JSP程序调试困难。

二、优点

1、JSP代码跨平台,即一次编写,处处运行。

2、JSP组件跨平台可重用,企业JavaBeans组件可以访问传统的数据库,并能以分布式系统模式工作于Solaris,Linux,UNIX和Windows平台。

3、支持多种网页格式。

4、JSP标签可扩充性。JSP技术允许开发者扩展JSP标签,定制JSP标签库,所以网页制作者充分利用与XML兼容的标签技术强大的功能,大大减少对脚本语言的依赖。

jsp有哪些漏洞?

JSP漏洞大观

Apache泄露重写的任意文件漏洞是怎么回事?

在Apache1.2以及以后的版本中存在一个mod_rewrite模块,它用来指定特殊URLS在网络服务器文件系统上所映射的绝对路径。如果传送一个包含正确表达参数的重写规则,攻击者就可以查看目标主机上的任意文件。

下面举例说明重写规则指令(其中第一行只有是包含漏洞的):

RewriteRule /test/(.*) /usr/local/data/test-stuff/$1

RewriteRule /more-icons/(.*) /icons/$1

RewriteRule /go/(.*)

受影响的系统:

1)Apache 1.3.12

2)Apache 1.3.11win32

3)Apache 1.2.x

不受影响系统:Apache 1.3.13

怎样解决在HTTP请求中添加特殊字符导致暴露JSP源代码文件?

Unify eWave ServletExec 是一个 Java/Java Servlet 引擎插件,主要用于 WEB 服务器,例如:Microsoft IIS, Apache, Netscape Enterprise 服务器等等。

当一个 HTTP 请求中添加下列字符之一,ServletExec 将返回 JSP 源代码文件。

.

%2E

+

%2B

\

%5C

%20

%00

成功的利用该漏洞将导致泄露指定的JSP文件的源代码,例如:使用下面的任意一个URL请求将输出指定的JSP文件的源代码:

1).

2)

3)

4)

5)\

6)

7)

8)

受影响的系统:

1)Unify eWave ServletExec 3.0c

2)Sun Solaris 8.0

3)Microsoft Windows 98

4)Microsoft Windows NT 4.0

5)Microsoft Windows NT 2000

6)Linux kernel 2.3.x

7)IBM AIX 4.3.2

8)HP HP-UX 11.4

解决方案:

如果没有使用任何静态页面或图像,可以配置一个默认的 servlet,并将"/"映射到这个默认的 servlet。这样当收到一个未映射到某个 servlet 的 URL 时,这个默认的servlet 就会被调用。在这种情况下,默认的 servlet 可以仅仅返回"未找到文件"。如果使用了静态的页面或图像,仍然可以作这样的配置,但是需要让这个默认的servlet 处理对合法的静态页面和图像的请求。

另一种可能就是将*.jsp+、*.jsp.和*.jsp\等映射到一个 servlet,而该servlet只是返回"未找到文件"。对于*.jsp%00和*.jsp%20这样的情况,映射应以未经编码的形式输入。例如,对于*.jsp%20的映射应输入"*.jsp "。注意%20被转换成一个空格字符。

Tomcat有哪些漏洞?

Tomcat 3.1 存在暴露网站路径问题

Tomcat 3.1 是在 Apache 软件环境下开发的一个支持 JSP 1.1 和 Servlets 2.2 的软件。它存在一个安全问题当发送一个不存在的 jsp 请求时会暴露网站上网页的全路径。

举例:

结果显示:

Error: 404

Location: /anything.jsp

JSP file "/appsrv2/jakarta-tomcat/webapps/ROOT/anything.jsp" not found

解决方案:升级到新版本

Tomcat 暴露JSP文件内容

Java Server Pages (JSP)类型的文件是以'.jsp'扩展名在Tomcat 上注册,Tomcat 是文件名大小写敏感的,'.jsp'和'.JSP'是不同类型的文件扩展名。如果提交有'.JSP'的链接给Tomcat,而Tomcat找不到'.JSP'就会以默认的'.text'文件类型来响应请求。因为在NT系统中大小写文件名是非敏感的,所以被请求的文件会以文本的形式送出。

如果在UNIX服务器上会出现"file not found"的错误信息。

如何在windows下对Tomcat实施代码保护

Tomcat的一些版本有泄露源代码的漏洞,如果在浏览器中调用JSP页面时将该文件的后缀改成大写,这个JSP文件的源代码将完全输出到浏览器中(也许浏览器窗口中什么都没有,这时你只需查看HTML源文件就可以发现)。如此一来,网站的源代码是不是都会暴露在互联网上那?

不用担心,解决方法很简单,把各种后缀的组合全部写到Tomcat_Home\conf \web.xml里就可以了,这样Tomcat会将不同后缀名的JSP分开对待,就不会泄露代码了。

jsp

*.jsp

jsP

*.jsP

?lt;servlet-name jSp

*.jSp

jSP

*.jSP

Jsp

*.Jsp

JsP

*.JsP

JSp

*.JSp

JSP

*.JSP

Allair Jrun漏洞有哪些漏洞?

Allair JRUN 非法读取 WEB-INF 漏洞

在Allaire 的 JRUN 服务器 2.3版本中存在一个严重的安全漏洞。它允许一个攻击者在 JRun 3.0 服务器中查看 WEB-INF 目录。

如果用户在提交 URL 请求时在,通过附加一个"/"使该 URL 成为畸形的 URL,这时 WEB-INF 下的所有子目录将会暴露出来。攻击者巧妙的利用该漏洞将能够远程获得目标主机系统中 WEB-INF 目录下的所有文件的读取权限。

例如使用下面这个 URL 将会暴露 WEB-INF 下的所有文件:

受影响的系统:Allaire JRun 3.0

解决方案:下载并安装补丁:

Allaire patch jr233p_ASB00_28_29

Windows 95/98/NT/2000 and Windows NT Alpha

Allaire patch jr233p_ASB00_28_29tar

UNIX/Linux patch - GNU gzip/tar

Allaire JRUN 2.3 查看任意文件漏洞

Allaire 的 JRUN 服务器 2.3上存在多重显示代码漏洞。该漏洞允许攻击者在 WEB 服务器上查看根目录下的任意文件的源代码。

JRun 2.3 使用 Java Servlets 解析各种各样类型的页面(例如:HTML, JSP等等)。基于rules.properties 和 servlets.properties 的文件设置,可能利用URL前缀"/servlet/"调用任何servlet。

它可能使用 Jrun 的 SSIFilter servlet 在目标系统上检索任意的文件。下列 2 个例子显示出能被用来检索任意的文件的 URLs :

est.jsp

. ./../../../../winnt/repair/sam

注意:假设JRun在主机" jrun "上运行,端口8000。

受影响的系统:Allaire JRun 2.3.x

解决方案:下载并安装补丁:

Allaire patch jr233p_ASB00_28_29

Windows 95/98/NT/2000 and Windows NT Alpha

Allaire patch jr233p_ASB00_28_29tar

UNIX/Linux patch - GNU gzip/tar Allaire JRUN 2.3远程执行任意命令漏洞

Allaire 的 JRUN 服务器 2.3上存在一个安全漏洞,允许远程用户把在 WEB 服务器上的任意文件作为JSP代码编译/执行。 如果URL请求的目标文件使用了前缀"/servlet/",则JSP解释执行功能被激活。这时在用户请求的目标文件路径中使用"../",就有可能访问到 WEB 服务器上根目录以外的文件。在目标主机上利用该漏洞请求用户输入产生的一个文件,将严重威胁到目标主机系统的安全。

例如:

/temp.txt

受影响的系统:Allaire JRun 2.3.x

解决方案:下载并安装补丁:

Allaire patch jr233p_ASB00_28_29

Windows 95/98/NT/2000 and Windows NT Alpha

Allaire patch jr233p_ASB00_28_29tar

UNIX/Linux patch - GNU gzip/tar

JRun 2.3.x 范例文件暴露站点安全信息

JRun 2.3.x 在 JRUN_HOME/servlets 目录下有一些 servlet 范例文件,这个目录是 JRun 2.3.x 用于加载和执行 servlets 文件。所有扩展名为 ".Java" 或 "class" 的文件必须被删除,这是因为这些文件会暴露站点的安全信息。例如:

会暴露当前服务器保持的HTTP连接信息。JRUN_HOME/jsm-default/services/jws/htdocs 目录下的内容也应被删除掉。这个目录保存有演示服务器功能的 '.jsp' 文件,其中一些文件牵涉到访问服务器文件系统和暴露服务器设置的问题。例如对文件 "viewsource.jsp" 的路径检查是默认关闭的,它可被用于访问服务器文件系统。

解决方案:

1)安装 2.3.3 service pack

2)从服务器上删除所有的说明文档、演示编码、范例和教材,包括安装 JRun 2.3.x 时存放于 JRUN_HOME/servlets 目录和JRUN_HOME/jsm-default/services/jws/htdocs 目录里的文档。

相关站点:

IBM WebSphere Application Server有哪些漏洞?

1、IBM WebSphere Application Server 3.0.2 存在暴露源代码漏洞

IBM WebSphere Application Server 允许攻击者查看 Web server 根目录以上的所有文件。IBM WebSphere 使用 Java Servlets 处理多种页面类型的分析(如 HTML, JSP, JHTML, 等等)。In addition 不同的 servlets 对不同的页面进行处理,如果一个请求的文件是未进行注册管理的,WebSphere 会使用一个默认的 servlet 作调用。如果文件路径以"/servlet/file/"作开头这个默认的 servlet 会被调用这个请求的文件会未被分析或编译就显示出来。

受影响系统:IBM WebSphere 3.0.2 的所有版本

举例:

如果一个请求文件的 URL 为 "login.jsp":: 那么访问 将看到这个文件的源代码。

解决方案:下载并安装补丁

相关站点:

IBM WebSphere Application Server 暴露JSP文件内容

Java Server Pages (JSP)类型的文件是以'.jsp'扩展名在WebSphere Application Serve 上注册,WebSphere 是文件名大小写敏感的,'.jsp'和'.JSP'是不同类型的文件扩展名。如果提交有'.JSP'的链接给WebSphere,而WebSphere找不到'.JSP'就会以默认的'.text'文件类型来响应请求。因为在NT系统中大小写文件名是非敏感的,所以被请求的文件会以文本的形式送出。

如果在UNIX服务器上会出现"file not found"的错误信息。

解决方案:点击此处下载补丁

相关站点:

BEA WebLogic有哪些暴露源代码漏洞?

受影响版本:

所有系统上的

BEA WebLogic Enterprise 5.1.x

BEA WebLogic Server and Express 5.1.x

BEA WebLogic Server and Express 4.5.x

BEA WebLogic Server and Express 4.0.x

BEA WebLogic Server and Express 3.1.8

这个漏洞使攻击者能读取 Web 目录下所有文件的源代码。

WebLogic 依赖四个主要 Java Servlets to 服务不同类型的文件。这些 servlets 是:

1)FileServlet - for 简单 HTML 页面

2)SSIServlet - for Server Side Includes 页面

3)PageCompileServlet - for JHTML 页面

4)JSPServlet - for Java Server 页面

看着weblogic.properties 文件, 这儿是各个 servlets 的注册值:

1)weblogic.httpd.register.file=weblogic.servlet.FileServlet

2)weblogic.httpd.register.*.shtml=weblogic.servlet.ServerSideIncludeServlet

3)weblogic.httpd.register.*.jhtml=weblogic.servlet.jhtmlc.PageCompileServlet

4)weblogic.httpd.register.*.jsp=weblogic.servlet.JSPServlet

更多的 weblogic.properties 文件, 如果一个请求文件是没有注册管理的,那么就会调用一个默认的 servlet 。以下是展示默认的 servlet 是如何注册的。

# Default servlet registration

# ------------------------------------------------

# Virtual name of the default servlet if no matching servlet

# is found weblogic.httpd.defaultServlet=file

因此如果 URL 中的文件路径开头为 "/file/" , 将会引致 WebLogic 调用默认的 servlet, 那将会使网页未加分析和编译而直接显示。

论证:

只要在想看的文件原来的 URL 路径之前加入 "/file/" 就会让文件未经分析和编译,直接暴露源代码。如: ,那么只要访问 就会在 WEB 浏览器里看到文件的内容。

以下是使用方法:

1. 通过强制使用 SSIServlet 查看未分析的页面 :

服务器站点通过 WebLogic 中的 SSIServlet 处理页面,它在weblogic.properties 文件中注册以下信息:weblogic.httpd.register.*.shtml= weblogic.servlet.ServerSideIncludeServlet

通过 URL 使用 SSIServlet 自动处理通配符 (*) 。因此 如果文件路径开头为 /*.shtml/,将强制文件由 SSIServlet 处理。如果使用其它文件类型如 .jsp 和 .jhtml, 就能查看未分析的 jsp 和 jhtml 代码。举例:*.shtml/login.jsp

2. 通过强制使用 FileServlet 查看未分析的页面 :

WebLogic 使用 FileServlet 配置 ConsoleHelp servlet ,在weblogic.properties 文件的以下内容可得知:

# For Console help. Do not modify.

weblogic.httpd.register.ConsoleHelp= weblogic.servlet.FileServlet

weblogic.httpd.initArgs.ConsoleHelp=\defaultFilename=/weblogic/admin/help/NoContent.html

weblogic.allow.execute.weblogic.servlet.ConsoleHelp=everyone

因此如果文件路径以 /ConsoleHelp/ 开头将导致 WebLogic 使用 FileServlet,使未分析或编译的文件作页面显示出来,举例:

解决方案:

不要使用示例中的设置方法设置 FileServlet 。这可能会让你的 JSP/JHTML 文件的源代码暴露出来。请查看在线文档:

示例的 registrations 如下:

weblogic.httpd.register.file=weblogic.servlet.FileServlet

weblogic.httpd.initArgs.file=defaultFilename=index.html

weblogic.httpd.defaultServlet=file

有两种方法可以避免这个问题:

(1)注册那些文件 servlet 使用随机用户名,加大猜测难度。例如使用象这样注册文件 servlet 为 12foo34:

weblogic.httpd.register.12foo34=weblogic.servlet.FileServlet

weblogic.httpd.initArgs.12foo34=defaultFilename=index.html

weblogic.httpd.defaultServlet=12foo34

(2)注册文件 servlet 使用 wild cards 声明你将使用所有这些文件扩展名作服务。举例注册文件 servlet 为 .html 文件服务:

weblogic.httpd.register.*.html=weblogic.servlet.FileServlet

weblogic.httpd.initArgs.*.html=defaultFilename=index.html

weblogic.httpd.defaultServlet=*.html

使用上面的方法重复加入以下类型的文件 *.gif, *.jpg, *.pdf, *.txt, etc.

注意:这些信息是备有证明在 BEA WebLogic Server and Express 说明档的:

另:请留意新版本并升级吧。

如何给JSP服务器Resin加上SSL认证

为最佳JSP服务器Resin加上SSL认证

Resin主要是作为WEB服务器的jsp/servlets运行平台。它支持许多WEB服务器软件,而且是完全免费的,并提供了对SUN的J2EE的支持,这要比其它相关的java和javascript开发和运行平台要好的多,而且速度非常快,并提供服务器端直接开发、编译和运行。因此,Resin受到了许多应用JSP的WEB站点的支持。

一、 在WEB服务器中使用OpenSSL套件

1、安装OpenSSL

想要Resin可以响应SSL请求,我们就必需保证WEB服务器上已经安装好了相关的SSL套件。对于中小企业来说,开源免费的OpenSSL提供与SSL相同的认证功能。

OpenSSL的Linux版本可以在网站上下载。现在它的最新版本是OpenSSL 0.9.8j。

Resin通过它的libexec/libresinssl.so JNI库文件提供对OpenSSL的支持。如果是在类Linux系统下使用OpenSSL,在安装时可以通过下列命令将它安装到指定的位置:

./configure --with-openssl=/usr/local/ssl

如果我们是在Windows系统中使用Resin,那么,我们同样需要在此操作系统下先安装好OpenSSL。Windows下的OpenSSL在下载,它的最新安装文件是Win32OpenSSL-0_9_8j.exe,其大小为7MB左右。

在Windows系统下,Resin的resinssl.dll文件中包含提供对OpenSSL支持的代码。(在Resin3.0以前的版本是通过resin.dll文件提供支持的。)因此,在Windows系统下只需要安装好OpenSSL就可以让Resin使用它了。OpenSSL在Windows系统下很容易安装,就如同安装其它的应用程序一样简单。

不过,在Windows系统下安装完OpenSSL后,还应当将一些需要的DLL文件复制到Resin的根目录当中。现在假设Resin安装在c:\resin-3.2.1目录,OpenSSL安装在c:\Program Files\GnuWin32目录。现在打开系统开始菜单的“运行”对话框,在运行框中输入CMD命令,回车后进入命令行终端界面。然后在命令行终端下就可以通过下列所示的命令将OpenSSL安装目录下的相关文件复制到Resin的根目录下:

cd resin-3.2.1

copy c:\Program Files\GnuWin32\bin\libssl32.dll c:\resin-3.2.1\libssl32.dll

copy c:\Program Files\GnuWin32\bin\libeay32.dll c:\resin-3.2.1\libeay32.dll

2、生成SSL认证私钥

SSL认证的密钥由OpenSSL来生成,生成后的密钥应当保存到相应的Resin目录中。因此,在生成密钥前,我们可以在Resin根目录中创建一个keys子目录用来保存将要创建的密钥。在类Linux系统下,我们可以通过下列方式来创建keys目录:

cd /resin

mkdir keys

在Windows系统下,我们可以在资源管理器中直接在Resin根目录下创建一个新文件夹,并命名为keys即可。

在生成密钥时,OpenSSL会根据其配置文件中设置的内容来生成。在类Linux系统下,这个缺省的配置文件可能在usr/ssl/openssl.cnf或/usr/share/ssl/openssl.cnf下。而Windows系统中不存在这样的文件。

当然,我们还可以自己创建一个相应的配置文件保存到Resin/keys/目录下。这样,在创建密钥时,OpenSSL也会根据这个配置文件中的内容来创建,而且,在创建密钥时不会要求我们根据提示输入缺省的相关信息了。

下面是一个openssl.cnf配置文件的相关内容实例:

[ req ]

default_bits = 1024 #在这里填入加密键的缺省位数

distinguished_name = req的名称

[ req_distinguished_name ]

C = 在这里填入国家的代码,例如CN,代表中国

C_default =

ST = 这里填写州或省名称

ST_default =

L = 城市

L_default =

O = 企业或机构名称

O_default =

OU = 组织中某个部门的名称,例如市场部

OU_default =

CN = 我们的网站域名,必需是全名,例如

CN_default =

emailAddress = 联系的E-Mail邮箱地址

emailAddress_default =

完成OpenSSL配置文件的相关设置后,我们就可以开始为SSL认证创建一个私钥。在WEB服务器上创建私钥时,会要求我们输入相应的密码,这个密码将会在我们使用创建的私钥时要求被输入。因此要牢记这个密码并妥善地保管它。我们还必需将这个密码加入到Resin的配置文件当中。

在类Linux系统下创建私钥时,私钥的文件名可以由我们自己决定,可以通过下列所示命令来完成:

openssl genrsa -des3 -out myprikey.key 1024

在Windows系统下创建私钥。得先进入命令行终端界面,然后用CD命令切换到OpenSSL安装目录,再用下列命令产生私钥;

c:\Program Files\GnuWin32\bin\openssl.exe genrsa -des3 -out myprikey.key 1024

二、 创建或申请SSL证书:

为了能够加密与用户的会话数据,我们还必需为SSL认证创建或申请一个公钥证书。这个公钥证书在使用时会由Resin发送给用户的浏览器,以便浏览器能够加密其发送的数据。公钥证书可以由OPENSSL产生一个自签名证书,也可以到第三方SSL证书颁发机构申请一个公钥证书。要注意的是,自签名证书将不能被其浏览器所承认。

1、创建一个自签名证书

当我们只是用来测试WEB服务器的SSL安全连接,或者只是作为企业远程办公之用时,那么创建一个自签名证书将会为我们节省一笔小钱。但是,对于这样的自签证书,WEB浏览器是不会承认的,还会为此弹出一个警告框来提醒用户这个证书不是一个公认的SSL证书。不过,用户浏览器与WEB服务器之间的会话数据仍然是被SSL加密了的。

在类Linux系统下创建自签名证书,可以使用下列命令来完成:

openssl req -config ./openssl.cnf -new -key myprikey.key -x509 -out myself.crt

在Windows系统下创建自签名证书,在字符终端用CD命令进入OpenSSL安装目录后,可以通过下列命令完成:

c:\Program Files\GnuWin32\bin\openssl.exe req -config ./openssl.cnf -new -key myprikey.key -x509 -out myself.crt

其中,自签名证书的名称可以由我们自己决定,例在本例中为myself.crt,而“-key”参数后带的键文件是在上面我们创建的私钥文件,而命令中的“./openssl.cnf”表示当前目录下的OpenSSL的配置文件。

如果我们没有按前文所述方式生成一个OpenSSL配置文件,或者没有修改此配置文件中的缺少配置值,那么在创建过程中会要求我们提供一些基本的与WEB服务器相关的身份资料,例如企业名称和网站域名等信息。

2、创建一个证书请求文件

如果要使用第三方证书颁发机构上的证书,那么就必需先创建一个证书请求文件(CSR)。这个证书请求文件中包含有证书的公钥、企业名称、加密位数、地址和网站域名等信息。

当我们在第三方证书颁发机构上申请证书时,就会要求我们提交这个证书请求文件,然后,证书颁发机构才能将SSL证书颁发给我们。现在提供SSL证书的机构有许多,例如VeriSign公司就是其中最著名的代表。在生成证书请求文件时一定要注意,我们使用什么样的WEB服务器软件,就必需生成与它相兼容的证书请求文件,这样,SSL证书颁发机构颁发给我们的证书才能在此WEB服务器下使用。

在Linux系统下生成证书请求文件,可以使用下列命令达到目的:

openssl req -new -config ./openssl.cnf -key myprikey.key -out myprikey.csr

在Windows系统下生成证书请求文件,在命令行界面中通过CD命令进入OpenSSL安装目录后,通过下列命令来完成证书请求文件的生成:

c:\Program Files\GnuWin32\bin\openssl.exe req -new -config ./openssl.cnf -key myprikey.key –out myprikey.csr

证书请求文件的文件名可以由我们自己来决定,在本文中为myprikey.csr。在生成证书请求文件过程中会要求我们输入一些与WEB服务器身份相关的信息,例如网站域名和企业名称等。我们必需按要求如实填写。

当我们成功注册,并支付相应的年使用费之后,这些证书颁发机构就会将SSL证书发送到我们填写的电子邮箱当中。

三、 配置Resin使用私钥和SSL证书

要想Resin能够使用SSL认证,我们还必需对其配置文件resin.conf做相应的设置。具体要配置的内容包括:

...

keys/ myself.crt

keys/ myprikey.key

mypassword

其中,中的内容表示SSL连接使用的默认端口号,如果没有特别要求,可以保持默认。和之间的内容填入Resin可以使用的SSL认证公钥,在这里为myself.crt。和之间的内容填入Resin可以使用的私钥,在本文中为myprikey.key。至于和之间就是填入我们在创建私钥时设置的密码。

四、 测试Resin的SSL加密连接

当我们配置好Resin的SSL认证后,我们还可以通过一些方式来检验我们的配置是否正确。

在Windows系统下,我们就可以通过在WEB浏览器地址栏中输入(企业网站的域名)的方式,来验证WEB服务器是否对这样的URL地址做出正确响应。如果返回正常的内容,并且在WEB浏览器地址栏中显示出一个挂锁的标志,那么,Resin的SSL配置就算成功了。

在Linux系统下,除了可以上述方式来检验外,还可以通过下列方式来验证:

openssl s_client -connect –prexit

另外,我们还可以通过下列的JSP脚本来快速验证Resin是否对SSL做出反应:

Secure? %= request.isSecure() %

经过上述的检验操作后,如果都能得到WEB服务器的正确响应,那么就说明Resin已经能够提供对SSL技术的支持了。

也就是说,当用户通过WEB浏览器向WEB服务器发送一个SSL请求时,Resin就会为这个WEB浏览器提供SSL认证的公共密钥,然后,这个WEB浏览器就可以使用这个公共密钥来加密数据,而Resin将使用WEB服务器的SSL私钥对加密的数据进行解密。

jsp中都有哪些注释方式?为了提高站点的安全性,应该采用哪种注释方式?

今天在弄JSTL标签的时候,用到了c:redirect重定向标签的时候遇到一个很是蛋疼的问题,就是当我测试完成这个标签的时候,我想测试其他的内容,由于它是重定向的(浏览器地址会发生改变的),这样肯定会影响我后面的测试,于是我就想把这行代码注释了:

!--c:redirect url="/include.jsp"/c:redirect--

然后测试其他的内容了,但是问题来了,我每次刷新浏览器的时候,还是重定向了,我就纳闷了,这句话不是注释了吗?怎么还是执行了,然后我就把这句话删除了,这时候就好了,此时就怀疑这个注释到底有没有用,然后上网查看资料,知道这种注释对于Jsp是没有用的,它是html/xml的原版注释,应该使用

%--c:redirect url="/include.jsp"/c:redirect--%

这个注释就可以了,随后又想起来了,还有Java中原版注释://和/**/,其实也可以这样注释的:

%//--c:redirect url="/include.jsp"/c:redirect--%,

这个和上面的两种有什么区别呢?这时候就可能需要jsp的执行过程了,这里就简单说一下:每个jsp页面都会被jsp引擎翻译成servlet.java的,具体内容可以到tomcat目录下的work文件夹中的项目工程中找到对应的文件,所以最后一种注释是彻底的注释了,因为他在servlet.java中就被注释了,而前面的两种注释在servlet.java代码中是没有被注释的,下面就是servlet.java中的代码片段:

使用%//....%注释的:

out.write(" --\r\n");

out.write(" brbr\r\n");

out.write(" \r\n");

out.write(" !-- c:redirect标签的使用:重定向打开include.jsp页面 --\r\n");

out.write(" ");

//c:redirect url="/include.jsp"/c:redirect

这里可以看到,这句话直接被注释了,即:Jsp中%...%中的内容会原封不动的翻译成servlet.java

使用%----%注释的:

out.write(" --\r\n");

out.write(" brbr\r\n");

out.write(" \r\n");

out.write(" !-- c:redirect标签的使用:重定向打开include.jsp页面 --\r\n");

out.write(" ");

使用!----注释的:

out.write(" --\r\n");

out.write(" brbr\r\n");

out.write(" \r\n");

out.write(" !-- c:redirect标签的使用:重定向打开include.jsp页面 --\r\n");

out.write(" !--");

if (_jspx_meth_c_005fredirect_005f0(_jspx_page_context))

return;

综上所述可以发现,原因可能在于那段代码:

if (_jspx_meth_c_005fredirect_005f0(_jspx_page_context))

return;

这个方法是针对redirect标签的做判断的,所以原因就在这个方法内部,可以自行查看,需要注意的是,如果使用%...%和%----%的话,servelet.java中是没有这个方法的,这一点更能说明为什么!----注释没有效果了!

总结:

1.第一种注释:

!--注释内容--

这是HTML/XML的原版注释,会老老实实的发到客户端的,有什么见不得人的就别用这个写了

2.第二种注释:

%--注释内容--%

有% %的东西都是写给JSP应用服务器看的,不会发到客户端的。编译器将其置之不理,html也无缘与其相见,被应用服务器打入冷宫了。这个注释感觉比较多余,不知道专门又搞一个这种注释干什么。

3.第三种注释:

%

//当行注释

/**

多行注释

*/

%

asp与jsp的安全性的比较

asp(active server pages)是活动服务器文档,可以说是现在国内网上最流行的语言,它主要使用VBScript和JavaScript两种脚本语言编程。但有一个弊端,那就是安全性能太差。

JSP(Java Server Pages)是用JAVA语言作为脚本语言的,JSP网页为整个服务器端的JAVA库单元提供了一个接口来服务于HTTP的应用程序。速度快,功能强大,安全性高是它与asp最大区别,JSP由于是一种较新的技术,国内采用的较少。但在国外,JSP已经是比较流行的一种技术,尤其是电子商务类的网站,多采用JSP。

JSP比ASP好一点

关于jsp服务器安全和jsp安全性的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

取消
扫码支持 支付码