久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

java(Web)中相對(duì)路徑,絕對(duì)路徑問(wèn)題總結(jié)

時(shí)間:2019-05-15 12:35:11下載本文作者:會(huì)員上傳
簡(jiǎn)介:寫(xiě)寫(xiě)幫文庫(kù)小編為你整理了多篇相關(guān)的《java(Web)中相對(duì)路徑,絕對(duì)路徑問(wèn)題總結(jié)》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫(xiě)寫(xiě)幫文庫(kù)還可以找到更多《java(Web)中相對(duì)路徑,絕對(duì)路徑問(wèn)題總結(jié)》。

第一篇:java(Web)中相對(duì)路徑,絕對(duì)路徑問(wèn)題總結(jié)

1.基本概念的理解

絕對(duì)路徑:絕對(duì)路徑就是你的主頁(yè)上的文件或目錄在硬盤(pán)上真正的路徑,(URL和物理路徑)例如:

C:xyztest.txt 代表了test.txt文件的絕對(duì)路徑。http:///index.htm也代表了一個(gè)URL絕對(duì)路徑。

相對(duì)路徑:相對(duì)與某個(gè)基準(zhǔn)目錄的路徑。包含Web的相對(duì)路徑(HTML中的相對(duì)目錄),例如:在Servlet中,“/”代表Web應(yīng)用的跟目錄。和物理路徑的相對(duì)表示。例如:“./” 代表當(dāng)前目錄,“../”代表上級(jí)目錄。這種類(lèi)似的表示,也是屬于相對(duì)路徑。

另外關(guān)于URI,URL,URN等內(nèi)容,請(qǐng)參考RFC相關(guān)文檔標(biāo)準(zhǔn)。

RFC 2396: Uniform Resource Identifiers(URI): Generic Syntax,(http://和javascript中的相對(duì)地址,他們是由客戶端瀏覽器解析的)也就是說(shuō)這時(shí)候在jsp和servlet中的相對(duì)地址應(yīng)該是相對(duì)于你的web應(yīng)用,即相對(duì)于http://192.168.0.1/webapp/的。

其用到的地方有:

forward:servlet中的request.getRequestDispatcher(address);這個(gè)address是

在服務(wù)器端解析的,所以,你要forward到a.jsp應(yīng)該這么寫(xiě):

request.getRequestDispatcher(“/user/a.jsp”)這個(gè)/相對(duì)于當(dāng)前的web應(yīng)用webapp,其絕對(duì)地址就是:http://192.168.0.1/webapp/user/a.jsp。

sendRedirect:在jsp中<%response.sendRedirect(“/rtccp/user/a.jsp”);%>

2.22、客戶端的地址

所有的html頁(yè)面中的相對(duì)地址都是相對(duì)于服務(wù)器根目錄(http://192.168.0.1/)的,而不是(跟目錄下的該Web應(yīng)用的目錄)http://192.168.0.1/webapp/的。

Html中的form表單的action屬性的地址應(yīng)該是相對(duì)于服務(wù)器根目錄(http://192.168.0.1/)的,所以,如果提交到a.jsp為:action=“/webapp/user/a.jsp”或action=“<%=request.getContextPath()%>”/user/a.jsp;

提交到servlet為actiom=“/webapp/handleservlet”

Javascript也是在客戶端解析的,所以其相對(duì)路徑和form表單一樣。

因此,一般情況下,在JSP/HTML頁(yè)面等引用的CSS,Javascript.Action等屬性前面最好都加上

<%=request.getContextPath()%>,以確保所引用的文件都屬于Web應(yīng)用中的目錄。

另外,應(yīng)該盡量避免使用類(lèi)似“.”,“./”,“../../”等類(lèi)似的相對(duì)該文件位置的相對(duì)路徑,這樣當(dāng)文件移動(dòng)時(shí),很容易出問(wèn)題。

3.JSP/Servlet中獲得當(dāng)前應(yīng)用的相對(duì)路徑和絕對(duì)路徑

3.1 JSP中獲得當(dāng)前應(yīng)用的相對(duì)路徑和絕對(duì)路徑

根目錄所對(duì)應(yīng)的絕對(duì)路徑:request.getRequestURI()

文件的絕對(duì)路徑:application.getRealPath(request.getRequestURI());

當(dāng)前web應(yīng)用的絕對(duì)路徑 :application.getRealPath(“/”);

取得請(qǐng)求文件的上層目錄File(application.getRealPath(request.getRequestURI())).getParent()

3.2 Servlet中獲得當(dāng)前應(yīng)用的相對(duì)路徑和絕對(duì)路徑

根目錄所對(duì)應(yīng)的絕對(duì)路徑:request.getServletPath();

文件的絕對(duì)路徑:request.getSession().getServletContext().getRealPath

(request.getRequestURI())

當(dāng)前web應(yīng)用的絕對(duì)路徑 :servletConfig.getServletContext().getRealPath(“/”);

(ServletContext對(duì)象獲得幾種方式:

javax.servlet.http.HttpSession.getServletContext()

javax.servlet.jsp.PageContext.getServletContext()

javax.servlet.ServletConfig.getServletContext())

4.java 的Class中獲得相對(duì)路徑,絕對(duì)路徑的方法

4.1單獨(dú)的Java類(lèi)中獲得絕對(duì)路徑

根據(jù)java.io.File的Doc文擋,可知:

默認(rèn)情況下new File(“/”)代表的目錄為:System.getProperty(“user.dir”)。

一下程序獲得執(zhí)行類(lèi)的當(dāng)前路徑

package org.cheng.file;

import java.io.File;

public class FileTest {

public static void main(String[] args)throws Exception {

System.out.println(Thread.currentThread().getContextClassLoader().getResource(“"));

System.out.println(FileTest.class.getClassLoader().getResource(”“));

System.out.println(ClassLoader.getSystemResource(”“));:new

System.out.println(FileTest.class.getResource(”“));

System.out.println(FileTest.class.getResource(”/“));//Class文件所在路徑

System.out.println(new File(”/“).getAbsolutePath());

System.out.println(System.getProperty(”user.dir“));

}

}

4.2服務(wù)器中的Java類(lèi)獲得當(dāng)前路徑(來(lái)自網(wǎng)絡(luò))

(1).Weblogic

WebApplication的系統(tǒng)文件根目錄是你的weblogic安裝所在根目錄。

例如:如果你的weblogic安裝在c:beaweblogic700.....那么,你的文件根路徑就是c:.所以,有兩種方式能夠讓你訪問(wèn)你的服務(wù)器端的文件:

a.使用絕對(duì)路徑:

比如將你的參數(shù)文件放在c:yourconfigyourconf.properties,直接使用 new FileInputStream(”yourconfig/yourconf.properties“);

b.使用相對(duì)路徑:

相對(duì)路徑的根目錄就是你的webapplication的根路徑,即WEB-INF的上一級(jí)目錄,將你的參數(shù)文件放

在yourwebappyourconfigyourconf.properties,這樣使用:

new FileInputStream(”./yourconfig/yourconf.properties“);

這兩種方式均可,自己選擇。

(2).Tomcat

在類(lèi)中輸出System.getProperty(”user.dir“);顯示的是%Tomcat_Home%/bin

(3).Resin

不是你的JSP放的相對(duì)路徑,是JSP引擎執(zhí)行這個(gè)JSP編譯成SERVLET的路徑為根.比如用新建文件法測(cè)試File f = new File(”a.htm“);

這個(gè)a.htm在resin的安裝目錄下

(4).如何讀相對(duì)路徑哪?

在Java文件中g(shù)etResource或getResourceAsStream均可

例:getClass().getResourceAsStream(filePath);//filePath可以是”/filename",這里的/代表web

發(fā)布根路徑下WEB-INF/classes

默認(rèn)使用該方法的路徑是:WEB-INF/classes。已經(jīng)在Tomcat中測(cè)試。

5.讀取文件時(shí)的相對(duì)路徑,避免硬編碼和絕對(duì)路徑的使用。(來(lái)自網(wǎng)絡(luò))

5.1 采用Spring的DI機(jī)制獲得文件,避免硬編碼。

參考下面的連接內(nèi)容:

java文件操作詳解(Java中文網(wǎng))

總結(jié):

通過(guò)上面內(nèi)容的使用,可以解決在Web應(yīng)用服務(wù)器端,移動(dòng)文件,查找文件,復(fù)制刪除文件等操作,同時(shí)對(duì)服務(wù)器的相對(duì)地址,絕對(duì)地址概念更加清晰。

建議參考URI,的RFC標(biāo)準(zhǔn)文擋。同時(shí)對(duì)Java.io.File.Java.net.URI.等內(nèi)容了解透徹對(duì)其他方面的理解可以更加深入和透徹。

====================================

參考資料:

java/docs/

java.io.File

java.io.InputStream

java.io.OutputStream

java.io.FileInputStream

java.io.FileReader;

java.io.FileOutputStream

java.io.FileWriter;

java.net.URI

java.net.URL

絕對(duì)路徑與相對(duì)路徑祥解

[『J道習(xí)練』]JSP和Servlet中的絕對(duì)路徑和相對(duì)路徑

通過(guò)Spring注入機(jī)制,取得文件

Java文件操作詳解

第二篇:javaWeb總結(jié)+小結(jié)

JavaWeb B/S與C/S的區(qū)別

1,從安裝上來(lái)講,B/S只需要在服務(wù)器端安裝即可,而C/S卻需要每一個(gè)客戶端進(jìn)行安裝。2,從部署上來(lái)說(shuō),B/S只需要服務(wù)器能夠支持即可,而C/S卻對(duì)每一個(gè)客戶端的電腦提出了要求。

3,從升級(jí),維護(hù)角度來(lái)說(shuō),B/S只需要在服務(wù)器端升級(jí)維護(hù)即可,像網(wǎng)易的郵箱,而C/S卻是服務(wù)器更新維護(hù)一次,客戶端就要下載相關(guān)的補(bǔ)丁才能使用 4,從安全性來(lái)講,B/S是基于服務(wù)器的,較之C/S安全性好

5,從本質(zhì)上來(lái)說(shuō),B/S是基于請(qǐng)求驅(qū)動(dòng)的,即客戶端發(fā)送一個(gè)Http請(qǐng)求,然后服務(wù)器進(jìn)行處理之后,響應(yīng)給客戶端,而C/S卻是基于事件驅(qū)動(dòng)的,像騰訊的QQ。

6,從耦合度來(lái)講,B/S與服務(wù)器端耦合,而C/S卻是與客戶端的操作系統(tǒng)進(jìn)行耦合。但是Client/Server(從游戲的角度來(lái)講)較之Brows/Server具有優(yōu)質(zhì)的畫(huà)面。

Servlet的使用步驟:

1,創(chuàng)建一個(gè)JAVA類(lèi),存放在com.fit.servlet包中,并且此類(lèi)extends HttpServlet類(lèi),才能成為一個(gè)Servlet 2,覆寫(xiě)doGet()和doPost()方法

3,最后,在web.xml文件中進(jìn)行Servlet配置。具體的配置如下:

Servlet類(lèi)名

完整的包.類(lèi)名稱(chēng)

Servlet類(lèi)名

網(wǎng)頁(yè)訪問(wèn)的名稱(chēng),例如/hello Servlet的生命周期,作用,并說(shuō)出和CGI(Common Gateway Interface)的區(qū)別

就是指Servlet從創(chuàng)建出實(shí)例對(duì)象到銷(xiāo)毀的過(guò)程。它是一個(gè)容器,負(fù)責(zé)創(chuàng)建實(shí)例來(lái)接受客戶端的請(qǐng)求,并且以多線程的方式響應(yīng)給客戶。具體過(guò)程如下:

Servlet被服務(wù)器實(shí)例化之后,容器運(yùn)行其init方法進(jìn)行初始化,請(qǐng)求到達(dá)時(shí)運(yùn)行其service方法,在此過(guò)程中僅創(chuàng)建一個(gè)對(duì)象,然后service方法自動(dòng)調(diào)用與請(qǐng)求相應(yīng)的doXxx方法,當(dāng)服務(wù)器決定將實(shí)例進(jìn)行銷(xiāo)毀時(shí),再調(diào)用其destroy方法。

與CGI(通用網(wǎng)關(guān)接口)的區(qū)別在于,Servlet處于服務(wù)器進(jìn)程中,它通過(guò)多線程的方式運(yùn)行其service方法,一個(gè)實(shí)例可以服務(wù)于多個(gè)請(qǐng)求,并且其實(shí)例一般不會(huì)銷(xiāo)毀,而CGI對(duì)每一個(gè)請(qǐng)求都產(chǎn)生新的進(jìn)程,服務(wù)完成后就銷(xiāo)毀,所以效率低于Servlet 作用:可以用來(lái)進(jìn)行接收客戶端的請(qǐng)求,也可以進(jìn)行請(qǐng)求流的控制。

Http協(xié)議:(了解)

首先它是(Hypertext Transfer Protocol)超文本傳輸協(xié)議。

HTTP報(bào)文由從客戶機(jī)到服務(wù)器的請(qǐng)求和從服務(wù)器到客戶機(jī)的響應(yīng)構(gòu)成。請(qǐng)求報(bào)文格式如下:

請(qǐng)求行 - 通用信息頭 - 請(qǐng)求頭 - 實(shí)體頭 - 報(bào)文主體

請(qǐng)求行以方法字段開(kāi)始,后面分別是 URL 字段和 HTTP 協(xié)議版本字段,并以 CRLF 結(jié)尾。

應(yīng)答報(bào)文格式如下:

狀態(tài)行 - 通用信息頭 - 響應(yīng)頭 - 實(shí)體頭 - 報(bào)文主體

狀態(tài)碼元由3位數(shù)字組成,表示請(qǐng)求是否被理解或被滿足。原因分析是對(duì)原文的狀態(tài)碼作簡(jiǎn)短的描述,狀態(tài)碼用來(lái)支持自動(dòng)操作,而原因分析用來(lái)供用戶使用。客戶機(jī)無(wú)需用來(lái)檢查或顯示語(yǔ)法。工作流程:

一次HTTP操作稱(chēng)為一個(gè)事務(wù),其工作過(guò)程可分為四步:

首先客戶機(jī)與服務(wù)器需要建立連接。只要單擊某個(gè)超級(jí)鏈接,HTTP的工作就開(kāi)始了。

建立連接后,客戶機(jī)發(fā)送一個(gè)請(qǐng)求給服務(wù)器,請(qǐng)求方式的格式為:統(tǒng)一資源標(biāo)識(shí)符(URL)、協(xié)議版本號(hào),后邊是MIME信息包括請(qǐng)求修飾符、客戶機(jī)信息和可能的內(nèi)容。

服務(wù)器接到請(qǐng)求后,給予相應(yīng)的響應(yīng)信息,其格式為一個(gè)狀態(tài)行,包括信息的協(xié)議版本號(hào)、一個(gè)成功或錯(cuò)誤的代碼,后邊是MIME信息包括服務(wù)器信息、實(shí)體信息和可能的內(nèi)容。

客戶端接收服務(wù)器所返回的信息通過(guò)瀏覽器顯示在用戶的顯示屏上,然后客 戶機(jī)與服務(wù)器斷開(kāi)連接。

Javascript的作用:

1,進(jìn)行驗(yàn)證(通過(guò)正則表達(dá)式,在css+HTML的部分特性進(jìn)行瀏覽器端的格式驗(yàn)證工作)

2,進(jìn)行交互(將客戶端的一個(gè)請(qǐng)求通過(guò)JavaScript可以發(fā)送到服務(wù)器端,也可以在瀏覽器端進(jìn)行人機(jī)的交互,突破了以前靜態(tài)頁(yè)面的交互性限制)3,進(jìn)行特效的處理,如走馬燈,時(shí)間時(shí)鐘。

Servlet生命周期:(詳細(xì))是指Servlet實(shí)例從被創(chuàng)建到其消失(對(duì)象銷(xiāo)毀,回收)中間的時(shí)間及各個(gè)階段,稱(chēng)之為Servlet生命周期。

前提:web服務(wù)器加載類(lèi)。之后執(zhí)行以下過(guò)程:

1,實(shí)例化:Servlet容器創(chuàng)建Servlet實(shí)例,具體就是當(dāng)接收到客戶端的第一次請(qǐng)求時(shí),Servlet容器負(fù)責(zé)創(chuàng)建Servlet的一個(gè)實(shí)例。且在此過(guò)程中僅創(chuàng)建一個(gè)實(shí)例,通過(guò)多線程的方式響應(yīng)客戶端的請(qǐng)求

2,初始化:該容器調(diào)用init()方法。

3,服務(wù):當(dāng)請(qǐng)求到達(dá)時(shí),該Servlet容器自動(dòng)調(diào)用server()方法,根據(jù)客戶端發(fā)送請(qǐng)求的方式,選擇doXxx()方法執(zhí)行

4,銷(xiāo)毀:當(dāng)web服務(wù)器被卸載的時(shí)候,調(diào)用destroy()方法進(jìn)行對(duì)象的銷(xiāo)毀。請(qǐng)看以下的一段代碼: package com.fit.servlet;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class Test extends HttpServlet { private static final long serialVersionUID = 1L;

public Test(){

super();

System.out.println(“===========================”);

} public void destroy(){

System.out.println(“對(duì)象被銷(xiāo)毀!”);} public void init()throws ServletException {

System.out.println(“對(duì)象初始化!”);} protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {

System.out.println(“get方法執(zhí)行”);} protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {

this.doGet(request, response);} protected void service(HttpServletRequest arg0, HttpServletResponse arg1)

throws ServletException, IOException {

System.out.println(“服務(wù)開(kāi)始啟動(dòng)了!”);

super.service(arg0, arg1);}

}運(yùn)行效果如下:

=========================== 對(duì)象初始化!服務(wù)開(kāi)始啟動(dòng)了!

get方法執(zhí)行

2011-7-19 12:07:04 org.apache.catalina.core.StandardContext reload 信息: Reloading this Context has started 對(duì)象被銷(xiāo)毀!

分析原因:

1,實(shí)例化對(duì)象發(fā)生在客戶端請(qǐng)求第一次到達(dá)的時(shí)候,而不是類(lèi)被加載的時(shí)候。2,對(duì)象只被實(shí)例化一次.3,如果service()被覆寫(xiě)的話,則調(diào)用的時(shí)候加入super.service(arg0, arg1);這句話時(shí)候才可以清楚的調(diào)用的doXxx()方法,如果不加入此句話,那么將不會(huì)執(zhí)行doGet()方法。所以一般不要覆寫(xiě)service()方法。只需要覆寫(xiě)doGet()和doPost()方法。

4,當(dāng)web服務(wù)器被卸載的時(shí)候,將執(zhí)行destroy()方法。進(jìn)行對(duì)象的銷(xiāo)毀!

Jsp頁(yè)面構(gòu)成元素,Jsp跟Html的區(qū)別,優(yōu)勢(shì)

Jsp定義:(Java Server Page)Java服務(wù)器端語(yǔ)言,組成如下: 1,靜態(tài)模板:由HTML,css,JavaScript等元素構(gòu)成。

2,指令:設(shè)定網(wǎng)頁(yè)元素的屬性,用于提供這個(gè)歌JSP網(wǎng)頁(yè)的相關(guān)信息。

3,腳本元素--聲明:<%!...%>,在此之中可以進(jìn)行變量,常量的定義,類(lèi),方法都可以聲明,但是一般不用。

4,腳本元素--Java腳本:<%...%>,在此期間可以進(jìn)行Java代碼的拼寫(xiě)。5,腳本元素--表達(dá)式:<%=..%>,用于表達(dá)式輸出時(shí)使用。

6,動(dòng)作:利用JSP動(dòng)作可以重用JavaBean組件,可以動(dòng)態(tài)的包含頁(yè)面,也可以進(jìn)行服務(wù)器端的跳轉(zhuǎn)(即將用戶的請(qǐng)求轉(zhuǎn)發(fā)給其他的頁(yè)面)。7,注釋?zhuān)?/p>

--HTML注釋?zhuān)?!---->,此種注釋可以在頁(yè)面中看到,成為客戶端注釋。--Jsp注釋?zhuān)?%----%>,此種注釋在頁(yè)面中看不到,也成為服務(wù)器端注釋。--Java注釋?zhuān)?/p>

?單行注釋?zhuān)?/ ?多行注釋?zhuān)?*???*/ Jsp優(yōu)點(diǎn):使用HTML,CSS等技術(shù)構(gòu)建頁(yè)面的模板部分,用Java語(yǔ)言根據(jù)用戶的輸入動(dòng)態(tài)生成可變的內(nèi)容部分。既可以實(shí)現(xiàn)HTML控制頁(yè)面布局,也亦可以實(shí)現(xiàn)Servlet的功能,實(shí)現(xiàn)了內(nèi)容與表示分離。Jsp的常見(jiàn)指令,并說(shuō)出靜態(tài)包含和動(dòng)態(tài)包含的區(qū)別

Page指令:<%@ page language=”java” import=” 完整的包.類(lèi)名稱(chēng)” autoFlush=”true[false]” errorPage=”文件名” isErrorPage=”false[true]” isThreadSafe(設(shè)置是否能多線程使用)contentType=”text/html;charset=ISO-8859-1” %> 包含指令:<%@ include file=”文件名”%> taglib指令:此指令用于在Jsp頁(yè)面中引入用戶自定義的標(biāo)簽庫(kù)。例如: <@% taglib url=http://java.sun.com/jsp/jstl/core prefix=”c”%> 靜態(tài)包含跟動(dòng)態(tài)包含的區(qū)別:

<%@ include file=”文件名%>,此包含屬于靜態(tài)包含,是指先將文件包含進(jìn)來(lái)然后在進(jìn)行編譯,編譯后生成的class文件中,被包含的文件在靜態(tài)塊中。且此種包含不允許帶參數(shù)。

此種包含屬于動(dòng)態(tài)包含,先解釋再包含進(jìn)來(lái)結(jié)果,即只有在客戶端進(jìn)行請(qǐng)求時(shí)才會(huì)被動(dòng)態(tài)的編譯載入,在生成的class類(lèi)中,它被請(qǐng)求一次就被創(chuàng)建一次。且此種被包含頁(yè)面可以取得包含它的頁(yè)面的參數(shù)。

Jsp常見(jiàn)的動(dòng)作,?調(diào)用JavaBean相關(guān):

?,調(diào)用此動(dòng)作,可以用于實(shí)例化JavaBean,或者定位一個(gè)已經(jīng)存在的JavaBean的實(shí)例,并把實(shí)例的引用賦給一個(gè)變量。

?,通過(guò)這個(gè)動(dòng)作可以取得JavaBean對(duì)象的屬性

?或者通過(guò)此動(dòng)作,可以用來(lái)設(shè)置JavaBean的簡(jiǎn)單屬性和索引屬性,此動(dòng)作的name屬性必須與總的id屬性相匹配。當(dāng)JavaBean的屬性名與請(qǐng)求參數(shù)名相同的情況下,可以使用property=“*”的方式為多個(gè)JavaBean的屬性同時(shí)賦值,如: ?jsp頁(yè)面通信:

?:此動(dòng)作用來(lái)在當(dāng)前Jsp包含動(dòng)態(tài)和靜態(tài)文件的輸出結(jié)果,可以和配合使用,向嵌入的Jsp頁(yè)面?zhèn)鬟f參數(shù)

?:此動(dòng)作用來(lái)從當(dāng)前Jsp頁(yè)面轉(zhuǎn)向其他頁(yè)面,并傳遞Request對(duì)象,response對(duì)象,該標(biāo)簽后面的代碼將不會(huì)被執(zhí)行。Jsp的內(nèi)置對(duì)象,四種作用域的通信對(duì)象的范圍

?輸入/輸出對(duì)象

?request:表示客戶端對(duì)網(wǎng)頁(yè)的請(qǐng)求

?response:用于處理Jsp生成的響應(yīng),使用Http協(xié)議將響應(yīng)發(fā)送給客戶端。

?out:表示從response中取得的輸出流。常用的方法有write(),print(),println()等,用于在頁(yè)面中輸出文本形式的響應(yīng)內(nèi)容 ?作用域通信對(duì)象

?pageContext:此通信對(duì)象的作用域僅在當(dāng)前頁(yè)面有效,一旦跳轉(zhuǎn)則不可用

?request:此通信對(duì)象的作用域針對(duì)的同一個(gè)客戶的請(qǐng)求,如果不是同一個(gè)請(qǐng)求則不可以使用

?session:此通信對(duì)象的作用域適用于一次會(huì)話,即打開(kāi)的同一個(gè)瀏覽器的所有頁(yè)面都可以適用

?application:此通信對(duì)象的作用域適用于基于WEB服務(wù)器的所有會(huì)話,適用于監(jiān)聽(tīng)器 ?Servlet對(duì)象

?page:指向當(dāng)前Jsp頁(yè)面經(jīng)過(guò)轉(zhuǎn)譯(jsp?.java文件),編譯(.java文件?.class文件)后的對(duì)象本身,即編譯后的Servlet對(duì)象本身

?config:是在一個(gè)Servlet初始化時(shí),服務(wù)器向它傳遞的初始化信息。初始化信息可以在web.xml中找到。?錯(cuò)誤對(duì)象

?execption:表示Jsp頁(yè)面運(yùn)行時(shí)拋出的異常對(duì)象,可以在專(zhuān)門(mén)準(zhǔn)備的錯(cuò)誤處理頁(yè)面中訪問(wèn)這個(gè)異常對(duì)象。

Jsp執(zhí)行過(guò)程:

?jsp文件轉(zhuǎn)譯:當(dāng)客戶端請(qǐng)求一個(gè)正確的Jsp文件時(shí),將Jsp—>.java文件(即將Jsp文件翻譯成相應(yīng)的Servlet類(lèi)的源文件)?編譯:.java文件?.class文件,即將Servlet類(lèi)的源文件進(jìn)行編譯成為.class的Servlet文件。?調(diào)用Servlet的service()方法響應(yīng)用戶的請(qǐng)求。

描述Jsp和Servlet的區(qū)別,共同點(diǎn),各自的應(yīng)用范圍:

1,從發(fā)展上來(lái)看,Jsp可以避開(kāi)Servlet的輸出頁(yè)面的繁瑣步驟,它集合了HTML和Servlet的優(yōu)點(diǎn)。

2,從本質(zhì)上來(lái)說(shuō),Jsp是Servlet的擴(kuò)展,它是Servlet的簡(jiǎn)易形式。Jsp經(jīng)過(guò)轉(zhuǎn)譯之后就成為了類(lèi)Servlet。

3,從創(chuàng)建方式上來(lái)說(shuō):Jsp由HTML代碼和JSP標(biāo)簽構(gòu)成,而Servlet則完全是由程序代碼構(gòu)成擅長(zhǎng)于流程控制和事務(wù)處理的類(lèi)

4,從使用角度來(lái)說(shuō):在MVC中,Jsp擔(dān)任的是VIEW層,側(cè)重于視圖,而Servlet則充當(dāng)?shù)目刂茖樱瑐?cè)重于控制邏輯。請(qǐng)求轉(zhuǎn)發(fā)和重定向

? response.sendRedirect():利用response對(duì)象向客戶端發(fā)回一個(gè)響應(yīng)指示其訪問(wèn)其他URL資源,或者說(shuō)是一個(gè)web組件向另一個(gè)web組件發(fā)送一個(gè)新的請(qǐng)求,屬于重定向,地址欄有變化。且不可以傳遞屬性request參數(shù),當(dāng)所有的代碼執(zhí)行完之后才進(jìn)行重定向。

?request.getRequestDispatcher().forword(req,resp):web組件將一個(gè)請(qǐng)求轉(zhuǎn)發(fā)給另一個(gè)web組件,他們始終是同一個(gè)請(qǐng)求,在此期間可以傳遞request屬性參數(shù),地址欄沒(méi)有變化。且一執(zhí)行到此代碼處,后邊的將不再執(zhí)行

JavaBean的組成:

?類(lèi)必須是具體的,公共的。?提供無(wú)參數(shù)的構(gòu)造方法

?提供getter()和setter()方法訪問(wèn)它的屬性。版權(quán)所有@楊肖飛yangxf159371@126.com

第三篇:Javaweb期末試卷總結(jié)版2

Java Web試題 JAVA WEB部分: 1.基于HTTP協(xié)議的Servlet通常繼承__C______, 也可以繼承__B______。這些類(lèi)型都實(shí)現(xiàn)了接口___A_____。

A.javax.servlet.Servlet

B.javax.servlet.GenericServlet C.javax.servlet.http.HttpServlet 2.我們實(shí)現(xiàn)的基于HTTP協(xié)議的Servlet的服務(wù)方法簽名正確的有__

BCD_____________。

A.public void doGet(ServletRequest req, ServletResponse res)throws IOException, ServletException B.public void doPost(HttpServletRequest req, HttpServletResponse res)throws IOException, ServletException C.public void service(HttpServletRequest req, HttpServletResponse res)throws IOException, ServletException D.public void service(ServletRequest req, ServletResponse res)throws IOException, ServletException

重寫(xiě)服務(wù)方法,一般是以下兩種方式: doGet(HttpServletRequest req,HttpServletResponse res)doPost(HttpServletRequest req,HttpServletResqonse res)

HttpServlet繼承自GenericServlet,其中的service方法自動(dòng)實(shí)現(xiàn); GenericServlet的調(diào)用方法: 容器

-->service(ServletRequest req,ServletResponse res)-->service(HttpServletRequest req,HttpServletResponse res)-->METHOD=“GET”-->doGet(HttpServletRequest req,HttpServletResponse res)-->METHOD=“POST”-->doPost(HttpServletRequest req,HttpServletResponse res)

API中有D這個(gè)方法

3.在Servlet中要輸出內(nèi)容,使用HttpServletResponse的方法_setContentType 設(shè)置內(nèi)容,對(duì)于文本類(lèi)型調(diào)用方法__ getWriter _獲得一個(gè)___ PrintWriter ___的輸出流,對(duì)于二進(jìn)制類(lèi)型調(diào)用_ getOutputStream 獲得_ ServeltOutputStream _的輸出流。調(diào)用HttpServletRequest的方法_ getParameter 解析有名參數(shù),調(diào)用_ getInputStream 獲得一個(gè)_ ServletInputStream _的輸入流。在Servlet中也可以調(diào)用_ ServletContext 和_ HttpServletRequest _的方法_ getRequestDispatcher __獲得__ RequestDispatcher __, 將請(qǐng)求的處理權(quán)交給一個(gè)新的資源。A.ServletInputStream

B.ServletContext

C.HttpServletRequest D.setContentType

E.getInputStream

F.getOutputStream G.getRequestDispatcher H.RequestDispatcher

I.getParameter J.ServeltOutputStream K.getWriter

L.PrintWriter

4.控制一個(gè)Servlet的生命周期的方法有__C______, _____B___和____A____。其中 ___C_____在所有的請(qǐng)求到來(lái)之前調(diào)用,____A____在撤消應(yīng)用或關(guān)閉web container時(shí)調(diào)用。Servlet通常只有一個(gè)實(shí)例,被所有的訪問(wèn)者共享,因此要注意資源的同步。A.destroy

B.service

C.init 5.以下是部署在主機(jī)”%> C.

D.

E.<% int i = 10;%>

F.<%!int i = 10;%> G.< %@taglib uri=”http://java.sun.com/jstl/core” prefix=”c”%> H.<%=new java.util.Date()%> I. J.<% response.sendRedirect(“http://www.tmdps.cn”);%> K.<%@page contentType=”text/html;charset=gb2312”%>

11.在directive page中,__B______屬性可反復(fù)出現(xiàn),___AC_____屬性的卻省值為true, ____E____屬性的值指向處理異常的頁(yè)面,______D__表示激活EL。A.autoFlush

B.import

C.session D.isELIgnored=false

E.errorPage

jsp的page指令(directive)

jsp的page指令(directive)影響著由JSP頁(yè)面生成的Servlet的整體結(jié)構(gòu)!page指令的功能包括(1)類(lèi)的導(dǎo)入(2)Servlet父類(lèi)的制定(3)內(nèi)容類(lèi)型的設(shè)置(4)頁(yè)面會(huì)話的設(shè)置(5)頁(yè)面緩沖的設(shè)置

(6)錯(cuò)誤頁(yè)面的設(shè)置(7)控制線程行為

page屬性(attribute)值的兩邊的雙引號(hào)也可以用單引號(hào)代替,單引號(hào)不能省略,若屬性值本身含有引號(hào),則在它們之前加上反斜杠來(lái)轉(zhuǎn)義。

page 的幾個(gè)重要的指令:1.import 唯一的一個(gè)允許多次出現(xiàn)的attirbute.默認(rèn)情況下有以下幾個(gè)是自動(dòng)導(dǎo)入的包,java.lang.*;java.servelt.*;javax.servlet.jsp.*;javax.servlet.http.*!2.pageEncoding用來(lái)單獨(dú)設(shè)置頁(yè)面的字符集。%@page pageEncoding=“GB2312”% 3.contentType設(shè)置響應(yīng)報(bào)頭標(biāo)明發(fā)送到客戶端的MIME類(lèi)型和頁(yè)面字符集!<%@ page contentType=“text/html;charset=gb2312”%> 4.session 屬性控制頁(yè)面的會(huì)話特性!%@page session=“true|false”%

默認(rèn)值為true.5.buffer 和 autoFlush 屬性

buffer 設(shè)置緩沖區(qū)的大小 <%@ page buffer=“sizekb|none”%>

autoFlush 當(dāng)緩沖區(qū)滿后自動(dòng)清空!%@page autoFlush=“true|false”% 默認(rèn)值為true,為false時(shí)會(huì)拋出一個(gè)異常。

6.errorPage 和isErrorPage(attribute)<%@page errorPage=“RelativeURL ”%>指定一個(gè)頁(yè)面處理當(dāng)前頁(yè)面拋出但未捕獲的異常對(duì)象。

%@page isErrorPage=“true|false”% 表明當(dāng)前頁(yè)面是否可以作為其他jsp頁(yè)面的錯(cuò)誤頁(yè)面。可以將此頁(yè)面放在WEB-INF目錄中,有助于提高程序的安全性。

1、<%@ page buffer=“25kb” autoFlush=“true” %>

2、buffer=“none | 8kb | sizekb” buffer的大小被out對(duì)象用于處理執(zhí)行后的JSP對(duì)客戶瀏覽器的輸出。缺省值是8kb

3、autoFlush=“true | false” 設(shè)置如果buffer溢出,是否需要強(qiáng)制輸出,如果其值被定義為true(缺省值),輸出正常,如果它被設(shè)置為false,如果這個(gè)buffer溢出,就會(huì)導(dǎo)致一個(gè)意外錯(cuò)誤的發(fā)生.如果你把buffer設(shè)置為none,那么你就不能把a(bǔ)utoFlush設(shè)置為false.12.有一個(gè)JavaBean com.briup.Student, 在JSP中用action在session作用域里創(chuàng)建一個(gè)對(duì)象hellen的語(yǔ)句是_______。

什么是JavaBean?(參見(jiàn)文檔)

13.以下_ABCD_______是JSP中正確的注釋?zhuān)?/p>

A.<%--comments--%> 真正的注釋

B.<% //comments %> C. 會(huì)寫(xiě)在頁(yè)面當(dāng)中

D.<%!/* comments */ %> JAVA中的單行和多行注釋

14.以下__AB______是錯(cuò)誤的:

A.<%!int i = 10;int j = 10;i += j;%> B.<% int getHash(String str){ return str.hashCode();} %> 聲明腳本 C.<%!class A { void print(){System.out.println(“in A”);}} %> 15.在JSP中有很多隱含變量,request的類(lèi)型是C_javax.servlet.http.HttpServletRequest______, response的類(lèi)型是_I__javax.servlet.http.HttpServletResponse__, page的類(lèi)型是__E__javax.servelet.jsp.JspPage_,pageContext的類(lèi)型是__B__javax.servlet.jsp.PageContext____, session的類(lèi)型是_D__javax.servlet.http.HttpSession_____, application的類(lèi)型是____G__ javax.servlet.ServletContext__, config的類(lèi)型是__F_javax.servlet.ServletConfig_, out的類(lèi)型是_H__ javax.servlet.jsp.JspWriter_____, exception的類(lèi)型是___A__java.lang.Throwable___。A.java.lang.Throwable

B.javax.servlet.jsp.PageContext C.javax.servlet.http.HttpServletRequest

D.javax.servlet.http.HttpSession E.javax.servelet.jsp.JspPage

F.javax.servlet.ServletConfig G.javax.servlet.ServletContext H.javax.servlet.jsp.JspWriter I.javax.servlet.http.HttpServletResponse

參見(jiàn)PDF97頁(yè)

16.JSP在處理客戶請(qǐng)求前會(huì)被編譯成servlet, JSP中declaration中定義的變量和方法在運(yùn)行時(shí)成為對(duì)應(yīng)servlet的___B_____變量和方法;scripting會(huì)成為服務(wù)方法____C____的語(yǔ)句。JSP的生命周期受到____A____,___C_____和___D_____的控制。A.jspInit

B.member

C._jspService

D.jspDestroy

調(diào)出一個(gè)編譯后的JSP文件給學(xué)生看

D:JAVATomcat-5.5.25workCatalinalocalhostRunCommunityorgapachejsppages

17.在web應(yīng)用webdev的WEB-INF的目錄下有一個(gè)標(biāo)簽庫(kù)描述文件sample.tld, 其內(nèi)容部分如下:

hello

com.tarena.tags.HelloTag

empty

user

true

false

java.lang.String

在hello.jsp中要使用標(biāo)簽hello, 因此必須先引入該標(biāo)簽庫(kù),語(yǔ)句是__<%@taglib uri=”/WEB-INF/sample.tld” prefix=”s”%>_____。要用hello標(biāo)簽在頁(yè)面上給”world“打招呼的語(yǔ)句是________________。

18.在web應(yīng)用webdev的WEB-INF/tags目錄下放置了一些標(biāo)簽文件,用前綴”me”引入這些標(biāo)簽到一個(gè)jsp的 directive taglib的表達(dá)式是___<%@taglib tagdir=”/WEB-INF/tags” prefix=”me”%>__。

19.一個(gè)沒(méi)有body的標(biāo)簽其tag handler要實(shí)現(xiàn)接口__C______;如果某個(gè)標(biāo)簽有body, 但標(biāo)簽不與body交互,tag handler要實(shí)現(xiàn)接口___E_____, 如果要與body交互,tag handler要實(shí)現(xiàn)接口____D____。通常前兩種情況的tag handler會(huì)繼承___A_____, 最后一種情況tag handler會(huì)繼承_____B___。

A.javax.servlet.jsp.tagext.TagSupport B.javax.servlet.jsp.tagext.BodyTagSupport C.javax.servlet.jsp.tagext.Tag D.javax.servlet.jsp.tagext.BodyTag E.javax.servlet.jsp.tagext.IterationTag 20.在EL中以下____B____可以獲得requestURI:

A.${requestScope.request.requestURI} B.${pageContext.request.requestURI} C.${requestScope.requestURI} 21.EL中可使用一些隱含對(duì)象,通過(guò)____C____可以訪問(wèn)request中的屬性(attriubte), 通過(guò)___A_____可以訪問(wèn)session中的屬性, 通過(guò)___B_____可以訪問(wèn)application中的屬性, 通過(guò)___D_____可以訪問(wèn)瀏覽器輸入的參數(shù),通過(guò)____G____可以訪問(wèn)請(qǐng)求頭中的參數(shù),通過(guò)____E____可以訪問(wèn)web應(yīng)用的參數(shù),通過(guò)____F____可以訪問(wèn)cookie。A.sessionScope

B.applicationScope

C.requestScope D.param

E.initParam

F.cookie G.header 22.在EL中能夠訪問(wèn)的函數(shù)(function)必須是_____A___。

A.public static

B.protected

C.protected static D.public static void

F.protected static void 23.在EL中訪問(wèn)JavaBean Student的對(duì)象smallTank的屬性name正確的是__ABC______。A.${smallTank.name}

B.${smallTank[?name?]} C.${smallTank[“name”]}

D.${smallTank(?name?)}

SESSION AAA=”aa”

APPLICATION(aa=”hhhh”)

applicationScope['aa'] 此種情況只能用方括號(hào)

24.Struts提供MVC的一個(gè)實(shí)現(xiàn),是Java Web應(yīng)用的一個(gè)框架(Framework).它主要采用了____D____模式。瀏覽器請(qǐng)求被控制器servlet ___A_____截取,控制器將瀏覽器表單的輸入封裝到____F____類(lèi)型的JavaBean對(duì)象中,如果應(yīng)用需要作合法性檢測(cè),該類(lèi)型的____G____方法會(huì)被調(diào)用,該方法的返回類(lèi)型是_____B___。如果合法性檢測(cè)正確,控制器會(huì)將調(diào)用類(lèi)型為_(kāi)___H____對(duì)象的方法__E______處理請(qǐng)求,該方法返回類(lèi)型為_(kāi)___C____。A.org.apache.struts.action.ActionServlet

B.org.apache.struts.action.ActionErrors C.org.apache.struts.action.ActionForward

D.command

E.execute F.org.apache.struts.action.ActionForm G.validate H.org.apache.struts.action.Action 25.使用Tomcat,我們通常會(huì)設(shè)置環(huán)境變量_C_ CATALINA_HOME_指向安裝目錄;web應(yīng)用的卻省部署目錄在安裝目錄下的___A__webapps___子目錄;如果有多個(gè)web應(yīng)用共享的包如數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序,我們應(yīng)該將其放置在安裝目錄的__D__common/lib__子目錄;Tomcat的主要配置文件是安裝目錄下__B_conf _子目錄下的___F__server.xml___;Tomcat 5的應(yīng)用相關(guān)的配置文件放在安裝目錄下___E__conf/Catalina/___子目錄。A.webapps

B.conf

C.CATALINA_HOME D.common/lib

E.conf/Catalina/ F.server.xml

第四篇:javaWeb安全驗(yàn)證漏洞修復(fù)總結(jié)

EMA服務(wù)管理平臺(tái)二期擴(kuò)容安全驗(yàn)收

漏洞修復(fù)總結(jié)

2011年5月

中國(guó)電信EMA服務(wù)管理平臺(tái)二期擴(kuò)容安全驗(yàn)收漏洞修復(fù)總結(jié)

目 錄 2 WEB安全介紹..........................................................................................................................1 SQL注入、盲注.......................................................................................................................1 2.1 SQL注入、盲注概述.................................................................................................................1 2.2 2.4 3 安全風(fēng)險(xiǎn)及原因...................................................................................................................2 應(yīng)用程序解決方案...............................................................................................................4 2.3 APPSCAN掃描建議......................................................................................................................2

會(huì)話標(biāo)識(shí)未更新.......................................................................................................................7 3.1 3.2 3.4 會(huì)話標(biāo)識(shí)未更新概述...........................................................................................................7 安全風(fēng)險(xiǎn)及原因分析...........................................................................................................8 應(yīng)用程序解決方案...............................................................................................................8 3.3 APPSCAN掃描建議......................................................................................................................8 已解密登錄請(qǐng)求.......................................................................................................................9 4.1 4.2 4.4 已解密登錄請(qǐng)求概述...........................................................................................................9 安全風(fēng)險(xiǎn)及原因分析...........................................................................................................9 應(yīng)用程序解決方案...............................................................................................................9 4.3 APPSCAN掃描建議......................................................................................................................9 跨站點(diǎn)請(qǐng)求偽造.....................................................................................................................11 5.1 5.2 5.4 跨站點(diǎn)請(qǐng)求偽造概述.........................................................................................................11 安全風(fēng)險(xiǎn)及原因分析.........................................................................................................12 應(yīng)用程序解決方案.............................................................................................................13 5.3 APPSCAN掃描建議....................................................................................................................13 不充分賬戶封鎖.....................................................................................................................13 6.1 6.2 6.4 不充分賬戶封鎖概述.........................................................................................................13 安全風(fēng)險(xiǎn)及原因分析.........................................................................................................13 應(yīng)用程序解決方案.............................................................................................................14 6.3 APPSCAN掃描建議....................................................................................................................14 啟用不安全HTTP方法...........................................................................................................14 7.1 7.2 7.4 啟用不安全HTTP方法概述...............................................................................................14 安全風(fēng)險(xiǎn)及原因分析.........................................................................................................15 應(yīng)用程序解決方案.............................................................................................................15 7.3 APPSCAN掃描建議....................................................................................................................15 HTTP注釋敏感信息...............................................................................................................16 8.1 HTTP注釋敏感信息概述........................................................................................................16 8.2 8.4 安全風(fēng)險(xiǎn)及原因分析.........................................................................................................16 應(yīng)用程序解決方案.............................................................................................................17 8.3 APPSCAN掃描建議....................................................................................................................16 發(fā)現(xiàn)電子郵件地址模式.........................................................................................................17

中國(guó)電信EMA服務(wù)管理平臺(tái)二期擴(kuò)容安全驗(yàn)收漏洞修復(fù)總結(jié)

9.1 9.2 9.4 10 發(fā)現(xiàn)電子郵件地址模式概述.............................................................................................17 安全風(fēng)險(xiǎn)及原因分析.........................................................................................................17 應(yīng)用程序解決方案.............................................................................................................17 9.3 APPSCAN掃描建議....................................................................................................................17

通過(guò)框架釣魚(yú).........................................................................................................................20

通過(guò)框架釣魚(yú)概述.............................................................................................................20 安全風(fēng)險(xiǎn)及原因分析.........................................................................................................20 APPSCAN掃描建議...............................................................................................................21 應(yīng)用程序解決方案.............................................................................................................23 10.1 10.2 10.3 10.4 11 檢查到文件替代版本.............................................................................................................25

檢查到文件替代版本概述.................................................................................................25 安全風(fēng)險(xiǎn)及原因分析.........................................................................................................26 APPSCAN掃描建議...............................................................................................................26 應(yīng)用程序解決方案.............................................................................................................26 11.1 11.2 11.3 11.4

中國(guó)電信EMA服務(wù)管理平臺(tái)二期擴(kuò)容安全驗(yàn)收漏洞修復(fù)總結(jié) Web安全介紹

目前很多業(yè)務(wù)都依賴(lài)于互聯(lián)網(wǎng),例如說(shuō)網(wǎng)上銀行、網(wǎng)絡(luò)購(gòu)物、網(wǎng)游等,很多惡意攻擊者出于不良的目的對(duì)Web 服務(wù)器進(jìn)行攻擊,想方設(shè)法通過(guò)各種手段獲取他人的個(gè)人賬戶信息謀取利益。正是因?yàn)檫@樣,Web業(yè)務(wù)平臺(tái)最容易遭受攻擊。同時(shí),對(duì)Web服務(wù)器的攻擊也可以說(shuō)是形形色色、種類(lèi)繁多,常見(jiàn)的有掛馬、SQL注入、緩沖區(qū)溢出、嗅探、利用IIS等針對(duì)Webserver漏洞進(jìn)行攻擊。

一方面,由于TCP/IP的設(shè)計(jì)是沒(méi)有考慮安全問(wèn)題的,這使得在網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)是沒(méi)有任何安全防護(hù)的。攻擊者可以利用系統(tǒng)漏洞造成系統(tǒng)進(jìn)程緩沖區(qū)溢出,攻擊者可能獲得或者提升自己在有漏洞的系統(tǒng)上的用戶權(quán)限來(lái)運(yùn)行任意程序,甚至安裝和運(yùn)行惡意代碼,竊取機(jī)密數(shù)據(jù)。而應(yīng)用層面的軟件在開(kāi)發(fā)過(guò)程中也沒(méi)有過(guò)多考慮到安全的問(wèn)題,這使得程序本身存在很多漏洞,諸如緩沖區(qū)溢出、SQL注入等等流行的應(yīng)用層攻擊,這些均屬于在軟件研發(fā)過(guò)程中疏忽了對(duì)安全的考慮所致。

另一方面,用戶對(duì)某些隱秘的東西帶有強(qiáng)烈的好奇心,一些利用木馬或病毒程序進(jìn)行攻擊的攻擊者,往往就利用了用戶的這種好奇心理,將木馬或病毒程序捆綁在一些艷麗的圖片、音視頻及免費(fèi)軟件等文件中,然后把這些文件置于某些網(wǎng)站當(dāng)中,再引誘用戶去單擊或下載運(yùn)行。或者通過(guò)電子郵件附件和QQ、MSN等即時(shí)聊天軟件,將這些捆綁了木馬或病毒的文件發(fā)送給用戶,利用用戶的好奇心理引誘用戶打開(kāi)或運(yùn)行這些文件、SQL注入、盲注 2.1 SQL注入、盲注概述

Web 應(yīng)用程序通常在后端使用數(shù)據(jù)庫(kù),以與企業(yè)數(shù)據(jù)倉(cāng)庫(kù)交互。查詢(xún)數(shù)據(jù)庫(kù)事實(shí)上的標(biāo)準(zhǔn)語(yǔ)言是 SQL(各大數(shù)據(jù)庫(kù)供應(yīng)商都有自己的不同版本)。Web 應(yīng)用程序通常會(huì)獲取用戶輸入(取自 HTTP 請(qǐng)求),將它并入 SQL 查詢(xún)中,然后發(fā)送到后端數(shù)據(jù)庫(kù)。接著應(yīng)用程序便處理查詢(xún)結(jié)果,有時(shí)會(huì)向用戶顯示結(jié)果。如果應(yīng)用程序?qū)τ脩簦ü粽撸┑妮斎胩幚聿粔蛐⌒模粽弑憧梢岳眠@種操作方式。在此情況下,攻擊者可以注入惡意的數(shù)據(jù),當(dāng)該數(shù)據(jù)并入 SQL 查詢(xún)中時(shí),就將查詢(xún)的原始語(yǔ)法更改得面目全非。例如,如果應(yīng)用程序使用用戶的輸入(如用戶名和密碼)來(lái)查詢(xún)用戶帳戶的數(shù)據(jù)庫(kù)表,以認(rèn)證用戶,而攻擊者能夠?qū)阂鈹?shù)據(jù)注入查詢(xún)的用戶名部分(和/或密碼部分),查詢(xún)便可能更改成 中國(guó)電信EMA服務(wù)管理平臺(tái)二期擴(kuò)容安全驗(yàn)收漏洞修復(fù)總結(jié)

完全不同的數(shù)據(jù)復(fù)制查詢(xún),可能是修改數(shù)據(jù)庫(kù)的查詢(xún),或在數(shù)據(jù)庫(kù)服務(wù)器上運(yùn)行 Shell 命令的查詢(xún)。2.2 安全風(fēng)險(xiǎn)及原因

高風(fēng)險(xiǎn)漏洞,攻擊者可能會(huì)查看、修改或刪除數(shù)據(jù)庫(kù)條目和表

原因:未對(duì)用戶輸入正確執(zhí)行危險(xiǎn)字符清理

2.3 AppScan掃描建議

若干問(wèn)題的補(bǔ)救方法在于對(duì)用戶輸入進(jìn)行清理。通過(guò)驗(yàn)證用戶輸入未包含危險(xiǎn)字符,便可能防止惡意的用戶導(dǎo)致應(yīng)用程序執(zhí)行計(jì)劃外的任務(wù),例如:?jiǎn)?dòng)任意 SQL 查詢(xún)、嵌入將在客戶端執(zhí)行的 Javascript 代碼、運(yùn)行各種操作系統(tǒng)命令,等等。建議過(guò)濾出所有以下字符: [1] |(豎線符號(hào))[2] &(& 符號(hào))[3];(分號(hào))

[4] $(美元符號(hào))[5] %(百分比符號(hào))[6] @(at 符號(hào))[7] '(單引號(hào))[8] “(引號(hào))

[9] '(反斜杠轉(zhuǎn)義單引號(hào))[10] ”(反斜杠轉(zhuǎn)義引號(hào))[11] <>(尖括號(hào))[12]()(括號(hào))[13] +(加號(hào))

[14] CR(回車(chē)符,ASCII 0x0d)[15] LF(換行,ASCII 0x0a)[16] ,(逗號(hào))[17](反斜杠)

以下部分描述各種問(wèn)題、問(wèn)題的修訂建議以及可能觸發(fā)這些問(wèn)題的危險(xiǎn)字符: SQL 注入和 SQL 盲注:

A.確保用戶輸入的值和類(lèi)型(如 Integer、Date 等)有效,且符合應(yīng)用程序預(yù)期。

B.利用存儲(chǔ)過(guò)程,將數(shù)據(jù)訪問(wèn)抽象化,讓用戶不直接訪問(wèn)表或視圖。當(dāng)使用存儲(chǔ)過(guò)程時(shí),請(qǐng)利用 ADO 命令對(duì)象來(lái)實(shí)施它們,以強(qiáng)化變量類(lèi)型。C.清理輸入以排除上下文更改符號(hào),例如: [1] '(單引號(hào))[2] “(引號(hào))

[3] '(反斜線轉(zhuǎn)義單引號(hào))中國(guó)電信EMA服務(wù)管理平臺(tái)二期擴(kuò)容安全驗(yàn)收漏洞修復(fù)總結(jié)

[4] ”(反斜杠轉(zhuǎn)義引號(hào))[5])(結(jié)束括號(hào))[6];(分號(hào))跨站點(diǎn)腳本編制:

A.清理用戶輸入,并過(guò)濾出 JavaScript 代碼。我們建議您過(guò)濾下列字符: [1] <>(尖括號(hào))[2] “(引號(hào))[3] '(單引號(hào))[4] %(百分比符號(hào))[5];(分號(hào))[6]()(括號(hào))[7] &(& 符號(hào))[8] +(加號(hào))

B.如果要修訂 <%00script> 變體,請(qǐng)參閱 MS 文章 821349 C.對(duì)于 UTF-7 攻擊: [-] 可能的話,建議您施行特定字符集編碼(使用 'Content-Type' 頭或 標(biāo)記)。

HTTP 響應(yīng)分割:清理用戶輸入(至少是稍后嵌入在 HTTP 響應(yīng)中的輸入)。請(qǐng)確保輸入未包含惡意的字符,例如: [1] CR(回車(chē)符,ASCII 0x0d)[2] LF(換行,ASCII 0x0a)遠(yuǎn)程命令執(zhí)行:清理輸入以排除對(duì)執(zhí)行操作系統(tǒng)命令有意義的符號(hào),例如: [1] |(豎線符號(hào))[2] &(& 符號(hào))[3];(分號(hào))

執(zhí)行 shell 命令:

A.絕不將未檢查的用戶輸入傳遞給 eval()、open()、sysopen()、system()之類(lèi)的 Perl 命令。

B.確保輸入未包含惡意的字符,例如: [1] $(美元符號(hào))[2] %(百分比符號(hào))[3] @(at 符號(hào))

XPath 注入:清理輸入以排除上下文更改符號(hào),例如: [1] '(單引號(hào))[2] ”(引號(hào))等 LDAP 注入:

A.使用正面驗(yàn)證。字母數(shù)字過(guò)濾(A..Z,a..z,0..9)適合大部分 LDAP 查詢(xún)。B.應(yīng)該過(guò)濾出或進(jìn)行轉(zhuǎn)義的特殊 LDAP 字符: [1] 在字符串開(kāi)頭的空格或“#”字符 [2] 在字符串結(jié)尾的空格字符 [3] ,(逗號(hào))[4] +(加號(hào))[5] “(引號(hào))[6](反斜杠)[7] <>(尖括號(hào))中國(guó)電信EMA服務(wù)管理平臺(tái)二期擴(kuò)容安全驗(yàn)收漏洞修復(fù)總結(jié)

[8];(分號(hào))[9]()(括號(hào))MX 注入:

應(yīng)該過(guò)濾出特殊 MX 字符: [1] CR(回車(chē)符,ASCII 0x0d)

[2] LF(換行,ASCII 0x0a)記錄偽造: 應(yīng)該過(guò)濾出特殊記錄字符: [1] CR(回車(chē)符,ASCII 0x0d)[2] LF(換行,ASCII 0x0a)[3] BS(退格,ASCII 0x08)ORM 注入:

A.確保用戶輸入的值和類(lèi)型(如 Integer、Date 等)有效,且符合應(yīng)用程序預(yù)期。

B.利用存儲(chǔ)過(guò)程,將數(shù)據(jù)訪問(wèn)抽象化,讓用戶不直接訪問(wèn)表或視圖。C.使用參數(shù)化查詢(xún) API D.清理輸入以排除上下文更改符號(hào),例如:(*): [1] '(單引號(hào))[2] ”(引號(hào))

[3] '(反斜線轉(zhuǎn)義單引號(hào))[4] “(反斜杠轉(zhuǎn)義引號(hào))[5])(結(jié)束括號(hào))[6];(分號(hào))2.4 應(yīng)用程序解決方案

1、我們?yōu)榱苏{(diào)試方便,在頁(yè)面上會(huì)拋出數(shù)據(jù)庫(kù)異常信息,如果入侵工具獲取了這些信息,就可以獲取系統(tǒng)的一些配置信息,如web系統(tǒng)框架、采用的數(shù)據(jù)庫(kù)等,從而找出系統(tǒng)漏洞。所以不要在頁(yè)面上拋出異常的詳細(xì)信息,這些信息對(duì)客戶并沒(méi)有用,只是方便技術(shù)人員調(diào)試罷了,處理方法是在異常處理頁(yè)面把打印異常代碼刪除即可;

2、新建一個(gè)過(guò)濾器,通過(guò)過(guò)濾器過(guò)濾SQL注入特殊字符,配置成功后,重啟服務(wù),用Appsan工具掃描,漏洞得到解決,通過(guò)過(guò)濾器可以解決SQL注入、跨站點(diǎn)腳本編制及通過(guò)框架釣魚(yú)等問(wèn)題,具體實(shí)現(xiàn)方式如下:

1、在web.xml文件中配置過(guò)濾器

requestEncodingFilter /* InjectFilter com.sitech.ismp.util.context.InjectFilter lass> 中國(guó)電信EMA服務(wù)管理平臺(tái)二期擴(kuò)容安全驗(yàn)收漏洞修復(fù)總結(jié)

2、過(guò)濾器過(guò)濾代碼

public class InjectFilter extends IsmpServletFilter {

private String failPage = ”/loginout.jsp“;//發(fā)生注入時(shí),跳轉(zhuǎn)頁(yè)面

public void doFilter(ServletRequest request,ServletResponse response,F(xiàn)ilterChain filterchain)throws IOException, ServletException { //判斷是否有注入攻擊字符

HttpServletRequest req =(HttpServletRequest)request;

String inj = injectInput(req);if(!inj.equals(”“)){ request.getRequestDispatcher(failPage).forward(request, return;response);} else { // 傳遞控制到下一個(gè)過(guò)濾器

filterchain.doFilter(request, response);} } /** * 判斷request中是否含有注入攻擊字符 * @param request * @return */ public String injectInput(ServletRequest request){

Enumeration e = request.getParameterNames();String attributeName;String attributeValues[];String inj = ”“;

while(e.hasMoreElements()){ attributeName =(String)e.nextElement();//不對(duì)密碼信息進(jìn)行過(guò)濾,一般密碼中可以包含特殊字符

if(attributeName.equals(”userPassword“)||attributeName.equals(”co

||attributeName.equals(“password”)||attributeName.equals(“PASSWOR continue;nfirmPassword”)||attributeName.equals(“PASSWORD”)D2“)||attributeName.equals(”valiPassword“)){ 5 中國(guó)電信EMA服務(wù)管理平臺(tái)二期擴(kuò)容安全驗(yàn)收漏洞修復(fù)總結(jié)

}

attributeValues = request.getParameterValues(attributeName);

for(int i = 0;i < attributeValues.length;i++){

if(attributeValues[i]==null||attributeValues[i].equals(”“))

continue;

inj = injectChar(attributeValues[i]);

if(!inj.equals(”“)){

return inj;

}

} } return inj;} /** * 判斷字符串中是否含有注入攻擊字符 * @param str * @return */ public String injectChar(String str){

String inj_str = ”“)' * %”;String inj_stra[] = inj_str.split(“ ”);

for(int i = 0;i < inj_stra.length;i++){ if(str.indexOf(inj_stra[i])>=0){ return inj_stra[i];} } return “";}

}

中國(guó)電信EMA服務(wù)管理平臺(tái)二期擴(kuò)容安全驗(yàn)收漏洞修復(fù)總結(jié) 會(huì)話標(biāo)識(shí)未更新 3.1 會(huì)話標(biāo)識(shí)未更新概述

“會(huì)話固定”是一種攻擊技術(shù),會(huì)強(qiáng)制用戶的會(huì)話標(biāo)識(shí)變成顯式值。固定會(huì)話標(biāo)識(shí)值的技術(shù)有許多種,會(huì)隨著目標(biāo) Web 站點(diǎn)的功能而不同。從利用“跨站點(diǎn)腳本編制”到向 Web 站點(diǎn)密集發(fā)出先前生成的 HTTP 請(qǐng)求,都在這些技術(shù)范圍內(nèi)。用戶的會(huì)話標(biāo)識(shí)固定之后,攻擊者會(huì)等待用戶登錄,然后利用預(yù)定義的會(huì)話標(biāo)識(shí)值來(lái)假定用戶的聯(lián)機(jī)身份。

一般而言,對(duì)于標(biāo)識(shí)值的會(huì)話管理系統(tǒng)有兩種類(lèi)型。第一種類(lèi)型是“寬容”系統(tǒng),可讓 Web 瀏覽器指定任何標(biāo)識(shí)。第二種類(lèi)型是“嚴(yán)格”系統(tǒng),只接受服務(wù)器端生成的值。當(dāng)使用寬容系統(tǒng)時(shí),不需要聯(lián)系 Web 站點(diǎn),便可以維護(hù)任何會(huì)話標(biāo)識(shí)。在嚴(yán)格系統(tǒng)中,攻擊者需要維護(hù)“陷阱會(huì)話”并且必須定期聯(lián)系 Web 站點(diǎn),才能防止閑置超時(shí)。對(duì)于會(huì)話固定,倘若沒(méi)有活動(dòng)保護(hù),使用會(huì)話來(lái)識(shí)別已認(rèn)證的用戶的任何 Web 站點(diǎn)都可能受到攻擊。使用會(huì)話標(biāo)識(shí)的 Web 站點(diǎn)通常都是基于 cookie 的站點(diǎn),但也會(huì)使用 URL 和隱藏的表單字段。不幸的是,基于 cookie 的會(huì)話最容易受到攻擊。目前已識(shí)別的大多數(shù)攻擊方法都是針對(duì) cookie 的固定。相對(duì)于在用戶登錄 Web 站點(diǎn)之后,再竊取用戶的會(huì)話標(biāo)識(shí),會(huì)話固定提供的機(jī)會(huì)多得多。

在用戶登錄之前,攻擊的活動(dòng)部分便已啟動(dòng)。

會(huì)話固定攻擊過(guò)程通常由三個(gè)步驟組成:

1)安裝會(huì)話

攻擊者針對(duì)目標(biāo) Web 站點(diǎn)設(shè)下“陷阱會(huì)話”,并獲取這個(gè)會(huì)話的標(biāo)識(shí),攻擊者也可以選擇攻擊中所用的任意會(huì)話標(biāo)識(shí)。在某些情況下,必須反復(fù)聯(lián)系 Web 站點(diǎn),才能維護(hù)確定好的陷阱會(huì)話值。

2)固定會(huì)話

攻擊者將陷阱會(huì)話值引進(jìn)用戶的瀏覽器中,固定用戶的會(huì)話標(biāo)識(shí)。

3)進(jìn)入會(huì)話

用戶登錄目標(biāo) Web 站點(diǎn)之后,當(dāng)使用固定會(huì)話標(biāo)識(shí)值時(shí),攻擊者便可加以接管。”

修改

對(duì)于這類(lèi)問(wèn)題解決方案為在用戶進(jìn)入登錄頁(yè)面時(shí)清空session讓cookie過(guò)期

request.getSession(true).invalidate();//清空session Cookie cookie = request.getCookies()[0];//獲取cookie cookie.setMaxAge(0);//讓cookie過(guò)期

另外一種方式利用JSP的一些特性,不讓登錄頁(yè)面產(chǎn)生Session <% page session=”false” %> 中國(guó)電信EMA服務(wù)管理平臺(tái)二期擴(kuò)容安全驗(yàn)收漏洞修復(fù)總結(jié)

3.2 安全風(fēng)險(xiǎn)及原因分析

高風(fēng)險(xiǎn)漏洞,可能會(huì)竊取或操縱客戶會(huì)話和 cookie,它們可能用于模仿合法用戶,從而使黑客能夠以該用戶身份查看或變更用戶記錄以及執(zhí)行事務(wù)

原因:Web 應(yīng)用程序編程或配置不安全

3.3 AppScan掃描建議

始終生成新的會(huì)話,供用戶成功認(rèn)證時(shí)登錄。防止用戶操縱會(huì)話標(biāo)識(shí)。

請(qǐng)勿接受用戶瀏覽器登錄時(shí)所提供的會(huì)話標(biāo)識(shí)

3.4 應(yīng)用程序解決方案

會(huì)話標(biāo)識(shí)未更新,Appscan給出的描述是建議用戶每次登錄時(shí)需使用新的會(huì)話標(biāo)識(shí)。應(yīng)用程序?qū)崿F(xiàn)上就是在登錄模塊,添加以下代碼,即用戶登錄后,重新生成會(huì)話。

HttpSession session = request.getSession(false);if(session!=null){ //讓cookie過(guò)期

session.invalidate();

Cookie cookie = request.getCookies()[0];//獲取cookie

cookie.setMaxAge(0);//讓cookie過(guò)期 } request.getSession(true);//生成新會(huì)話

經(jīng)過(guò)測(cè)試,這段代碼只在weblogic和tomcat下才有效,在公司中間件webspeed及jboss6.0下問(wèn)題都依然存在,但從掃描的結(jié)果信息分析看,漏洞已經(jīng)解決,分析判斷應(yīng)該只是session處理機(jī)制不同,AppScan工具仍認(rèn)為存在漏洞風(fēng)險(xiǎn)。在與電信溝通中我們存在一個(gè)經(jīng)驗(yàn)教訓(xùn)大家一定要吸取,不能過(guò)渡迷信流行的自動(dòng)化測(cè)試工具,尤其是對(duì)于Appscan這種判斷防御行為的復(fù)雜軟件,僅靠有限的規(guī)則設(shè)置就當(dāng)做是web安全的唯一標(biāo)準(zhǔn)這顯然不太合理,這種情況一定要與測(cè)試方溝通解釋。

另一方面,對(duì)于公司的產(chǎn)品webspeed,也想提點(diǎn)建議,商務(wù)項(xiàng)目采用公司的產(chǎn)品為公司節(jié)約了不少成本,但是我們產(chǎn)品后續(xù)升級(jí)維護(hù)也必須重視起來(lái),當(dāng)確認(rèn)出是webspeed本身問(wèn)題后,聯(lián)系vasg相關(guān)人員進(jìn)行協(xié)調(diào)解決,根本沒(méi)有非常了解該產(chǎn)品技術(shù)人員支持,只是一個(gè)剛?cè)肼毜耐略谂浜蠝y(cè)試。調(diào)試了一周時(shí)間仍不能解決,最后只能作為一個(gè)遺留問(wèn)題擱置。公司一直在向產(chǎn)品化轉(zhuǎn)變,但是自身的產(chǎn)品維護(hù)、升級(jí)、管理仍然需要改進(jìn)。

中國(guó)電信EMA服務(wù)管理平臺(tái)二期擴(kuò)容安全驗(yàn)收漏洞修復(fù)總結(jié) 已解密登錄請(qǐng)求 4.1 已解密登錄請(qǐng)求概述

在應(yīng)用程序測(cè)試過(guò)程中,檢測(cè)到將未加密的登錄請(qǐng)求發(fā)送到服務(wù)器。由于登錄過(guò)程所用的部分輸入字段(例如:用戶名、密碼、電子郵件地址、社會(huì)保險(xiǎn)號(hào)碼,等等)是個(gè)人敏感信息,建議通過(guò)加密連接(如 SSL)將其發(fā)送到服務(wù)器。任何以明文傳給服務(wù)器的信息都可能被竊,稍后可用來(lái)電子欺騙身份或偽裝用戶。此外,若干隱私權(quán)法規(guī)指出,用戶憑證之類(lèi)的敏感信息一律以加密方式傳給網(wǎng)站。

4.2 安全風(fēng)險(xiǎn)及原因分析

安全風(fēng)險(xiǎn)中,可能會(huì)竊取諸如用戶名和密碼等未經(jīng)加密即發(fā)送了的用戶登錄信息

原因:諸如用戶名、密碼和信用卡號(hào)之類(lèi)的敏感輸入字段未經(jīng)加密即進(jìn)行了傳 遞

4.3 AppScan掃描建議

1.確保所有登錄請(qǐng)求都以加密方式發(fā)送到服務(wù)器。2.請(qǐng)確保敏感信息,例如:密碼

-社會(huì)保險(xiǎn)號(hào)碼駕照號(hào)碼

-電子郵件地址郵政編碼

一律以加密方式傳給服務(wù)器。4.4 應(yīng)用程序解決方案

已解密的登錄請(qǐng)求,要求就是數(shù)據(jù)要加密傳輸。最簡(jiǎn)單有效的解決方式采用SSL加密協(xié)議傳輸,但是由于EMA服務(wù)管理平臺(tái)業(yè)務(wù)的特殊性,采用SSL加密方式對(duì)現(xiàn)有的業(yè)務(wù)影響太大,所以最終沒(méi)有采用此種方式解決該問(wèn)題,但個(gè)人在進(jìn)行測(cè)試過(guò)程中也嘗試在tomcat和jboss下SSL方式配置,寫(xiě)下來(lái)供參考。

中國(guó)電信EMA服務(wù)管理平臺(tái)二期擴(kuò)容安全驗(yàn)收漏洞修復(fù)總結(jié)

Jboss內(nèi)核也是tomcat,所以?xún)烧吲渲没径际且粯樱际窃谏勺C書(shū)文件后,在service.xml 進(jìn)行配置:

1.進(jìn)入到cmd 進(jìn)入到j(luò)dk bin目錄下執(zhí)行keytool-genkey-alias tomcat-keyalg RSA-keystore webspeed.keystore 生成證書(shū) 2.在service.xml配置SSL

keystoreFile=”C:tomcat-5.5.26confwebspeed.keystore“ keystorePass=”1111aaaa“/> 這樣配置后雖然可以通過(guò)https訪問(wèn),但仍然還可以通過(guò)8080使用普通的http訪問(wèn),所以還必須禁止普通模式登錄。所以還得在web.xml添加配置。01 02 03 04 05 06 07 SSL 08 09 *.jsp 10 11 *.action 12 13 14 15 16 17 CONFIDENTIAL 18 19 20 中國(guó)電信EMA服務(wù)管理平臺(tái)二期擴(kuò)容安全驗(yàn)收漏洞修復(fù)總結(jié) 22 23 24 25 26 27 CLIENT-CERT 28 29 Client Cert Users-only Area 30 31 應(yīng)注意,由于項(xiàng)目的一些組件無(wú)法通過(guò)https,因此url-pattern字段只對(duì).jsp和.action進(jìn)行了限制,如果不做特定限制,則系統(tǒng)默認(rèn)是全部使用https傳輸。而且上述設(shè)置一旦在某個(gè)工程中出現(xiàn),那么當(dāng)前tomcat將全局采用這一配置。跨站點(diǎn)請(qǐng)求偽造 5.1 跨站點(diǎn)請(qǐng)求偽造概述

“跨站點(diǎn)偽造請(qǐng)求(CSRF)”攻擊可讓黑客以受害者的名義在易受攻擊的站點(diǎn)上運(yùn)行操作。當(dāng)易受攻擊的站點(diǎn)未適當(dāng)驗(yàn)證請(qǐng)求來(lái)源時(shí),便可能出現(xiàn)這個(gè)攻擊。這個(gè)漏洞的嚴(yán)重性取決于受影響的應(yīng)用程序的功能,例如,對(duì)搜索頁(yè)面的 CSRF 攻擊,嚴(yán)重性低于對(duì)轉(zhuǎn)帳頁(yè)面或概要更新頁(yè)面的 CSRF 攻擊。

這項(xiàng)攻擊的執(zhí)行方式,是強(qiáng)迫受害者的瀏覽器向易受攻擊的站點(diǎn)發(fā)出 HTTP 請(qǐng)求。如果用戶目前已登錄受害者站點(diǎn),請(qǐng)求會(huì)自動(dòng)使用用戶的憑證(如會(huì)話 Cookie、用戶的 IP 地址,以及其他瀏覽器認(rèn)證方法)。攻擊者利用這個(gè)方法來(lái)偽造受害者的身份,再代替他來(lái)提交操作。換句話來(lái)說(shuō),易受攻擊的站點(diǎn)未采取適當(dāng)措施來(lái)驗(yàn)證用戶實(shí)際是否想執(zhí)行特定操作。強(qiáng)迫受害者發(fā)送非預(yù)期的請(qǐng)求,方法有許多種:

-通過(guò)電子郵件向受害者發(fā)送易受攻擊應(yīng)用程序的惡意鏈接。在公共論壇中,張貼易受攻擊站點(diǎn)的鏈接。中國(guó)電信EMA服務(wù)管理平臺(tái)二期擴(kuò)容安全驗(yàn)收漏洞修復(fù)總結(jié)

-利用站點(diǎn)(或另一個(gè)站點(diǎn))的“跨站點(diǎn)腳本編制”或“鏈接注入”漏洞,將瀏覽器自動(dòng)重定向到易受攻擊的站點(diǎn)。

如果攻擊者利用易受攻擊的站點(diǎn)本身的“鏈接注入”漏洞,可以增加用戶通過(guò)站點(diǎn)認(rèn)證的可能性,進(jìn)而增加攻擊成功的可能性。

例如,攻擊者可以利用上述任何選項(xiàng)來(lái)誘惑受害者查看含有下列條目的頁(yè)面:

這會(huì)使受害者的瀏覽器自動(dòng)請(qǐng)求 URL 及瀏覽器的當(dāng)前憑證。如果這個(gè)銀行業(yè)站點(diǎn)易受到 CSRF 攻擊,它會(huì)根據(jù)應(yīng)用程序邏輯,從受害者的帳戶中,將 1000 美元轉(zhuǎn)賬到 John 的銀行帳戶。“跨站點(diǎn)偽造請(qǐng)求”攻擊也稱(chēng)為 CSRF(發(fā)音為 C-Serf)、XSRF、“跨站點(diǎn)偽造引用”、“單鍵攻擊”以及“會(huì)話騎乘”。您可以利用下列方式來(lái)驗(yàn)證您的應(yīng)用程序是否易受到 CSRF 攻擊: [1] 檢查易受攻擊的鏈接/請(qǐng)求是否未包括攻擊者難以猜中的參數(shù) [2] 檢查易受攻擊的鏈接/請(qǐng)求是否會(huì)執(zhí)行只應(yīng)自愿執(zhí)行的操作

含有用戶在不知不覺(jué)中提交的請(qǐng)求所能直接訪問(wèn)的敏感操作的應(yīng)用程序,被視為很容易遭受 CSRF 攻擊。CSRF 也可能出現(xiàn)在登錄頁(yè)面和注銷(xiāo)頁(yè)面上。由于攻擊者可以偽造來(lái)自受害者的連續(xù)注銷(xiāo)請(qǐng)求,因此 CSRF 可能導(dǎo)致服務(wù)拒絕。在登錄頁(yè)面上,CSRF 可以允許攻擊者使用包含攻擊者用戶名和密碼的偽造請(qǐng)求來(lái)將客戶機(jī)登錄到攻擊者的賬戶中。登錄 CSRF 攻擊會(huì)帶有嚴(yán)重的后果,這取決于其他站點(diǎn)行為。例如,如果站點(diǎn)保留了用戶操作的歷史記錄(例如搜索歷史記錄),那么攻擊者將能夠在易受攻擊的站點(diǎn)上查看受害者之前執(zhí)行的操作。5.2 安全風(fēng)險(xiǎn)及原因分析

安全風(fēng)險(xiǎn)中,可能會(huì)竊取或操縱客戶會(huì)話和 cookie,它們可能用于模仿合法用戶,從而使黑客能夠以該用戶身份查看或變更用戶記錄以及執(zhí)行事務(wù) 原因:應(yīng)用程序使用的認(rèn)證方法不充分

中國(guó)電信EMA服務(wù)管理平臺(tái)二期擴(kuò)容安全驗(yàn)收漏洞修復(fù)總結(jié)

5.3 AppScan掃描建議

如果要避免 CSRF 攻擊,每個(gè)請(qǐng)求都應(yīng)該包含唯一標(biāo)識(shí),它是攻擊者所無(wú)法猜測(cè)的參數(shù)。建議的選項(xiàng)之一是添加取自會(huì)話 cookie 的會(huì)話標(biāo)識(shí),使它成為一個(gè)參數(shù)。服務(wù)器必須檢查這個(gè)參數(shù)是否符合會(huì)話 cookie,若不符合,便廢棄請(qǐng)求。攻擊者無(wú)法猜測(cè)這個(gè)參數(shù)的原因是應(yīng)用于 cookie 的“同源策略”,因此,攻擊者無(wú)法偽造一個(gè)虛假的請(qǐng)求,讓服務(wù)器誤以為真。攻擊者難以猜測(cè)且無(wú)法訪問(wèn)的任何秘密(也就是無(wú)法從其他域訪問(wèn)),都可用來(lái)替換會(huì)話標(biāo)識(shí)。這可以防止攻擊者設(shè)計(jì)看似有效的請(qǐng)求。

5.4 應(yīng)用程序解決方案

已解密的登錄請(qǐng)求,要求就是數(shù)據(jù)要加密傳輸。最簡(jiǎn)單有效的解決方式采用SSL加密協(xié)議傳輸,但是由于EMA服務(wù)管理平臺(tái)業(yè)務(wù)的特殊性,采用SSL加密方式對(duì)現(xiàn)有的業(yè)務(wù)影響太大,所以最終沒(méi)有采用此種方式解決該問(wèn)題,但個(gè)人在進(jìn)行測(cè)試過(guò)程中也嘗試在tomcat和jboss下SSL方式配置,寫(xiě)下來(lái)供參考。6 不充分賬戶封鎖 6.1 不充分賬戶封鎖概述

蠻力攻擊是指惡意用戶發(fā)送大量可能的密碼和/或用戶名以訪問(wèn)應(yīng)用程序的嘗試。由于該技術(shù)包含大量登錄嘗試,未限制允許的錯(cuò)誤登錄請(qǐng)求次數(shù)的應(yīng)用程序很容易遭到這類(lèi)攻擊。因此,強(qiáng)烈建議您對(duì)帳戶限制允許的錯(cuò)誤登錄嘗試次數(shù),超過(guò)該次數(shù),便鎖定該帳戶。樣本利用: 下列請(qǐng)求說(shuō)明密碼猜測(cè)請(qǐng)求:

http://site/login.asp?username=EXISTING_USERNAME&password=GUESSED_PASSWORD 如果站點(diǎn)在若干次錯(cuò)誤嘗試之后并不鎖定測(cè)試的帳戶,攻擊者最終可能會(huì)發(fā)現(xiàn)帳戶密碼,并使用它來(lái)假冒帳戶的合法用戶。6.2 安全風(fēng)險(xiǎn)及原因分析

安全風(fēng)險(xiǎn)高,可能會(huì)升級(jí)用戶特權(quán)并通過(guò) Web 應(yīng)用程序獲取管理許可權(quán)

原因:Web 應(yīng)用程序編程或配置不安全

中國(guó)電信EMA服務(wù)管理平臺(tái)二期擴(kuò)容安全驗(yàn)收漏洞修復(fù)總結(jié)

6.3 AppScan掃描建議

請(qǐng)確定允許的登錄嘗試次數(shù)(通常是 3-5 次),確保超出允許的嘗試次數(shù)之后,便鎖定帳戶。為了避免真正的用戶因帳戶被鎖定而致電支持人員的麻煩,可以?xún)H臨時(shí)性暫掛帳戶活動(dòng),并在特定時(shí)間段之后啟用帳戶。帳戶鎖定大約 10 分鐘,通常便足以阻止蠻力攻擊。

6.4 應(yīng)用程序解決方案

根據(jù)掃描建議,web應(yīng)用程序設(shè)定允許登錄嘗試次數(shù),登錄連續(xù)失敗超過(guò)設(shè)定次數(shù),就鎖定用戶,失敗次數(shù)靈活配置。

在用戶登錄時(shí)進(jìn)行驗(yàn)證:

if(!encrypter.encrypt(userPassword).equalsIgnoreCase({

} //更新此用戶登錄失敗次數(shù)

this.updateLoginFailTimes(userCode);//如果用戶連續(xù)登錄失敗次數(shù)超過(guò)配置值則將其鎖定

int loginLockTimes=this.getLoginLockTimes();if(this.getLoginFailTimes(userCode)>=loginLockTimes){ } throw new MySecurityException(”密碼不正確!用戶:“ + userCode);this.lockUser(userCode);user.getLOGIN_PASSWD()== null ? ”“ : user.getLOGIN_PASSWD()))7 啟用不安全HTTP方法 7.1 啟用不安全HTTP方法概述

似乎 Web 服務(wù)器配置成允許下列其中一個(gè)(或多個(gè))HTTP 方法(動(dòng)詞):

-DELETE COPY PROPFIND LOCK-UNLOCK

這些方法可能表示在服務(wù)器上啟用了 WebDAV,可能允許未授權(quán)的用戶對(duì)其進(jìn)行利用。

7.2 安全風(fēng)險(xiǎn)及原因分析

安全風(fēng)險(xiǎn)中,可能會(huì)在 Web 服務(wù)器上上載、修改或刪除 Web 頁(yè)面、腳本和文件

原因:Web 服務(wù)器或應(yīng)用程序服務(wù)器是以不安全的方式配置的

7.3 AppScan掃描建議

如果服務(wù)器不需要支持 WebDAV,請(qǐng)務(wù)必禁用它,或禁止不必要的 HTTP 方法(動(dòng)詞)。

7.4 應(yīng)用程序解決方案

修改web工程中web.xml,增加安全配置信息,禁用不必要HTTP方法

HtmlAdaptor test *.jsp *.do GET POST PUT DELETE HEAD OPTIONS TRACE

中國(guó)電信EMA服務(wù)管理平臺(tái)二期擴(kuò)容安全驗(yàn)收漏洞修復(fù)總結(jié)

JBossAdmin HTTP注釋敏感信息 8.1 HTTP注釋敏感信息概述

很多 Web 應(yīng)用程序程序員使用 HTML 注釋?zhuān)栽谛枰獣r(shí)幫助調(diào)試應(yīng)用程序。盡管添加常規(guī)注釋有助于調(diào)試應(yīng)用程序,但一些程序員往往會(huì)遺留重要數(shù)據(jù)(例如:與 Web 應(yīng)用程序相關(guān)的文件名、舊的鏈接或原非供用戶瀏覽的鏈接、舊的代碼片段等)。8.2 安全風(fēng)險(xiǎn)及原因分析

安全風(fēng)險(xiǎn)低,能會(huì)收集有關(guān) Web 應(yīng)用程序的敏感信息,如用戶名、密碼、機(jī)器名和/或敏感文件位置

原因:程序員在 Web 頁(yè)面上留下調(diào)試信息

8.3 AppScan掃描建議

[1] 請(qǐng)勿在 HTML 注釋中遺留任何重要信息(如文件名或文件路徑)。

[2] 從生產(chǎn)站點(diǎn)注釋中除去以前(或未來(lái))站點(diǎn)鏈接的跟蹤信息。

[3] 避免在 HTML 注釋中放置敏感信息。

[4] 確保 HTML 注釋不包括源代碼片段。

[5] 確保程序員沒(méi)有遺留重要信息。

中國(guó)電信EMA服務(wù)管理平臺(tái)二期擴(kuò)容安全驗(yàn)收漏洞修復(fù)總結(jié)

8.4 應(yīng)用程序解決方案

雖然這個(gè)漏洞為低級(jí)別漏洞,但電信方也是要求必須修復(fù),要修改此漏洞需要檢查工程中的每一個(gè)jsp頁(yè)面,工作量還是挺大。所以在后續(xù)開(kāi)發(fā)過(guò)程中注釋盡量寫(xiě)英文注釋?zhuān)M量不要遺留敏感注釋信息在jsp代碼中,養(yǎng)成良好的編碼習(xí)慣才是解決問(wèn)題根本。發(fā)現(xiàn)電子郵件地址模式

9.1 發(fā)現(xiàn)電子郵件地址模式概述

Spambot 搜尋因特網(wǎng)站點(diǎn),開(kāi)始查找電子郵件地址來(lái)構(gòu)建發(fā)送自發(fā)電子郵件(垃圾郵件)的郵件列表。AppScan 檢測(cè)到含有一或多個(gè)電子郵件地址的響應(yīng),可供利用以發(fā)送垃圾郵件。而且,找到的電子郵件地址也可能是專(zhuān)用電子郵件地址,對(duì)于一般大眾應(yīng)是不可訪問(wèn)的。9.2 安全風(fēng)險(xiǎn)及原因分析

安全風(fēng)險(xiǎn)低,能會(huì)收集有關(guān) Web 應(yīng)用程序的敏感信息,如用戶名、密碼、機(jī)器名和/或敏感文件位置

原因:Web 應(yīng)用程序編程或配置不安全

9.3 AppScan掃描建議

從 Web 站點(diǎn)中除去任何電子郵件地址,使惡意的用戶無(wú)從利用。

9.4 應(yīng)用程序解決方案

根據(jù)掃描建議刪除注釋中出現(xiàn)email地址信息,如果頁(yè)面中要顯示mail地址轉(zhuǎn)為圖片形式展示。如:ema服務(wù)管理平臺(tái)首頁(yè)需要展示客戶聯(lián)系方式,并且聯(lián)系方式、email等信息,這些信息用戶都是可以自行修改的,因?yàn)榘薳mail地址,所以聯(lián)系方式就轉(zhuǎn)為圖片形式:

<%@ page language=”java“ contentType=”text/html;charset=gb2312“%> <%@ include file=”/common/taglib.jsp“ %> <%@ include file=”/common/chart.jsp“ %> <%@ page import=”java.util.List,java.util.*,java.awt.*,java.awt.image.*,com.su 17 中國(guó)電信EMA服務(wù)管理平臺(tái)二期擴(kuò)容安全驗(yàn)收漏洞修復(fù)總結(jié)

n.image.codec.jpeg.*,java.util.*“ %> <%@ page import=”com.sitech.ismp.informationService.publish.dao.TB_SYS_SUPPORT_STAFFDao“ %> <%@ include file=”/common/link.jsp“ %> <%@ page import=”com.sitech.ismp.util.context.CommUtil“ %>

運(yùn)營(yíng)中心聯(lián)系方式

<%

List typeList =(List)request.getAttribute(”typeList“);out.clear();out = pageContext.pushBody();response.addHeader(”pragma“,”NO-cache“);response.addHeader(”Cache-Control“,”no-cache“);response.addDateHeader(”Expries“,0);int rowheight=20;

int width=135,height=rowheight*typeList.size();String ty= ”“;String mob=”“;for(int i=0;i

HashMap hm=(HashMap)typeList.get(i);ty=(String)hm.get(”TYPE_ID“);List sta =(List)dao.findSupportStaffByTypeId(ty);for(int k=0;k

TB_SYS_SUPPORT_STAFFDao dao= new TB_SYS_SUPPORT_STAFFDao();response.setContentType(”image/jpeg“);

中國(guó)電信EMA服務(wù)管理平臺(tái)二期擴(kuò)容安全驗(yàn)收漏洞修復(fù)總結(jié)

HashMap map =(HashMap)sta.get(k);

mob =(String)map.get(”MOBILE“);

height+=3*rowheight;

if(mob!=null)height+=rowheight;

}

}

BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);Graphics g = image.getGraphics();g.setColor(Color.white);g.fillRect(0, 0, width, height);g.setColor(Color.BLUE);Font font=new Font(”宋體“,Font.PLAIN,13);g.setFont(font);int row=0;

String typeid = ”“;

String typename=”“;

String name = ”“;

String tel=”“;

String mail = ”“;

String mobile=”“;

for(int i=0;i

HashMap hm=(HashMap)typeList.get(i);

typeid=(String)hm.get(”TYPE_ID“);

typename=(String)hm.get(”TYPE_NAME“);

row++;

g.drawString(typename,0,(row-1)*rowheight+10);

List staffs =(List)dao.findSupportStaffByTypeId(typeid);

for(int k=0;k

HashMap map =(HashMap)staffs.get(k);

name =(String)map.get(”NAME“);

tel =(String)map.get(”TEL“);

mail =(String)map.get(”MAIL“);

mobile =(String)map.get(”MOBILE“);

row++;

g.drawString(name+”:"+tel,0,(row-1)*rowheight+10);

row++;

g.drawString(mail,0,(row-1)*rowheight+10);

if(mobile!=null){

row++;

g.drawString(mail,0,(row-1)*rowheight+10);} 19 中國(guó)電信EMA服務(wù)管理平臺(tái)二期擴(kuò)容安全驗(yàn)收漏洞修復(fù)總結(jié)

} } g.dispose();ServletOutputStream outStream = response.getOutputStream();

JPEGImageEncoder encoder encoder.encode(image);outStream.close();=JPEGCodec.createJPEGEncoder(outStream);%>

第五篇:歷史教學(xué)中史觀問(wèn)題總結(jié)

文明史觀

文明史觀肇始于德國(guó)學(xué)者斯賓格勒的《西方的沒(méi)落》,英國(guó)歷史學(xué)家湯因比的《歷史研究》是文明史觀的代表作,法國(guó)學(xué)者布羅代爾《文明史綱》則在國(guó)際上對(duì)文明史觀作出了系統(tǒng)的闡釋。

綜合學(xué)術(shù)界的研究,我們可以在教學(xué)過(guò)程中從以下角度加深對(duì)文明史觀的理解:第一,按照文明史觀的基本要求,根據(jù)社會(huì)生產(chǎn)力的發(fā)展水平,引導(dǎo)學(xué)生將人類(lèi)文明演變劃分為農(nóng)業(yè)文明和工業(yè)文明兩個(gè)發(fā)展階段并作出分析;第二,人類(lèi)的發(fā)展體現(xiàn)了連續(xù)性的統(tǒng)一,要引導(dǎo)學(xué)生關(guān)注人類(lèi)歷史文明成果的繼承與發(fā)展;第三,引導(dǎo)學(xué)生對(duì)歷史文明成果做出合理的評(píng)價(jià)與認(rèn)識(shí);第四,引導(dǎo)學(xué)生認(rèn)識(shí)到,文明發(fā)展的多元性、多樣性、獨(dú)特性及不同類(lèi)型文明之間的聯(lián)系;第五,注重把中華文明納入到世界文明發(fā)展歷程中理解和考察,從人類(lèi)文明發(fā)展的大背景下考察中華文明的演進(jìn)。

《標(biāo)準(zhǔn)》更強(qiáng)調(diào)對(duì)文明史觀的運(yùn)用。要求學(xué)生學(xué)會(huì)汲取人類(lèi)創(chuàng)造的優(yōu)秀文明成果,認(rèn)識(shí)人類(lèi)歷史上物質(zhì)文明、精神文明的重要性,感悟中華文明的歷史價(jià)值和現(xiàn)實(shí)意義;在課程內(nèi)容上也依照文明史觀作出了一定程度的調(diào)整。

文明史觀是一種宏觀的歷史觀,借助這一宏觀理論我們可以對(duì)教材進(jìn)行創(chuàng)造性的整合。

現(xiàn)代化史觀

現(xiàn)代化史觀是指20世紀(jì)80年代,以中國(guó)歷史學(xué)家羅榮渠為代表的中國(guó)歷史學(xué)家基于現(xiàn)代化學(xué)說(shuō)提出的一種新的史觀。現(xiàn)代化理論從生產(chǎn)力角度將人類(lèi)歷史分為原始社會(huì)、農(nóng)業(yè)社會(huì)和工業(yè)社會(huì)三個(gè)階段。羅榮渠教授主張“從宏觀歷史學(xué)的角度,把現(xiàn)代化作為一個(gè)全球性大轉(zhuǎn)變的過(guò)程,從傳統(tǒng)農(nóng)業(yè)社會(huì)向現(xiàn)代化工業(yè)社會(huì)轉(zhuǎn)變的大過(guò)程,進(jìn)行整體性研究”,進(jìn)而在現(xiàn)代化理論的基礎(chǔ)上提出了一元多線史觀。所謂“一元”是社會(huì)生產(chǎn)力的發(fā)展是實(shí)現(xiàn)這種轉(zhuǎn)變的根本原因。所謂“多線”指不同社會(huì)的發(fā)展水平受復(fù)雜的自然因素與社會(huì)因素的影響而千差萬(wàn)別,但可以歸納為不同的發(fā)展道路,任何一種生產(chǎn)方式和社會(huì)形態(tài)都不是單向度的、靜態(tài)的,而是多向度的和動(dòng)態(tài)的。簡(jiǎn)而言之,一元多線史觀認(rèn)為在同一生產(chǎn)力水平上可以存在多種社會(huì)形態(tài)。

現(xiàn)代化史觀所指的從傳統(tǒng)農(nóng)業(yè)社會(huì)向現(xiàn)代化工業(yè)社會(huì)的全球性大轉(zhuǎn)變包括政治上的法制化、民主化進(jìn)程;經(jīng)濟(jì)上的工業(yè)化;思想上的科學(xué)化、大眾化;社會(huì)生活和風(fēng)俗上的城市化。經(jīng)濟(jì)的工業(yè)化和政治的民主化是現(xiàn)代化的兩大核心。在歷史教學(xué)中運(yùn)用現(xiàn)代化史觀,必須以工業(yè)化這一尺度對(duì)歷史發(fā)展進(jìn)行衡量。并且要充分列出具體證據(jù)證明工業(yè)化給歷史發(fā)展帶來(lái)的巨大轉(zhuǎn)變。

全球史觀

1955年,英國(guó)歷史學(xué)家巴勒克拉夫首次提出全球史觀,20世紀(jì)70年代,斯塔夫里阿諾斯的《全球通史》成為全球史觀的優(yōu)秀實(shí)踐。全球史觀,又被稱(chēng)為整體史觀,主張從全球的角度認(rèn)識(shí)人類(lèi)社會(huì)發(fā)展的進(jìn)程,視世界為一個(gè)整體,并從宏觀的、聯(lián)系的角度考察和分析人類(lèi)社會(huì)歷史演變的走向。全球史觀是一個(gè)全方位,開(kāi)放性的體系,包含以下幾層含義:第一,人類(lèi)社會(huì)的發(fā)展進(jìn)程是從分散到整體的過(guò)程。第二,從全球的角度把人類(lèi)文明看成一個(gè)互相聯(lián)系和作用的整體,因?yàn)槿祟?lèi)文明是一個(gè)彼此聯(lián)系的有機(jī)體,縱向發(fā)展和橫向發(fā)展是歷史發(fā)展的兩個(gè)

相互關(guān)聯(lián)彼此影響的基本方面;全球史觀關(guān)注的是整個(gè)人類(lèi)和全球整體,研究那些曾對(duì)整個(gè)世界有影響的歷史力量、歷史運(yùn)動(dòng),以及它們的發(fā)展變化、沖突對(duì)抗和相互交匯;全球史觀分析的著眼點(diǎn)是全球的而非區(qū)域的,整體的而非局部的,重視整體與局部,中心與邊緣的關(guān)系。第三,生產(chǎn)力發(fā)展和人類(lèi)社會(huì)交往的發(fā)展是歷史發(fā)展的兩根主軸。第四,在全球史觀上各國(guó)歷史文化存在等值論。全球歷史觀強(qiáng)調(diào)客觀、公正地記述歷史,平等地對(duì)待各個(gè)地區(qū)和各個(gè)民族的歷史和文明,反對(duì)那種狹隘的、以自我為中心的思維方式和行為方式。

以全球眼光和整體意識(shí)審視人類(lèi)歷史,關(guān)注人類(lèi)共同利益的實(shí)現(xiàn),而不單是關(guān)注某個(gè)民族或國(guó)家的利益,這是人類(lèi)思維認(rèn)識(shí)發(fā)展史上的飛躍。全球史觀在《標(biāo)準(zhǔn)》中得到了進(jìn)一步的深化。運(yùn)用全球史觀進(jìn)行歷史教學(xué),要注意用全球的眼光來(lái)審視歷史事件。

生態(tài)史觀

人類(lèi)的文明史是一部人與自然的關(guān)系史。從人類(lèi)產(chǎn)生,便有了人與自然的關(guān)系,而人類(lèi)創(chuàng)造的文明總是與支撐文明的環(huán)境息息相關(guān)的。研究人類(lèi)的文化和文明與環(huán)境的關(guān)系的歷史觀,就是文明的生態(tài)史觀。

生態(tài)史觀是生態(tài)學(xué)和歷史學(xué)跨學(xué)科融合的產(chǎn)物。生態(tài)史觀認(rèn)為,史學(xué)研究應(yīng)從關(guān)注歷史上的人,轉(zhuǎn)向關(guān)注歷史流變中人與自然、社會(huì)系統(tǒng)與自然系統(tǒng)的關(guān)系。總結(jié)人類(lèi)處理與自然關(guān)系的歷史經(jīng)驗(yàn)和歷史教訓(xùn),評(píng)估歷史上人類(lèi)的活動(dòng)應(yīng)兼顧人類(lèi)與自然、近期與遠(yuǎn)期、局部和整體的利益。促進(jìn)人與自然和諧相處與協(xié)調(diào)發(fā)展,維護(hù)社會(huì)系統(tǒng)與自然系統(tǒng)的動(dòng)態(tài)平衡,是人類(lèi)社會(huì)不可推卸的責(zé)任。

歷史課程具有公民教育的功能,引導(dǎo)年青一代從歷史的角度認(rèn)識(shí)人與自然的關(guān)系,培養(yǎng)和增強(qiáng)其生態(tài)環(huán)保意識(shí),是歷史學(xué)科的責(zé)任。《標(biāo)準(zhǔn)》增加了“以生態(tài)與人口問(wèn)題為例,了解現(xiàn)代人類(lèi)社會(huì)的發(fā)展及面臨的挑戰(zhàn)”等生態(tài)史內(nèi)容。

社會(huì)史觀

社會(huì)史觀否認(rèn)歷史的宏大敘事,反對(duì)英雄史觀和精英史觀。社會(huì)史觀將社會(huì)問(wèn)題也納入史學(xué)研究的對(duì)象,并認(rèn)為社會(huì)問(wèn)題與政治、經(jīng)濟(jì)和文化問(wèn)題同等重要。研究歷史,不僅要“眼光向上”,關(guān)注“大人物”和“大事件”,還要“眼光向下”,關(guān)注“小人物”,關(guān)注與平民百姓蕓蕓眾生息息相關(guān)的“小事”,“小中見(jiàn)大”。

《標(biāo)準(zhǔn)》中社會(huì)史觀愈來(lái)愈受到重視。課程內(nèi)容中增加了“通過(guò)經(jīng)濟(jì)繁榮、開(kāi)放的社會(huì)風(fēng)氣和唐詩(shī)的盛行,了解盛唐的社會(huì)氣象”“了解宋元時(shí)期的都市生活”一類(lèi)的社會(huì)史內(nèi)容,引導(dǎo)教師和教材編寫(xiě)者關(guān)注社會(huì)史。

下載java(Web)中相對(duì)路徑,絕對(duì)路徑問(wèn)題總結(jié)word格式文檔
下載java(Web)中相對(duì)路徑,絕對(duì)路徑問(wèn)題總結(jié).doc
將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
點(diǎn)此處下載文檔

文檔為doc格式


聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

相關(guān)范文推薦

    總結(jié)銷(xiāo)售中遇到的問(wèn)題

    總結(jié)銷(xiāo)售中遇到的問(wèn)題 銷(xiāo)售人員可以通過(guò)對(duì)溝通情景的回顧和必要的詢(xún)問(wèn)或回訪來(lái)了解客戶的態(tài)度,如果得知客戶是感到滿意的,那就要總結(jié)其中的經(jīng)驗(yàn),以便在今后的溝通活動(dòng)中加以借......

    總結(jié)銷(xiāo)售中遇到的問(wèn)題

    1、你是優(yōu)秀的銷(xiāo)售高手嗎在每一次銷(xiāo)售溝通結(jié)束之后,無(wú)論最終是否達(dá)成交易,你都應(yīng)該問(wèn)一問(wèn)自己:“我是一個(gè)優(yōu)秀的銷(xiāo)售高手嗎?”一些銷(xiāo)售人員認(rèn)為,如果最終達(dá)成了交易,那就表明自己......

    關(guān)于銷(xiāo)售中的存在的問(wèn)題總結(jié)

    關(guān)于銷(xiāo)售中的存在的問(wèn)題總結(jié) 第一, 拜訪客戶的目的雖然明確,但總達(dá)不到預(yù)期的效果。比如跟陳主任聊天,想知道他的一些信息,總是把握不好那個(gè)技巧,問(wèn)的太生硬了,他不會(huì)直接回答,開(kāi)玩......

    高中數(shù)學(xué)中合理創(chuàng)設(shè)問(wèn)題情境總結(jié)

    高中數(shù)學(xué)中合理創(chuàng)設(shè)問(wèn)題情境 【摘要】“以問(wèn)題為中心,以學(xué)生為中心”是新課程倡導(dǎo)的核心理念。《新課標(biāo)》中明確指出高中數(shù)學(xué)在數(shù)學(xué)應(yīng)用和聯(lián)系實(shí)際方面需大力加強(qiáng).教師應(yīng)創(chuàng)設(shè)......

    中外服赴美帶薪實(shí)習(xí)問(wèn)題總結(jié)

    中外服赴美帶薪實(shí)習(xí)問(wèn)題總結(jié) 中外服赴美帶薪實(shí)習(xí)總結(jié),美國(guó)在我們每個(gè)人心中的定義不同,我們?nèi)ッ绹?guó)的目的也都迥異,不過(guò)相似的是我們對(duì)于美國(guó)的向往。改革開(kāi)放以來(lái),我國(guó)逐漸的面......

    高校節(jié)能管理中存在問(wèn)題總結(jié)

    高校節(jié)能管理中存在問(wèn)題總結(jié) 我們針對(duì)這些問(wèn)題在學(xué)校和四川其他高校開(kāi)展調(diào)查的目的有兩個(gè),第一:有目的的發(fā)現(xiàn)四川高校是否存在相同的問(wèn)題,便于我們了解四川高校水電浪費(fèi)的大體......

    問(wèn)題總結(jié)

    關(guān)于開(kāi)展基層生產(chǎn)員工談思想活動(dòng)的總結(jié)報(bào)告 根據(jù)公司安排工會(huì)代表章總進(jìn)行生產(chǎn)一線員工談思想活動(dòng),經(jīng)過(guò)面對(duì)面實(shí)際交談,發(fā)現(xiàn)存在不少問(wèn)題。下面我對(duì)交談中的問(wèn)題做以下幾點(diǎn)總......

    問(wèn)題總結(jié)

    問(wèn)題總結(jié) ——活動(dòng)組胡俊 1. 2. 3. 4. 圖書(shū)館的藏書(shū)太少,桌子也少。自習(xí)室太少,應(yīng)該多開(kāi)幾棟教學(xué)樓提供自習(xí)室。 圖書(shū)館周末開(kāi)放的時(shí)間太短。宿舍熄燈太早了。午休時(shí)間不夠。......

主站蜘蛛池模板: 福利姬液液酱喷水| 午夜福利理论片在线观看播放| 丰满人妻一区二区三区视频| 亚洲熟妇无码另类久久久| 在线观看亚洲精品国产福利片| 国产成人一区二区三区视频免费| 夜夜高潮天天爽欧美| 亚洲欧洲成人a∨在线观看| 日本乱偷人妻中文字幕在线| 人妻熟女一区二区aⅴ千叶宁真| 亚洲欧美日韩中文在线制服| 国产免费午夜福利不卡片在线| 337p西西人体大胆瓣开下部| 亚洲第一综合网址网址| 国产专区一线二线三线码| 巨熟乳波霸若妻在线播放| 国产美女在线精品免费观看| 精品久久久久久中文字幕人妻最新| 中文字幕av无码一区二区三区电影| 久久天堂av综合合色| 国产成人亚洲精品无码h在线| 东京无码熟妇人妻av在线网址| 亚洲中文字幕无码日韩精品| 男女性杂交内射妇女bbwxz| 国产呻吟久久久久久久92| 国产成a人亚洲精品无码樱花| 日产精品久久久久久久| 国产精品毛片无遮挡| 少妇粉嫩小泬白浆流出| 一本大道伊人av久久综合| 国产精品无码久久av| 国产无遮挡a片又黄又爽| 99久久精品免费看国产一区二区| 五月丁香国产在线视频| 一本加勒比hezyo无码资源网| 免费人成无码大片在线观看| 亚洲成av人片无码不卡| 成人国产一区二区三区精品| 强奷乱码中文字幕| 亚洲最新版av无码中文字幕| 影音先锋在线亚洲网站|