《拓文asp.net网站内容管理系统》官方演示站。
 设为首页  
 收藏本站
 作者:黄振安
 QQ:53854651
首 页 开源拓文.NET编程网站编程网页设计图形图像数据库软件工程留言本
    站内搜索:  
您现在的位置: 拓文网络 → .NET编程 → ASP.NET → 如何防止页面中的敏感信息被提取[正文]

热 门 文 章

相 关 文 章
  • ASP.NET性能优化
  • 在.NET框架应用程序中发送电子邮件
  • .net打包自动安装数据库
  • asp.net开发wap必备:更好的匹配手机设备
  • 用ashx动态生成文件
  • windows 2003下asp.Net站点无法使用用户名+密码的方
  • ASP.NET中17种正则表达式
  • 提高ASP.Net应用程序性能的十大方法
  • 一个通过web.Mail发送邮件的类
  • 在DataGrid里面根据日期的不同显示new图标
  • 如何防止页面中的敏感信息被提取
     
    [作者:不详    转贴自:不详    点击数:    更新时间:2006-3-2 15:39:36]

    公布到网页上的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="aaa@163.commailto:aaa@163.com">aaa@163.com</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>

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



    首页 | 1 | 尾页  共 1 页
     
    winner 打印本页 关闭窗口

         文 章 评 论
    评论人 查看该文章的评论 发表时间
       笔 名* : 0 50分 60分 70分 80分 90分 100分
    评论内容 *: (最多1000字。当前字数:0)


    没有相关评论,欢迎您参与!

    - 关于本站 - 网站帮助 - 下载声明 - 友情连接 - 网站地图 -
    Copyright © 2005-2006 myTopWin.Com. All Rights Reserved . [桂ICP备06004496号]