Ⅰ 求教Java web項目一般怎樣做代碼混淆或加密
一、java web項目混淆
proguard4.8工具,說是支持war的,可混淆過後少了classes目錄了,自然成功不了。網上搜的過程不詳說了,最後找著--「J2EE-web工程ProGuard代碼混淆07_28」,網址:http://wenku..com/link?url=CxToEqg5QWbz2_--cVqaImGKnLLLTO45u6uD_
根據提示一步步完成。
把web項目打成jar包後用proguard進行混淆,然後把混淆過後的class目錄替換發布包war中的對應目錄,啟動運行是正常的。
主要注意利用proguard生成xxx.pro文件,然後手動加工-keep class WebRoot.WEB-INFO.lib.* 等項目中不需要混淆的包和類。
二、java web項目打成.exe
沒找到免費的,這搜到個收費的--Jinstall,試了下功能挺好,
可以加密、集成jdk、tomcat,如果資料庫是mysql也集成,其他資料庫的話要設置資料庫的url.
Ⅱ 如何對web.config進行加密和解密
1. 加密通用語法
加密一個特定網站的web.config文件的通用形式
aspnet_regiis.exe -pef secion physical_directory -prov provider
或
aspnet_regiis.exe -pe secion -app virtual_directory -prov provider
其中,各個參數的含義如下:
section表示要加密的配置節
physical_directory用於指定站點的物理路徑。
virtual_directory用戶指定虛擬路徑。
provider指定加密提供程序。
加密一個特定站點的連接字元串就是:
aspnet_regiis.exe -pef "connectionStrings" "你的web項目路徑" -prov ""
其中是Windows數據保護API(DPAPI)提供程序,它使用Windows內置的密碼學技術來加解密配置節。默認情況下,這個提供程序使用本機的密鑰。
2. 加密方法
運行Visual Studio 2008命令提示
加密後的結果
[xhtml] view plain
<connectionStrings configProtectionProvider="">
<EncryptedData>
<CipherData> <CipherValue>AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAy1WyvzomB0WAlqYo++bAce//lsg/so66+//LD9H9WQ9uF3t/0MoMI9tbrWdFJ1Yu5/e3PAV4RCbCvDlPD0VC7hxtDMqfRjQ+1OhTdk2woiSNpx0TzXwZE25o4vlXq/+lZtAj8lzf2bK+/L0+6bizStRZ7BDnOngV//CVDQ==</CipherValue>
</CipherData>
</EncryptedData>
lt;/connectionStrings>
3. 解密
解密該連接字元串也很簡單
aspnet_regiis.exe -pdf "connectionStrings" '你的web項目路徑"
解密後的結果:
[xhtml] view plain
<connectionStrings>
<add name="Sql" connectionString="Data Source=.;Initial Catalog=MySchool;Integrated Security=True" />
</connectionStrings>
4. 後台代碼讀取配置文件web.config中資料庫連接字元串的方法:
[c-sharp] view plain
using System.Configuation;
…
protected void Page_Load(object sender, EventArgs e)
{
lblMessage.Text = ConfigurationManager.ConnectionStrings["Sql"].ToString();
}
…
5. 在連接字元串的加密和解密的過程中,需要注意一下幾點。
使用加密的連接字元串
使用加密的連接字元串不需要編碼解密,ASP.NET會自動對加密內容進行解密。
加密和解密在同一台計算機上使用
在加密過程中,使用了一個基於本機的密鑰。這就意味著加密和解密必須在同一台計算機上進行,否則將不能解密。同時,在一台計算機上加密的配置,在另一台計算機上將不能正常使用。
中文路徑問題
該命令對中文支持不是很好。如果站點的路徑中有中文字元,也許不能正常加解密。
Ⅲ 請教webservice安全和加密的方法
眾所周知,WebService訪問API是公開的,知道其URL者均可以研究與調用。那麼,在只允許注冊用戶的WebService應用中,如何確保API訪問和通信的安全性呢?本文所指的訪問與通信安全性包括:
訪問安全性:當前訪問者是注冊合法用戶
通信安全性:客戶端與伺服器之間的消息即使被第三方竊取也不能解密
本文安全的基本思路是:
注冊用戶登錄時使用RSA加密
Web API調用參數使用DES加密(速度快)
Web API調用中包含一個身份票據Ticket
Web伺服器保存當前Ticket的Session,包括:Ticket、DES加密矢量、注冊用戶基本信息
1 WebService身份驗證
確保注冊用戶的訪問安全,需要如下步驟:1)產生一個當前客戶端機器票據(Ticket);2)請求伺服器RSA公鑰(RSAPublicKey);3)使用RSA加密登錄口令及發布DES加密矢量(DESCipherVector)。
1.1 產生客戶端機器票據Ticket
一般而言,可以由客戶端機器根據自己的MAC、CPU序列號等唯一標識產生一個本機器的Ticket字元串票據,其目的是:唯一標識當前客戶端,防止其它機器模仿本客戶端行為。
1.2 請求伺服器公鑰RSAPublicKey
客戶端攜帶票據Ticket向伺服器請求RSA公鑰RSAPublicKey。在伺服器端,一般採取如下策略產生RSA加密鑰匙:
Application_Start時產生一個1024或更長的RSA加密鑰匙對。如果伺服器需要長久運行,那麼Application_Start產生的RSA可能被破解,替代方案是在當前Session_Start時產生RSA加密鑰匙對
保存當前票據對應的客戶帳號對象,即:Session[Ticket] = AccountObject,在確認身份後在填寫AccountObject具體內容:帳號、RSA加密鑰匙對、DES加密矢量
完成上述步驟後,伺服器將RSAPublicKey傳回給客戶端。
1.3 加密登錄口令及DES加密矢量
客戶端獲得RSAPulbicKey後,產生自己的DES加密矢量DESCipherVector(至少要8位及以上,該加密矢量用於以後的常規通信消息加密,因為其速度比RSA快)。接著,客戶端使用RSAPublicKey加密登錄帳號、口令及DESCipherVector,連同Ticket,發送到伺服器並請求身份驗證。登錄API格式如下:
public void Login(string Ticket, string cipherLongID, string cipherPassword);
如果驗證成功,伺服器將當前帳號信息、RSA鑰匙、DESCipherVector等保存到會話Session[Ticket]中。
2 WebService通信安全性
2.1 加密WebService API參數
身份確認後,在客戶端調用的WebService API中,必須包括參數Ticket,其它參數則均使用DESCipherVector加密。伺服器端返回的消息也同樣處理。例如,提交一個修改email的函數定義為:
public void ModifyEmail(string Ticket, string cipherEmai);
2.2 客戶端解密消息
客戶端接收到伺服器返回消息後,先做解密操作,如果成功則進入下步處理。否則拋出加密信息異常。
2.3 伺服器端解密消息
伺服器接收到客戶提交的API請求後,首先驗證Ticket的合法性,即查找Session中是否有該票據以驗證客戶身份。然後,解密調用參數。如果成功則進入下不操作,否則返回操作異常消息給客戶端。
需要指出,如果第三方截獲全部會話消息,並保留其Ticket,此時伺服器端仍然認可這個第三方消息。但是,第三方不能瀏覽,也不能修改調用API的參數內容,此時解密參數時將拋出異常。
上面探討了一個基於加密的WebService訪問與通信安全方法,即使第三方獲取消息,不能查看原始內容,也不能修改內容,保證了WebService API的安全性。
Ⅳ 怎麼加密網站
進入主頁後,有一個框需要輸入密碼,然後確定後可以進入。也就是說除了主頁,其他網站內容都必須在主頁通過認證後才能進入。只需要密碼,不需要用戶名。
網站(Website)是指在網際網路上根據一定的規則,使用HTML(標准通用標記語言)等工具製作的用於展示特定內容相關網頁的集合。簡單地說,網站是一種溝通工具,人們可以通過網站來發布自己想要公開的資訊,或者利用網站來提供相關的網路服務。人們可以通過網頁瀏覽器來訪問網站,獲取自己需要的資訊或者享受網路服務。
網站是在互聯網上擁有域名或地址並提供一定網路服務的主機,是存儲文件的空間,以伺服器為載體。人們可通過瀏覽器等進行訪問、查找文件,也可通過遠程文件傳輸(FTP)方式上傳、下載網站文件。
在早期,域名、空間伺服器與程序是網站的基本組成部分,隨著科技的不斷進步,網站的組成也日趨復雜,多數網站由域名、空間伺服器、DNS域名解析、網站程序、資料庫等組成。域名(Domain Name),是由一串用點分隔的字母組成的Internet上某一台計算機或計算機組的名稱。
用於在數據傳輸時標識計算機的電子方位(有時也指地理位置),域名已經成為互聯網的品牌、網上商標保護必備的產品之一。通俗的說,域名就相當於一個家庭的門牌號碼,別人通過這個號碼可以很容易的找到你。
以一個常見的域名為例說明,網址是由二部分組成,標號「」是這個域名的主域名體,而最後的標號「com」則是該域名的後綴,代表的這是一個com國際域名,是頂級域名。而前面的www.是網路名, 為www的域名。
網站推廣就是以互聯網為基礎,藉助平台和網路媒體的交互性來輔助營銷目標實現的一種新型的市場營銷方式。當前傳播常見的推廣方式主要是在各大網站推廣服務商中通過買廣告之類等等方式來實現。
免費網站推廣包括:SEO優化網站內容或構架提升網站在搜索引擎的排名,在論壇、微博、博客、微信、QQ空間等平台發布信息,在其他熱門平台發布網站外部鏈接等。從製作網站的技術來看,網站的製作越來越容易;而網站的推廣卻越來越難。要想讓客戶從眾多的網站中找到自己的網站,需要採取一系列有效的方法來進行網站的推廣。
Ⅳ web前端的數據如何加密
給sqlite資料庫加密解密的方法:
1、創建空的sqlite資料庫。
//資料庫名的後綴你可以直接指定,甚至沒有後綴都可以
//方法一:創建一個空sqlite資料庫,用io的方式
filestream
fs
=
file.create(「c:\\test.db「);
Ⅵ 怎樣使網站加密
http://blogcup.com/blog_user1-3781-2005-135888.html
現在專業性的網站越來越多,許多網友們都在網上建立起了自己的小家。不過辛辛苦苦製作的網頁被人拿去改頭換面卻是件非常痛心的事,所以大家都想保護自己獨創的作品,為自己的網頁上把鎖,今天就讓我帶大家了解一下如何給我們的網頁加上一把密碼鎖。
一、常用JavaScript密碼鎖
1. 了解javascript
JavaScript是一種新的網頁描述語言,是由Sun公司以及網景Netscape公司開發的,此一語言可以被嵌入HTML的文件之中,使用它可以讓你設計交互性的網頁內容。
2. javascript特點
使用javascript非常簡單,只是一小段代碼,就可以讓網頁發生千奇百怪的效果,而且使用javascript來加密的方法是網路中加密最常用的方法。
3. 使用javascript加密
使用javascript加密最簡單的結果就是讓瀏覽者不能使用滑鼠右鍵,當他點擊右鍵想對圖片進行保存或者復制文字的時候就會彈出一個警告窗口或是彈出收藏夾等。
實現方法:
(1)利用彈出窗口封鎖滑鼠右鍵
將下面這段代碼放在網頁HTML代碼的<head></head>標志中,就可以實現封鎖右鍵,給網頁加密。
<script language="javascript">
function click() {if (event.button==2) {alert('本站不準使用右鍵,
使用左鍵吧!^_^') }}
document.onmousedown=click</script>
(2)彈出「添加收藏夾」封鎖滑鼠右鍵
將下面這段代碼放在網頁的HTML代碼的<head></head>標志中。實現點擊右鍵出現「添加到收藏夾」選項。
<script language="javascript">
function click() {if (event.button==2) {window.external.addFavorite
('http://www.yesky.com/,' 天極網')}}
document.onmousedown=click</script>
(3)徹底封鎖滑鼠右鍵
將下面這段代碼放在網頁的HTML代碼的<head></head>標志中能夠實現徹底封鎖滑鼠右鍵的效果,由於這個腳本在右鍵按下時調用一個函數,所以可以改為很多種類型。即使按下左鍵,再按下右鍵,放開左鍵,再放開右鍵的方法也還是破解不了。
<script>
function DM(e){if(!ns){if(event.button>1)window.external.addFavorite
('http://www.popunet.com/,' 大眾網路報')}else{if(e.which>1)return false}}ns=navigator.appName=="Netscape";if(ns)document.captureEvents
(Event.MOUSEMOVE|Event.MOUSEDOWN);document.onmousemove=DM;document.
onmousedown=DM;</script>
(4)禁止查看源文件
將下面這段代碼放在網頁的HTML代碼的<head></head>標志中則可以實現禁止利用IE瀏覽器查看源文件。
<script language="JavaScript">
<!--
document.onmousedown=click
function click() {
if ( event.button==2) {alert('不準查看源文件') }
if ( event.button==3) {alert('不準查看源文件') }
}
//-->
</script>
(5)用亂碼顯示鏈接、調用地址加密。
利用某些函數把URL字元轉換成ASCII碼,從而達到隱藏鏈接Frame頁面和*.js,*.asp等腳本的目的。返回ASCII碼escape(character),ASCII碼為%XX格式,XX是十六進制,如空格鍵為%20。返回字元unEscape(string)
如:
<!—var Words=" %3Cframeset%20BORDER%3D%220%22%20FRAMEBORDER%3D%220%22
%20FRAMESPACING%3D%220%22%20rows%3D%22100%25%22%3E%0D%0A%20%20%3Cframe
%20SRC%3D%22http%3A//XXX.XXX.COM/XXX/XXX/%22%20NAME%3D%22oos1%22%20"//
-->
</script>
利用javascript還可以使用調用腳本顯示頁面加密、密碼校驗等加密方法,但是由於代碼繁雜而不經常使用,這里就不多講了。
二、使用IIS的密碼鎖
不要以為只有javascript可以加密,使用IIS也可實現加密,只要你電腦上安裝的Web伺服器是IIS,而你又是管理員許可權的用戶時,就可以用一種簡單的方法來實現密碼驗證。
(注意:使用Win 2000 Server版並安裝了IIS及域用戶管理器)
1. 啟動「Internet 服務管理器」
步驟一:單擊「開始」>「設置」>「控制面板」,雙擊進入到「管理工具」中,打開「Internet 服務管理器」,展開左窗口的「默認Web站點」,然後在其所展開的目錄中選中我們想對其進行加密的目錄(如:lastcoco),然後單擊「屬性」按鈕,打開「lastcoco屬性」對話框(如圖1)。
圖 1
步驟二:選擇「lastcoco屬性」對話框中「目錄安全性」標簽,單擊「匿名訪問及驗證控制項」域中的「編輯」按鈕。這時會彈出「驗證方法」對話框,在「驗證方法」對話框中,取消「允許匿名訪問」選項前面的勾選,然後勾選「基本驗證(密碼用明文送出)」選項,最後單擊「確定」按鈕退出(如圖2)。
圖 2
2. 使用「域用戶管理器」設置用戶的名稱及密碼
光對目錄的安全設置了還不行,為了讓上網的朋友們只有在輸入用戶名稱和密碼後才可以瀏覽放在該目錄下的網頁,我們還要使用「域用戶管理器」設置用戶的名稱及密碼。
單擊「開始」>「程序」>「系統管理工具」(公用)>「域用戶管理器」,啟動「域用戶管理器」(如圖3)。在這里我們給域用戶里添加新用戶,選擇「用戶」>「新用戶」,然後在「新用戶」窗口中輸入新用戶的「用戶名及密碼」等等,然後取消「用戶下次登錄時須改變密碼」的選項。
圖 3
到此為止,利用IIS伺服器來給網頁加密就全部完成了,當用戶想訪問安全目錄下的網頁時。只要在出現的「輸入網路密碼」窗口中輸入我們在「域用戶管理器」中設置的新用名名及密碼就可以進入安全設置目錄(如圖4)。
圖 4
三、使用ASP程序密碼鎖
除了使用IIS伺服器來給網頁加密,我們還可以使用ASP程序來給網頁進行加密,一般來說利用程序來進行密碼驗證的方法比較通用,現在大多數網站都使用ASP程序,它對Web伺服器沒有具體要求,而其加密就是藉助資料庫及ASP程序進行設計,來實現一種通用網頁加密。
1. 打開Microsoft Access,建立一個「用戶名及密碼」的數據表,假設將這個表取名為User,資料庫名為lastcoco.mdb,數據表的結構如下:
欄位說明 欄位名稱 數據類型 數據長度
用戶名稱 ID 文本 15
密碼 PWD 文本 15
2. 編輯一個PASS.ASP的驗證文件,源代碼如下:
<%
Function Check( ID, Pwd )
Dim conn, par, rs
Set conn = Server.CreateObject("ADODB.Connection")
par = "driver={Microsoft Access Driver (*.mdb)} "
conn.Open par && ";dbq=" && Server.MapPath("lastcoco.mdb ")
sql = "Select ? From users Where ID='" && ID && "' And Pwd = '" && Pwd &&"'"
Set rs = conn.Execute( sql )
If rs.EOF Then
Check= False
Else
Check= True
End If
End Function
%>
<%
If IsEmpty(Session("Passed")) Then Session("Passed") = False
Head = "請輸入用戶名和密碼"
ID = Request("ID")
Pwd = Request("Pwd")
If ID = "" Or Pwd = "" Then
Head = "請輸入用戶名和密碼"
Else If Not Check( ID, Pwd ) Then
Head = "用戶名稱或密碼有錯"
Else
Session("Passed") = True
End If
If Not Session("Passed") Then
%>
<html>
<head> <title></title> </head>
<body BGCOLOR="#FFFFFF">
<h2 ALIGN="CENTER"><%=Head%></h2>
<hr WIDTH="100%">
<form Action="<%=Request.ServerVariables("PATH_INFO")%>" Method="POST">
<table BORDER="1" CELLSPACING="0">
<tr>
<td ALIGN="RIGHT">用戶名稱:</td>
<td><input Type="Text" Name="ID" Size="12" Value="<%=ID%>"></td>
</tr>
<tr> <td ALIGN="RIGHT">密碼:</td>
<td><input Type="Password" Name="Pwd" Size="12" Value="<%=Pwd%>"></td> </tr>
</table>
<p><input Type="Submit" Value="確定"> </p> </form>
<hr WIDTH="100%" align="center">
</body> </html>
<%Response.End
End If %>
3. 在需要加密網頁的HTML代碼最前面加上〈! --#i nclude file="pass.asp"--〉就可以了。由於這個驗證合法性的頁面具有通用性,所以非常方便使用。
四、使用軟體密碼鎖
現在給網頁加密的軟體非常多,這里就不一一講解,其基本原理都是利用javascript代碼,只不過是這些軟體都自動准備好了這些代碼,只需使用者將網頁源代碼粘進去按一下加密按鈕就OK了。
在這里我們介紹一款綠色的小軟體「世紀鳥網頁加密精靈」,大家不要小看這只鳥,通過這只小鳥,能更方便快速的對網頁進行加密。
下載雙擊打開這只小鳥,只見XP風格的界面跳到眼前,左邊豎著一排是加密選項按鈕,分別是「網頁代碼加密」、「網頁登錄密碼」「滑鼠右鍵屏蔽」、「網頁選擇屏蔽」、「滑鼠右鍵對話」、「框架包含限制」這些。右邊則是網頁代碼加密對話框,在這個對話框中進行對網頁的加密,而且在對話框上方給出每個選項的解釋,在對話框下方則是建議。
這里我用實例給大家講解使用「世紀鳥網頁加密精靈」的「網頁登錄密碼」選項來給網頁加密。
1. 打開要加密的網頁,復制出HTML源代碼,然後打開「世紀鳥網頁加密精靈」軟體,選擇「網頁登錄密碼」選項,這時在右邊就會出現一些輸入框內的代碼說明(如圖5)。
圖 5
2. 在「請輸入登錄密碼」的輸入框中輸入長度小於10位的密碼,然後單擊「生成並復制密碼頁面程序」按鈕,這時軟體會自動在下方的javascript代碼中加入你輸入的登錄密碼做為驗證信息,並將這段代碼復制到你的剪貼版中(如圖6)。
圖 6
3. 接下來再將這段代碼粘貼到網頁中,並將網頁改名為(你輸入的登錄密碼).htm,這樣就可以對此文件加密了。
OK,現在你的網頁就再也不用擔心被人偷用了
現在專業性的網站越來越多,許多網友們都在網上建立起了自己的小家。不過辛辛苦苦製作的網頁被人拿去改頭換面卻是件非常痛心的事,所以大家都想保護自己獨創的作品,為自己的網頁上把鎖,今天就讓我帶大家了解一下如何給我們的網頁加上一把密碼鎖。
一、常用JavaScript密碼鎖
1. 了解javascript
JavaScript是一種新的網頁描述語言,是由Sun公司以及網景Netscape公司開發的,此一語言可以被嵌入HTML的文件之中,使用它可以讓你設計交互性的網頁內容。
2. javascript特點
使用javascript非常簡單,只是一小段代碼,就可以讓網頁發生千奇百怪的效果,而且使用javascript來加密的方法是網路中加密最常用的方法。
3. 使用javascript加密
使用javascript加密最簡單的結果就是讓瀏覽者不能使用滑鼠右鍵,當他點擊右鍵想對圖片進行保存或者復制文字的時候就會彈出一個警告窗口或是彈出收藏夾等。
實現方法:
(1)利用彈出窗口封鎖滑鼠右鍵
將下面這段代碼放在網頁HTML代碼的<head></head>標志中,就可以實現封鎖右鍵,給網頁加密。
<script language="javascript">
function click() {if (event.button==2) {alert('本站不準使用右鍵,
使用左鍵吧!^_^') }}
document.onmousedown=click</script>
(2)彈出「添加收藏夾」封鎖滑鼠右鍵
將下面這段代碼放在網頁的HTML代碼的<head></head>標志中。實現點擊右鍵出現「添加到收藏夾」選項。
<script language="javascript">
function click() {if (event.button==2) {window.external.addFavorite
('http://www.yesky.com/,' 天極網')}}
document.onmousedown=click</script>
(3)徹底封鎖滑鼠右鍵
將下面這段代碼放在網頁的HTML代碼的<head></head>標志中能夠實現徹底封鎖滑鼠右鍵的效果,由於這個腳本在右鍵按下時調用一個函數,所以可以改為很多種類型。即使按下左鍵,再按下右鍵,放開左鍵,再放開右鍵的方法也還是破解不了。
<script>
function DM(e){if(!ns){if(event.button>1)window.external.addFavorite
('http://www.popunet.com/,' 大眾網路報')}else{if(e.which>1)return false}}ns=navigator.appName=="Netscape";if(ns)document.captureEvents
(Event.MOUSEMOVE|Event.MOUSEDOWN);document.onmousemove=DM;document.
onmousedown=DM;</script>
(4)禁止查看源文件
將下面這段代碼放在網頁的HTML代碼的<head></head>標志中則可以實現禁止利用IE瀏覽器查看源文件。
<script language="JavaScript">
<!--
document.onmousedown=click
function click() {
if ( event.button==2) {alert('不準查看源文件') }
if ( event.button==3) {alert('不準查看源文件') }
}
//-->
</script>
(5)用亂碼顯示鏈接、調用地址加密。
利用某些函數把URL字元轉換成ASCII碼,從而達到隱藏鏈接Frame頁面和*.js,*.asp等腳本的目的。返回ASCII碼escape(character),ASCII碼為%XX格式,XX是十六進制,如空格鍵為%20。返回字元unEscape(string)
如:
<!—var Words=" %3Cframeset%20BORDER%3D%220%22%20FRAMEBORDER%3D%220%22
%20FRAMESPACING%3D%220%22%20rows%3D%22100%25%22%3E%0D%0A%20%20%3Cframe
%20SRC%3D%22http%3A//XXX.XXX.COM/XXX/XXX/%22%20NAME%3D%22oos1%22%20"//
-->
</script>
利用javascript還可以使用調用腳本顯示頁面加密、密碼校驗等加密方法,但是由於代碼繁雜而不經常使用,這里就不多講了。
二、使用IIS的密碼鎖
不要以為只有javascript可以加密,使用IIS也可實現加密,只要你電腦上安裝的Web伺服器是IIS,而你又是管理員許可權的用戶時,就可以用一種簡單的方法來實現密碼驗證。
(注意:使用Win 2000 Server版並安裝了IIS及域用戶管理器)
1. 啟動「Internet 服務管理器」
步驟一:單擊「開始」>「設置」>「控制面板」,雙擊進入到「管理工具」中,打開「Internet 服務管理器」,展開左窗口的「默認Web站點」,然後在其所展開的目錄中選中我們想對其進行加密的目錄(如:lastcoco),然後單擊「屬性」按鈕,打開「lastcoco屬性」對話框(如圖1)。
圖 1
步驟二:選擇「lastcoco屬性」對話框中「目錄安全性」標簽,單擊「匿名訪問及驗證控制項」域中的「編輯」按鈕。這時會彈出「驗證方法」對話框,在「驗證方法」對話框中,取消「允許匿名訪問」選項前面的勾選,然後勾選「基本驗證(密碼用明文送出)」選項,最後單擊「確定」按鈕退出(如圖2)。
圖 2
2. 使用「域用戶管理器」設置用戶的名稱及密碼
光對目錄的安全設置了還不行,為了讓上網的朋友們只有在輸入用戶名稱和密碼後才可以瀏覽放在該目錄下的網頁,我們還要使用「域用戶管理器」設置用戶的名稱及密碼。
單擊「開始」>「程序」>「系統管理工具」(公用)>「域用戶管理器」,啟動「域用戶管理器」(如圖3)。在這里我們給域用戶里添加新用戶,選擇「用戶」>「新用戶」,然後在「新用戶」窗口中輸入新用戶的「用戶名及密碼」等等,然後取消「用戶下次登錄時須改變密碼」的選項。
圖 3
到此為止,利用IIS伺服器來給網頁加密就全部完成了,當用戶想訪問安全目錄下的網頁時。只要在出現的「輸入網路密碼」窗口中輸入我們在「域用戶管理器」中設置的新用名名及密碼就可以進入安全設置目錄(如圖4)。
圖 4
三、使用ASP程序密碼鎖
除了使用IIS伺服器來給網頁加密,我們還可以使用ASP程序來給網頁進行加密,一般來說利用程序來進行密碼驗證的方法比較通用,現在大多數網站都使用ASP程序,它對Web伺服器沒有具體要求,而其加密就是藉助資料庫及ASP程序進行設計,來實現一種通用網頁加密。
1. 打開Microsoft Access,建立一個「用戶名及密碼」的數據表,假設將這個表取名為User,資料庫名為lastcoco.mdb,數據表的結構如下:
欄位說明 欄位名稱 數據類型 數據長度
用戶名稱 ID 文本 15
密碼 PWD 文本 15
2. 編輯一個PASS.ASP的驗證文件,源代碼如下:
<%
Function Check( ID, Pwd )
Dim conn, par, rs
Set conn = Server.CreateObject("ADODB.Connection")
par = "driver={Microsoft Access Driver (*.mdb)} "
conn.Open par && ";dbq=" && Server.MapPath("lastcoco.mdb ")
sql = "Select ? From users Where ID='" && ID && "' And Pwd = '" && Pwd &&"'"
Set rs = conn.Execute( sql )
If rs.EOF Then
Check= False
Else
Check= True
End If
End Function
%>
<%
If IsEmpty(Session("Passed")) Then Session("Passed") = False
Head = "請輸入用戶名和密碼"
ID = Request("ID")
Pwd = Request("Pwd")
If ID = "" Or Pwd = "" Then
Head = "請輸入用戶名和密碼"
Else If Not Check( ID, Pwd ) Then
Head = "用戶名稱或密碼有錯"
Else
Session("Passed") = True
End If
If Not Session("Passed") Then
%>
<html>
<head> <title></title> </head>
<body BGCOLOR="#FFFFFF">
<h2 ALIGN="CENTER"><%=Head%></h2>
<hr WIDTH="100%">
<form Action="<%=Request.ServerVariables("PATH_INFO")%>" Method="POST">
<table BORDER="1" CELLSPACING="0">
<tr>
<td ALIGN="RIGHT">用戶名稱:</td>
<td><input Type="Text" Name="ID" Size="12" Value="<%=ID%>"></td>
</tr>
<tr> <td ALIGN="RIGHT">密碼:</td>
<td><input Type="Password" Name="Pwd" Size="12" Value="<%=Pwd%>"></td> </tr>
</table>
<p><input Type="Submit" Value="確定"> </p> </form>
<hr WIDTH="100%" align="center">
</body> </html>
<%Response.End
End If %>
3. 在需要加密網頁的HTML代碼最前面加上〈! --#i nclude file="pass.asp"--〉就可以了。由於這個驗證合法性的頁面具有通用性,所以非常方便使用。
四、使用軟體密碼鎖
現在給網頁加密的軟體非常多,這里就不一一講解,其基本原理都是利用javascript代碼,只不過是這些軟體都自動准備好了這些代碼,只需使用者將網頁源代碼粘進去按一下加密按鈕就OK了。
在這里我們介紹一款綠色的小軟體「世紀鳥網頁加密精靈」,大家不要小看這只鳥,通過這只小鳥,能更方便快速的對網頁進行加密。
下載雙擊打開這只小鳥,只見XP風格的界面跳到眼前,左邊豎著一排是加密選項按鈕,分別是「網頁代碼加密」、「網頁登錄密碼」「滑鼠右鍵屏蔽」、「網頁選擇屏蔽」、「滑鼠右鍵對話」、「框架包含限制」這些。右邊則是網頁代碼加密對話框,在這個對話框中進行對網頁的加密,而且在對話框上方給出每個選項的解釋,在對話框下方則是建議。
這里我用實例給大家講解使用「世紀鳥網頁加密精靈」的「網頁登錄密碼」選項來給網頁加密。
1. 打開要加密的網頁,復制出HTML源代碼,然後打開「世紀鳥網頁加密精靈」軟體,選擇「網頁登錄密碼」選項,這時在右邊就會出現一些輸入框內的代碼說明(如圖5)。
圖 5
2. 在「請輸入登錄密碼」的輸入框中輸入長度小於10位的密碼,然後單擊「生成並復制密碼頁面程序」按鈕,這時軟體會自動在下方的javascript代碼中加入你輸入的登錄密碼做為驗證信息,並將這段代碼復制到你的剪貼版中(如圖6)。
圖 6
3. 接下來再將這段代碼粘貼到網頁中,並將網頁改名為(你輸入的登錄密碼).htm,這樣就可以對此文件加密了。
OK,現在你的網頁就再也不用擔心被人偷用了
Ⅶ web前端用戶的密碼提交時應當怎樣加密
密碼在前端加密完全沒有意義,對密碼系統的安全性不會有任何提高,反而會引發不必要的麻煩。首先,做前端開發的人需要知道,前端系統的控制權是完全在用戶手裡的,也就是說,前端做什麼事情,用戶有完全的控制權。假設如同 @陳軒所說,前端做過了md5,後台就不用做了,這個做法會有什麼後果?如果某一天,這個系統的資料庫泄露了,黑客就直接拿到了每個用戶的密碼md5值,但此時,由於黑客知道密碼是在前端進行哈希的,所以他不需要爆破出該md5對應的原文是什麼,而是直接修改客戶端向伺服器發出的請求,把密碼欄位換成資料庫中MD5就可以了,由於與資料庫中記錄一致,直接就會登錄成功。這跟直接存儲明文密碼沒有任何區別!!!所以不管前端是不是加密了密碼,後台使用安全的哈希演算法對內容再次轉換是非常有必要的。(MD5可不行,要用bcrypt,我之前回答過一個類似的:隨著顯卡性能的高速發展,目前的快速Hash演算法是否已經變得不夠安全了?)這個回答還有一個人贊同,希望大家別被錯誤答案誤導了。另外一個答案 @林鴻所說,在非安全HTTP連接上,可以防止原始密碼被竊聽。但問題在於由於你的登錄系統接受的哈希過的密碼,而不是原文,竊聽者根本不需要原始密碼,只要通過哈希結果就可以偽造請求登錄系統。這樣做只能防止被竊聽到原文的密碼被攻擊者用在社會學攻擊上,而不能改善該網站的安全性。所以不管前端是不是加密了密碼,使用HTTPS安全連接進行登錄都是非常有必要的。以上我說的兩點,合起來看就是:不管前端是否加密了密碼,都不能以此為假設,讓後端設計的安全等級下降,否則就會有嚴重的安全問題。實際上,前端進行密碼加密,可以看做幫助用戶多進行了一次原文的轉換,不管用了什麼加密演算法,算出來的結果都是密碼原文,你該如何保護用戶的原始密碼,就該如何保護此處的加密結果,因為對你的登錄系統來說,它們都是密碼原文。以上這些,說明了密碼加密是沒有什麼意義的,接下來,我要說明前端加密會帶來什麼問題。有些人會認為前端進行了加密,可以降低後台的安全性需求,這種錯誤的觀念會造成系統的安全漏洞。實際上,你不能對前端做任何的假設,所有跟安全相關的技術,都必須應用在後台上。前端進行加密會造成頁面需要js腳本才能運行,那麼假設你的系統需要兼容不能運行js的客戶端,就必須再設計一個使用原文的登錄介面。由於前端是不是加密,所有安全機制都必須照常應用,所以為系統增加這樣的復雜性是完全沒必要的,即使傳輸明文密碼,只要正確使用了HTTPS連接和伺服器端安全的哈希演算法,密碼系統都可以是很安全的。
Ⅷ 如何對web.config進行加密和解密
你好,可以使用受保護配置來加密 Web 應用程序配置文件(如 Web.config 文件)中的敏感信息(包括用戶名和密碼、資料庫連接字元串和加密密鑰)。對配置信息進行加密後,即使攻擊者獲取了對配置文件的訪問,也可以使攻擊者難以獲取對敏感信息的訪問,從而改進應用程序的安全性。 針對asp.net 2.0的應用程序的資料庫鏈接字元串進行加密:例如,未加密的配置文件中可能包含一個指定用於連接到資料庫的連接字元串的節,如下面的示例所示: <configuration> <connectionStrings>
<add name="SampleSqlServer" connectionString="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind;" />
</connectionStrings>
</configuration>
ASP.NET 2.0 中有一個新的安全特性.可以對 Web.config 文件中的任何配置節進行加密處理,可以通過手工運行工具aspnet_regiis或者編程來完成這個工作。如果你可以直接訪問你的Web 伺服器,你可以通過運行如下的命令行: cd %windows%/Microsoft.NET/Framework/versionNumber aspnet_regiis -pe "connectionStrings" -app "/SampleApplication" –prov -pd section
對配置節進行解密。此參數採用下面的可選參數: · -app virtualPath 指定應該在包含路徑的級別進行解密。 · -location subPath 指定要解密的子目錄。 · -pkm 指定應該對 Machine.config 而非 Web.config 文件進行解密。
-pdf section webApplicationDirectory
對指定物理(非虛擬)目錄中的 Web.config 文件的指定配置節進行解密。
-pe section
對指定的配置節進行加密。此參數採用下面的可選修飾符: · -prov provider 指定要使用的加密提供程序。 · -app virtualPath 指定應該在包含路徑的級別進行加密。 · -location subPath 指定要加密的子目錄。 · -pkm 指定應該對 Machine.config 而非 Web.config 文件進行加密。
-pef section webApplicationDirectory
對指定物理(非虛擬)目錄中的 Web.config 文件的指定配置節進行加密。
如果你是使用虛擬主機等不能訪問物理的伺服器,你仍然能夠通過編程方式加密的連接字元串: 1 Configuration config = Configuration.GetWebConfiguration(Request.ApplicationPath);
2 ConfigurationSection section = config.Sections["connectionStrings"];
3 section.SectionInformation.ProtectSection("");;
4 config.Update ();或者 config.Save();
//加密web.Config中的指定節
private void ProtectSection(string sectionName)
{
Configuration config = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);
ConfigurationSection section = config.GetSection(sectionName);
if (section != null && !section.SectionInformation.IsProtected)
{
section.SectionInformation.ProtectSection("");
config.Save();
}
}
//解密web.Config中的指定節
private void UnProtectSection(string sectionName)
{
Configuration config = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);
ConfigurationSection section = config.GetSection(sectionName);
if (section != null && section.SectionInformation.IsProtected)
{
section.SectionInformation.UnprotectSection();
config.Save();
}
}