当前位置: 首页 > 图文教程 > 网络编程 > ASP > 如何防止页面中的敏感信息被提取

ASP
对连串英文自动换行的解决方法 IE5.5
怎样写你自己的EMAIL组件(原理)
ASP中有关timeout超时的体会
用ASP实现从SQL Server导出数据到Access
ASP向NT域中加一个用户
ASP乱码的解决方法
关于 aspsmartupload 注册问题
利用XML不离开页面刷新数据
IIS 处理 SEARCH 请求漏洞
不用组件实现上载功能(1)
不用组件实现上载功能(2)
在网页中实现OICQ里的头像选择的下拉框
仅用xsl和asp实现分页功能
如何使用context()方法将数据置入表格(XML)
利用ASP从远程服务器上接收XML数据
将数据库里面的内容生成EXCEL
怎样在ASP里面创建统计图表
加密你的Access数据库
利用global.asp定时执行ASP
加密QueryString数据

ASP 中的 如何防止页面中的敏感信息被提取


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 104 ::
收藏到网摘: n/a

公布到网页上的Email经常会被一些工具自动提取,一些非法用户就会利用所提取的Email大肆发送垃圾邮件。这些工具大多都是查找链接中“mailto:”后面的信息或是“@”前后的信息来达到提取Email的目的。我在看DotNetNuke(以下简称DNN)的源代码时发现了一个不错的方式来防止这些信息被自动提取。

以下为引用的内容:
在DNN中有这么一段函数(Globals.vb中):
  Public Function CloakText()Function CloakText(ByVal PersonalInfo As String) As String
   
   If Not PersonalInfo Is Nothing Then
   Dim sb As New StringBuilder
   
   ' convert to ASCII character codes,将字符串转换成ASCII编码字符串形式
   sb.Remove(0, sb.Length)
   Dim StringLength As Integer = PersonalInfo.Length - 1
   For i As Integer = 0 To StringLength
   sb.Append(Asc(PersonalInfo.Substring(i, 1)).ToString)
   If i < StringLength Then
   sb.Append(",")
   End If
   Next
   
   ' build script block
   Dim sbScript As New StringBuilder
   
   sbScript.Append(vbCrLf & "<script language=""javascript"">" & vbCrLf)
   sbScript.Append("<!-- " & vbCrLf)
   'fromCharCode 方法:从一些 Unicode 字符值中返回一个字符串。
   sbScript.Append(" document.write(String.fromCharCode(" & sb.ToString & "))" & vbCrLf)
   sbScript.Append("// -->" & vbCrLf)
   sbScript.Append("</script>" & vbCrLf)
   
   Return sbScript.ToString
   Else
   Return Null.NullString
   End If
   
  End Function
   
  该段代码先将需要加密的信息转换成ASCII编码字符串形式,然后用javascript中的document.write方法写到页面。
   
  我测试了以下效果,还不错。大家也可以试试。
  <html>
  <head>
  <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
  <title>测试信息加密</title>
  </head>
   
  <body>
  可以被提取的链接:<a href="mailto:[email protected]">[email protected]</a><br>
  不能被提取的链接:
  <script language="javascript">
  <!--
   document.write(String.fromCharCode(60,97,32,104,114,101,102,61,34,109,97,105,108,116,111,58,120,120,120,64,116,111,109,
  46,99,111,109,34,62,120,120,120,64,116,111,109,46,99,111,109,60,47,97,62))
  // -->
  </script>
  </body>
  </html>

如果大家有兴趣,还可以用更加复杂的方法来进行加密,一句话:再也不能让人轻易获取信息了!