Ⅰ 求教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();
}
}