跨站腳本實例
① 阻止黑客注入鏈接
構建安全伺服器環境,構築黑客攻擊第一鏈條。但構建安全的伺服器環境來抵禦「黑客」攻擊,其涉及面相當廣,但就中小型網站而言,大致可從三個方面來進行:(一):技術層面:採用軟硬體防火牆、殺毒軟體、頁面防篡改系統來建立一個結構上較完善的Web伺服器環境;(二):服務方面,進行網路拓撲分析、建立中心機房管理制度、建立操作系統以及防病毒軟體定期升級機制、對重要伺服器的訪問日誌進行備份,通過這些服務,增強網路的抗干擾性;(三):支持方面,要求服務商提供故障排除服務,以提高網路的可靠性。但目前大多數中小型網站都是以虛擬主機的形式託管的,要提高網站安全性,降低黑客攻擊風險,網站管理員就應及時給自己的網站程序打上最新的補丁,在開發的時候應加強安全意識,注意防止注入漏洞、上傳漏洞等問題,同時把網站託管在技術實力強、安全系數高、能主動幫客戶解決安全的服務商處,以確保網站安全運行環境的安全。專家支招二:重視網站系統安全,布控第二把鎖構建安全伺服器的環境,只是從外圍進行阻擊「黑客」的攻擊,但更重要的還是要保障網站系統安全,防止黑客利用系統漏洞進行攻擊,從而威脅網站安全。據動易公司網路安全專家介紹:根據2007年 OWASP 組織發布的 Web 應用程序脆弱性10大排名的統計結果表明,跨站腳本、注入漏洞、跨站請求偽造、信息泄露等方面的問題仍然是目前黑客流行的攻擊方式,而其中尤以sql注入攻擊和跨站腳本攻擊為重,所謂的SQL注入攻擊就是利用程序員在編寫代碼時沒有對用戶輸入數據的合法性進行判斷,導致入侵者可以通過插入並執行惡意SQL命令,獲得數據讀取和修改的許可權;而跨站腳本攻擊則是通過在網頁中加入惡意代碼,當訪問者瀏覽網頁時,惡意代碼會被執行或者通過給管理員發信息的方式誘使管理員瀏覽,從而獲得管理員許可權,控制整個網站。那麼,對這種黑客攻擊方式有沒有有效的安全手段進行阻擊呢?據悉,在SiteFactory�6�4 內容管理系統開發中,針對各種攻擊方式都制定了相應完整的防禦方案,並且藉助 ASP.NET 的特性和功能,可以有效的抵制惡意用戶對網站進行的攻擊,提高網站的安全性,但就針對目前SQL注入攻擊和跨站腳本攻擊,其更加有效的阻擊手段是什麼呢?為此,我們向動易網路安全專家了解,他向我們介紹了一些安全手段:(一)對於SQL注入攻擊:動易系統採用對SQL查詢語句中的查詢參數進行過濾;使用類型安全的SQL參數化查詢方式,從根本上解決SQL注入的問題;URL參數類型、數量、范圍限制功能,解決惡意用戶通過地址欄惡意攻擊的問題等,這些手段是控制SQL注入的,還包括其它的一些過濾處理,和其它的對用戶輸入數據的驗證來防止SQL注入攻擊。(二):對於跨站腳本攻擊:在對於不支持HTML的內容直接實行編碼處理的辦法,來從根本上解決跨站問題。而對於支持Html的內容,我們有專門的過濾函數,會對數據進行安全處理(依據XSS攻擊庫的攻擊實例),雖然這種方式目前是安全的,但不代表以後也一定是安全的,因為攻擊手段會不斷翻新,我們的過濾函數庫也會不斷更新。另外對於外站訪問和直接訪問我們也做了判斷,從一定程度上也可以避免跨站攻擊。即使出現了了跨站攻擊,我們也會將攻擊的影響減到最小:一、對於後台一些會顯示HTML內容的地方,通過frame的安全屬性security="restricted"來阻止腳本的運行(IE有效);二、使用Cookie的HttpOnly屬性來防止Cookie通過腳本泄密(IE6 SP1以上、Firefox 3);三、身份驗證票據都是加密過的;四、推薦使用更高版本的IE或者FF。
② xss攻擊的實例
XSS又叫CSS (Cross Site Script) ,跨站腳本攻擊。它指的是惡意攻擊者往Web頁面里插入惡意html代碼,當用戶瀏覽該頁之時,嵌入其中Web裡面的html代碼會被執行,從而達到惡意攻擊用戶的特殊目的。XSS屬於被動式的攻擊,因為其
③ Discuz,X-Discuz論壇有哪些入侵滲透手段
既然是手段,當然就是把那些常見的入侵手法寫出來,具體操作什麼的,給出實例,現在大多數都是基於web的滲透,sql注入,xss跨站腳本,include包含,upload上傳,伺服器配置不嚴等等,拿到許可權後利用本地溢出提權,抓hash,掃弱口令等擴大戰果等等,網上資料都很多,多利用,google搜索一下就有了,最好再給出自己的見解
④ 誰能說一下腳本病毒的原理、攻擊流程與防護、、最好詳細點呀、網站也好、謝啦、、
通過對xss跨站腳本攻擊漏洞的歷史、攻擊特點、攻擊原理描述及案例代碼實戰舉例詳細解析XSS漏洞攻擊技術,並提出防禦XSS跨站漏洞的思路方法。及WEB開發者開發網站過程中防範編碼中產生xss跨站腳本攻擊漏洞需要注意的事項。
XSS漏洞概述:
XSS(Cross Site Script)跨站點腳本攻擊是一種注射的問題,在這種惡意腳本注入否則良性和信任的網站類型。跨站點腳本(XSS)攻擊,攻擊者使用時,會出現一個網路應用程序發送惡意代碼,一般是在瀏覽器端腳本的形式,向不同的最終用戶。這些缺陷,使攻擊成功是相當普遍,發生在任何地方從一個Web應用程序使用在輸出它沒有驗證或編碼了用戶輸入。攻擊者可以使用XSS的惡意腳本發送到一個毫無戒心的用戶。最終用戶的瀏覽有沒有辦法知道該腳本不應該信任,將執行該腳本。因為它認為該腳本來從一個受信任的源,惡意腳本可以訪問任何Cookie,會話令牌,或其他敏感信息的瀏覽器保留,並與該網站使用。 甚至可以重寫這些腳本的HTML網頁的內容。
XSS漏洞歷史:
XSS(Cross-site scripting)漏洞最早可以追溯到1996年,那時電子商務才剛剛起步,估計那時候國內很少人會想像到今天出現的幾個國內電子商務巨頭淘寶、當當、亞馬遜(卓越)。XSS的出現「得益」於javaScript的出現,JavaScript的出現給網頁的設計帶來了無限驚喜,包括今天風行的AJAX(Asynschronous JavaScript and XML)。同時,這些元素又無限的擴充了今天的網路安全領域。
XSS 漏洞攻擊特點:
(1)XSS跨站漏洞種類多樣人:
XSS攻擊語句可插入到、URL地址參數後面、輸入框內、img標簽及DIV標簽等HTML函數的屬人里、Flash的getURL()動作等地方都會觸發XSS漏洞。
(2)XSS跨站漏洞代碼多樣人:
為了躲避轉義HTML特殊字元函數及過濾函數的過濾,XSS跨站的代碼使用「/」來代替安字元「」」、使用Tab鍵代替空格、部分語句轉找成16進制、添加特殊字元、改變大小寫及使用空格等來繞過過濾函數。
如果在您的新聞系統發現安全漏洞,如果該漏洞是一個SQL 注入漏洞,那麼該漏洞就會得到您的網站管理員密碼、可以在主機系統上執行shell命令、對資料庫添加、刪除數據。如果在您的新聞或郵件系統中發現安全漏洞,如果該漏洞是一個XSS跨站漏洞,那麼可以構造一些特殊代碼,只要你訪問的頁麵包含了構造的特殊代碼,您的主機可能就會執行木馬程序、執行^***Cookies代碼、突然轉到一個銀行及其它金融類的網站、泄露您的網銀及其它賬號與密碼等。
XSS攻擊原理:
XSS 屬於被動式的攻擊。攻擊者先構造一個跨站頁面,利用script、<IMG>、<IFRAME>等各種方式使得用戶瀏覽這個頁面時,觸發對被攻擊站點的http 請求。此時,如果被攻擊者如果已經在被攻擊站點登錄,就會持有該站點cookie。這樣該站點會認為被攻擊者發起了一個http 請求。而實際上這個請求是在被攻擊者不知情的情況下發起的,由此攻擊者在一定程度上達到了冒充被攻擊者的目的。精心的構造這個攻擊請求,可以達到冒充發文,奪取許可權等等多個攻擊目的。在常見的攻擊實例中,這個請求是通過script 來發起的,因此被稱為Cross Site Script。攻擊Yahoo Mail 的Yamanner 蠕蟲是一個著名的XSS 攻擊實例。Yahoo Mail 系統有一個漏洞,當用戶在web 上察看信件時,有可能執行到信件內的javascript 代碼。病毒可以利用這個漏洞使被攻擊用戶運行病毒的script。同時Yahoo Mail 系統使用了Ajax技術,這樣病毒的script 可以很容易的向Yahoo Mail 系統發起ajax 請求,從而得到用戶的地址簿,並發送病毒給他人。
XSS 攻擊主要分為兩類:一類是來自內部的攻擊,主要指的是利用WEB 程序自身的漏洞,提交特殊的字元串,從而使得跨站頁面直接存在於被攻擊站點上,這個字元串被稱為跨站語句。這一類攻擊所利用的漏洞非常類似於SQL Injection 漏洞,都是WEB程序沒有對用戶輸入作充分的檢查和過濾。上文的Yamanner 就是一例。
另一類則是來來自外部的攻擊,主要指的自己構造XSS 跨站漏洞網頁或者尋找非目標機以外的有跨站漏洞的網頁。如當我們要滲透一個站點,我們自己構造一個跨站網頁放在自己的伺服器上,然後通過結合其它技術,如社會工程學等,欺騙目標伺服器的管理員打開。這一類攻擊的威脅相對較低,至少ajax 要發起跨站調用是非常困難的。
⑤ 跨站攻擊
除了自身的硬體條件外,還需要對你的伺服器做出安全設置控制,用2003系統來說下具體安全設置如下:
1、伺服器安全設置之--硬碟許可權篇
這里著重談需要的許可權,也就是最終文件夾或硬碟需要的許可權,可以防禦各種木馬入侵,提權攻擊,跨站攻擊等。本實例經過多次試驗,安全性能很好,伺服器基本沒有被木馬威脅的擔憂了。
硬碟或文件夾: C:\ D:\ E:\ F:\ 類推
主要許可權部分:
Administrators 完全控制 無
該文件夾,子文件夾及文件
<不是繼承的>
CREATOR OWNER 完全控制
只有子文件夾及文件
<不是繼承的>
SYSTEM 完全控制
該文件夾,子文件夾及文件
<不是繼承的>
其他許可權部分:
如果安裝了其他運行環境,比如php等,則根據PHP的環境功能要求來設置硬碟許可權,一般是安裝目錄加上users讀取運行許可權就足夠了,比如c:\php的話,就在根目錄許可權繼承的情況下加上users讀取運行許可權,需要寫入數據的比如tmp文件夾,則把users的寫刪許可權加上,運行許可權不要,然後把虛擬主機用戶的讀許可權拒絕即可。如果是mysql的話,用一個獨立用戶運行MYSQL會更安全,下面會有介紹。如果是winwebmail,則最好建立獨立的應用程序池和獨立IIS用戶,然後整個安裝目錄有users用戶的讀/運行/寫/許可權,IIS用戶則相同,這個IIS用戶就只用在winwebmail的WEB訪問中,其他IIS站點切勿使用
硬碟設置需要根據你的實際需要來設置許可權!
2、伺服器安全設置之--系統服務篇(設置完畢需要重新啟動)
*除非特殊情況非開不可,下列系統服務要停止並禁用:
1、Alerter 2、Application Layer Gateway Service 3、
Background Intelligent Transfer Service
4、Computer Browser 5、Distributed File System 6、Help and Support 7、Messenger 8、NetMeeting Remote Desktop Sharing 9、Print Spooler 10、Remote Registry 11、Task Scheler 12、TCP/IP NetBIOS Helper 13、Telnet 14、Workstation 以上是windows2003server標准服務當中需要停止的服務,作為IIS網路伺服器,以上服務務必要停止,如果需要SSL證書服務,則設置方法不同。如果你裝有虛擬主機系統,設置當然也不一樣!更詳細設置可以根據自己的需要找更詳細的參考資料。
3、伺服器安全設置之--組件安全設置篇 (非常重要!!!)
A、卸載WScript.Shell 和 Shell.application 組件,將下面的代碼保存為一個.BAT文件執行(分2000和2003系統)
win2000
regsvr32/u C:\WINNT\System32\wshom.ocx
del C:\WINNT\System32\wshom.ocx
regsvr32/u C:\WINNT\system32\shell32.dll
del C:\WINNT\system32\shell32.dll
win2003
regsvr32/u C:\WINDOWS\System32\wshom.ocx
del C:\WINDOWS\System32\wshom.ocx
regsvr32/u C:\WINDOWS\system32\shell32.dll
del C:\WINDOWS\system32\shell32.dll
B、改名不安全組件,需要注意的是組件的名稱和Clsid都要改,並且要改徹底了,不要照抄,要自己改
【開始→運行→regedit→回車】打開注冊表編輯器
然後【編輯→查找→填寫Shell.application→查找下一個】
用這個方法能找到兩個注冊表項:
{13709620-C279-11CE-A49E-444553540000} 和 Shell.application 。
第一步:為了確保萬無一失,把這兩個注冊表項導出來,保存為xxxx.reg 文件。
第二步:比如我們想做這樣的更改
13709620-C279-11CE-A49E-444553540000 改名為 13709620-C279-11CE-A49E-444553540001
Shell.application 改名為 Shell.application_nohack
第三步:那麼,就把剛才導出的.reg文件里的內容按上面的對應關系替換掉,然後把修改好的.reg文件導入到注冊表中(雙擊即可),導入了改名後的注冊表項之後,別忘記了刪除原有的那兩個項目。這里需要注意一點,Clsid中只能是十個數字和ABCDEF六個字母。
其實,只要把對應注冊表項導出來備份,然後直接改鍵名就可以了。
WScript.Shell 和 Shell.application 組件是 腳本入侵過程中,提升許可權的重要環節,這兩個組件的卸載和修改對應注冊鍵名,可以很大程度的提高虛擬主機的腳本安全性能,一般來說,ASP和php類腳本提升許可權的功能是無法實現了,再加上一些系統服務、硬碟訪問許可權、埠過濾、本地安全策略的設置,虛擬主機因該說,安全性能有非常大的提高,黑客入侵的可能性是非常低了。注銷了Shell組件之後,侵入者運行提升工具的可能性就很小了,但是prel等別的腳本語言也有shell能力,為防萬一,還是設置一下為好。下面是另外一種設置,大同小異。
一、禁止使用FileSystemObject組件
FileSystemObject可以對文件進行常規操作,可以通過修改注冊表,將此組件改名,來防止此類木馬的危害。
HKEY_CLASSES_ROOT\Scripting.FileSystemObject\
改名為其它的名字,如:改為 FileSystemObject_ChangeName
自己以後調用的時候使用這個就可以正常調用此組件了
也要將clsid值也改一下
HKEY_CLASSES_ROOT\Scripting.FileSystemObject\CLSID\項目的值
也可以將其刪除,來防止此類木馬的危害。
2000注銷此組件命令:RegSrv32 /u C:\WINNT\SYSTEM\scrrun.dll
2003注銷此組件命令:RegSrv32 /u C:\WINDOWS\SYSTEM\scrrun.dll
如何禁止Guest用戶使用scrrun.dll來防止調用此組件?
使用這個命令:cacls C:\WINNT\system32\scrrun.dll /e /d guests
二、禁止使用WScript.Shell組件
WScript.Shell可以調用系統內核運行DOS基本命令
可以通過修改注冊表,將此組件改名,來防止此類木馬的危害。
HKEY_CLASSES_ROOT\WScript.Shell\及HKEY_CLASSES_ROOT\WScript.Shell.1\
改名為其它的名字,如:改為WScript.Shell_ChangeName 或 WScript.Shell.1_ChangeName
自己以後調用的時候使用這個就可以正常調用此組件了
也要將clsid值也改一下
HKEY_CLASSES_ROOT\WScript.Shell\CLSID\項目的值
HKEY_CLASSES_ROOT\WScript.Shell.1\CLSID\項目的值
也可以將其刪除,來防止此類木馬的危害。
三、禁止使用Shell.Application組件
Shell.Application可以調用系統內核運行DOS基本命令
可以通過修改注冊表,將此組件改名,來防止此類木馬的危害。
HKEY_CLASSES_ROOT\Shell.Application\
及
HKEY_CLASSES_ROOT\Shell.Application.1\
改名為其它的名字,如:改為Shell.Application_ChangeName 或 Shell.Application.1_ChangeName
自己以後調用的時候使用這個就可以正常調用此組件了
也要將clsid值也改一下
HKEY_CLASSES_ROOT\Shell.Application\CLSID\項目的值
HKEY_CLASSES_ROOT\Shell.Application\CLSID\項目的值
也可以將其刪除,來防止此類木馬的危害。
禁止Guest用戶使用shell32.dll來防止調用此組件。
2000使用命令:cacls C:\WINNT\system32\shell32.dll /e /d guests
2003使用命令:cacls C:\WINDOWS\system32\shell32.dll /e /d guests
註:操作均需要重新啟動WEB服務後才會生效。
四、調用Cmd.exe
禁用Guests組用戶調用cmd.exe
2000使用命令:cacls C:\WINNT\system32\Cmd.exe /e /d guests
2003使用命令:cacls C:\WINDOWS\system32\Cmd.exe /e /d guests
通過以上四步的設置基本可以防範目前比較流行的幾種木馬,但最有效的辦法還是通過綜合安全設置,將伺服器、程序安全都達到一定標准,才可能將安全等級設置較高,防範更多非法入侵。
C、防止Serv-U許可權提升 (適用於 Serv-U6.0 以前版本,之後可以直接設置密碼)
先停掉Serv-U服務
用Ultraedit打開ServUDaemon.exe
查找 Ascii:LocalAdministrator 和 #l@$ak#.lk;0@P
修改成等長度的其它字元就可以了,ServUAdmin.exe也一樣處理。
另外注意設置Serv-U所在的文件夾的許可權,不要讓IIS匿名用戶有讀取的許可權,否則人家下走你修改過的文件,照樣可以分析出你的管理員名和密碼。
4、伺服器安全設置之--IIS用戶設置方法
不同站點使用不用的IIS用戶。另外許可權的設置要細致。
5、伺服器安全設置之--伺服器安全和性能配置
把下面文本保存為: windows2000-2003伺服器安全和性能注冊表自動配置文件.reg 運行即可。[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"NoRecentDocsMenu"=hex:01,00,00,00
"NoRecentDocsHistory"=hex:01,00,00,00
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon]
"DontDisplayLastUserName"="1"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]
"restrictanonymous"=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\Parameters]
"AutoShareServer"=dword:00000000
"AutoShareWks"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"EnableICMPRedirect"=dword:00000000
"KeepAliveTime"=dword:000927c0
"SynAttackProtect"=dword:00000002
"TcpMaxHalfOpen"=dword:000001f4
"TcpMaxHalfOpenRetried"=dword:00000190
""=dword:00000001
"TcpMaxDataRetransmissions"=dword:00000003
"TCPMaxPortsExhausted"=dword:00000005
"DisableIPSourceRouting"=dword:00000002
"TcpTimedWaitDelay"=dword:0000001e
"TcpNumConnections"=dword:00004e20
"EnablePMTUDiscovery"=dword:00000000
"NoNameReleaseOnDemand"=dword:00000001
"EnableDeadGWDetect"=dword:00000000
"PerformRouterDiscovery"=dword:00000000
"EnableICMPRedirects"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters]
"BacklogIncrement"=dword:00000005
"MaxConnBackLog"=dword:000007d0
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AFD\Parameters]
"EnableDynamicBacklog"=dword:00000001
"MinimumDynamicBacklog"=dword:00000014
"MaximumDynamicBacklog"=dword:00007530
"DynamicBacklogGrowthDelta"=dword:0000000a
功能:可抵禦DDOS攻擊2-3萬包,提高伺服器TCP-IP整體安全性能(效果等於軟體防火牆,節約了系統資源)
6、伺服器安全設置之--IP安全策略 (僅僅列出需要屏蔽或阻止的埠或協議)
協議 IP協議埠 源地址 目標地址 描述 方式
ICMP -- -- -- ICMP 阻止
UDP 135 任何IP地址 我的IP地址 135-UDP 阻止
UDP 136 任何IP地址 我的IP地址 136-UDP 阻止
UDP 137 任何IP地址 我的IP地址 137-UDP 阻止
UDP 138 任何IP地址 我的IP地址 138-UDP 阻止
UDP 139 任何IP地址 我的IP地址 139-UDP 阻止
TCP 445 任何IP地址-從任意埠 我的IP地址-445 445-TCP 阻止
UDP 445 任何IP地址-從任意埠 我的IP地址-445 445-UDP 阻止
UDP 69 任何IP地址-從任意埠 我的IP地址-69 69-入 阻止
UDP 69 我的IP地址-69 任何IP地址-任意埠 69-出 阻止
TCP 4444 任何IP地址-從任意埠 我的IP地址-4444 4444-TCP 阻止
TCP 1026 我的IP地址-1026 任何IP地址-任意埠 灰鴿子-1026 阻止
TCP 1027 我的IP地址-1027 任何IP地址-任意埠 灰鴿子-1027 阻止
TCP 1028 我的IP地址-1028 任何IP地址-任意埠 灰鴿子-1028 阻止
UDP 1026 我的IP地址-1026 任何IP地址-任意埠 灰鴿子-1026 阻止
UDP 1027 我的IP地址-1027 任何IP地址-任意埠 灰鴿子-1027 阻止
UDP 1028 我的IP地址-1028 任何IP地址-任意埠 灰鴿子-1028 阻止
TCP 21 我的IP地址-從任意埠 任何IP地址-到21埠 阻止tftp出站 阻止
TCP 99 我的IP地址-99 任何IP地址-任意埠 阻止99shell 阻止
以上是IP安全策略里的設置,可以根據實際情況,增加或刪除埠
7、伺服器安全設置之--本地安全策略設置
安全策略自動更新命令:GPUpdate /force (應用組策略自動生效不需重新啟動)
開始菜單—>管理工具—>本地安全策略
A、本地策略——>審核策略
審核策略更改 成功 失敗
審核登錄事件 成功 失敗
審核對象訪問 失敗
審核過程跟蹤 無審核
審核目錄服務訪問 失敗
審核特權使用 失敗
審核系統事件 成功 失敗
審核賬戶登錄事件 成功 失敗
審核賬戶管理 成功 失敗
B、本地策略——>用戶許可權分配
關閉系統:只有Administrators組、其它全部刪除。
通過終端服務拒絕登陸:加入Guests、User組
通過終端服務允許登陸:只加入Administrators組,其他全部刪除
C、本地策略——>安全選項
互動式登陸:不顯示上次的用戶名 啟用
網路訪問:不允許SAM帳戶和共享的匿名枚舉 啟用
網路訪問:不允許為網路身份驗證儲存憑證 啟用
網路訪問:可匿名訪問的共享 全部刪除
網路訪問:可匿名訪問的命 全部刪除
網路訪問:可遠程訪問的注冊表路徑 全部刪除
網路訪問:可遠程訪問的注冊表路徑和子路徑 全部刪除
帳戶:重命名來賓帳戶 重命名一個帳戶
帳戶:重命名系統管理員帳戶 重命名一個帳戶
還有很多設置!你可以多找找資料!
以上回答你滿意么?
⑥ PHP中cookie和session的區別實例分析
Session是由應用伺服器維持的一個伺服器端的存儲空間,用戶在連接伺服器時,會由伺服器生成一個唯一的SessionID,用該SessionID
為標識符來存取伺服器端的Session存儲空間。而SessionID這一數據則是保存到客戶端,用Cookie保存的,用戶提交頁面時,會將這一
SessionID提交到伺服器端,來存取Session數據。這一過程,是不用開發人員干預的。所以一旦客戶端禁用Cookie,那麼Session也會失效。
伺服器也可以通過URL重寫的方式來傳遞SessionID的值,因此不是完全依賴Cookie。如果客戶端Cookie禁用,則伺服器可以自動通過重寫URL的方式來保存Session的值,並且這個過程對程序員透明。
可以試一下,即使不寫Cookie,在使用request.getCookies();取出的Cookie數組的長度也是1,而這個Cookie的名字就是JSESSIONID,還有一個很長的二進制的字元串,是SessionID的值。
大家都知道,http是無狀態的協議,客戶每次讀取web頁面時,伺服器都打開新的會話,而且伺服器也不會自動維護客戶的上下文信息,那麼要怎麼才能實現
網上商店中的購物車呢,session就是一種保存上下文信息的機制,它是針對每一個用戶的,變數的值保存在伺服器端,通過SessionID來區分不同
的客戶,session是以cookie或URL重寫為基礎的,默認使用cookie來實現,系統會創造一個名為JSESSIONID的輸出
cookie,我們叫做session
cookie,以區別persistent cookies,也就是我們通常所說的cookie,注意session
cookie是存儲於瀏覽器內存中的,並不是寫到硬碟上的,這也就是我們剛才看到的JSESSIONID,我們通常情是看不到JSESSIONID的,但
是當我們把瀏覽器的cookie禁止後,web伺服器會採用URL重寫的方式傳遞Sessionid,我們就可以在地址欄看到
sessionid=KWJHUG6JJM65HS2K6之類的字元串。
明白了原理,我們就可以很容易的分辨出persistent cookies和session
cookie的區別了,網上那些關於兩者安全性的討論也就一目瞭然了,session
cookie針對某一次會話而言,會話結束session cookie也就隨著消失了,而persistent
cookie只是存在於客戶端硬碟上的一段文本(通常是加密的),而且可能會遭到cookie欺騙以及針對cookie的跨站腳本攻擊,自然不如session
cookie安全了。
通常session
cookie是不能跨窗口使用的,當你新開了一個瀏覽器窗口進入相同頁面時,系統會賦予你一個新的sessionid,這樣我們信息共享的目的就達不到了,此時我們可以先把sessionid保存在persistent
cookie中,然後在新窗口中讀出來,就可以得到上一個窗口SessionID了,這樣通過session
cookie和persistent cookie的結合我們就實現了跨窗口的session tracking(會話跟蹤)。
在一些web開發的書中,往往只是簡單的把Session和cookie作為兩種並列的http傳送信息的方式,session
cookies位於伺服器端,persistent
cookie位於客戶端,可是session又是以cookie為基礎的,明白的兩者之間的聯系和區別,我們就不難選擇合適的技術來開發web
service了。
實例附上出處鏈接:http://www.jb51.net/article/54436.htm
⑦ 有哪些 Python 經典書籍
《深度學習入門》([ 日] 齋藤康毅)電子書網盤下載免費在線閱讀
資源鏈接:
鏈接: https://pan..com/s/1ddnvGv-r9PxjwMLpN0ZQIQ
書名:深度學習入門
作者:[ 日] 齋藤康毅
譯者:陸宇傑
豆瓣評分:9.4
出版社:人民郵電出版社
出版年份:2018-7
頁數:285
內容簡介:本書是深度學習真正意義上的入門書,深入淺出地剖析了深度學習的原理和相關技術。書中使用Python3,盡量不依賴外部庫或工具,從基本的數學知識出發,帶領讀者從零創建一個經典的深度學習網路,使讀者在此過程中逐步理解深度學習。書中不僅介紹了深度學習和神經網路的概念、特徵等基礎知識,對誤差反向傳播法、卷積神經網路等也有深入講解,此外還介紹了深度學習相關的實用技巧,自動駕駛、圖像生成、強化學習等方面的應用,以及為什麼加深層可以提高識別精度等「為什麼」的問題。
作者簡介:
齋藤康毅
東京工業大學畢業,並完成東京大學研究生院課程。現從事計算機視覺與機器學習相關的研究和開發工作。是Introcing Python、Python in Practice、The Elements of Computing Systems、Building Machine Learning Systems with Python的日文版譯者。
譯者簡介:
陸宇傑
眾安科技NLP演算法工程師。主要研究方向為自然語言處理及其應用,對圖像識別、機器學習、深度學習等領域有密切關注。Python愛好者。
⑧ 最近網上流行的XSS是什麼意思
最近網上流行的XSS是小學生的惡稱,罵小學生的。
一是指某些人的想法、思維方式、對事物的認知和思考能力如孩子般幼稚、單純、天真。
二是特指某類相對於同齡的人,在游戲競技或者社交網路中, 態度傲慢、技術水準較差、拒絕與隊友溝通、獨斷專行、忽視團隊合作、甚至喜歡惡語相向的網遊玩家。
三是指對沒有接觸過社會或社會經驗不足。
(8)跨站腳本實例擴展閱讀:
1、小學生技術菜,愛罵人,玻璃心(說他一句就掛機送人頭,不管說什麼,比如:中路的你不要再送了,然後他就說「我就送」,接著就開始了。)小學生的心思就像星空,摸不著猜不透。
2、大噴子(網路中對喜歡肆意謾罵、地域黑、招黑、互黑等網友的一種廣泛性定義。),不分青紅皂白就開噴。
3、說話不經過大腦考慮,以自我為中心,可能是在家被寵慣了。
4、沒有接觸過社會大家庭或接觸社會經驗不足。比如:參加工作,你要是不讓新人上,永遠都是新人。這也是小學生。