我现在正在开发 Businesss Catalyst Web App,但我遇到了一个严重的问题。我需要混淆 Web App 的电子邮件字段。不幸的是,没有简单的方法可以做到这一点,因为来自网络应用程序项目的所有信息都被放在 HTML 页面上,没有任何预处理(因为我们无权访问 BC 的后端)。
这是我现在的代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script>
<!--
function CryptMailto()
{
var n = 0;
var r = "";
var x = document.getElementById("test");
var s = "mailto:"+x.value;
var e = x.value;
e = e.replace( /@/, " [at] ");
e = e.replace( /\./g, " [dot] ");
for( var i=0; i < s.length; i++ )
{
n = s.charCodeAt( i );
if( n >= 8364 )
{
n = 128;
}
r += String.fromCharCode(n+1);
}
return "<a href=\"javascript:linkTo_UnCryptMailto('"+ r +"');\">"+ e +"</a>";
}
function UnCryptMailto( s )
{
var n = 0;
var r = "";
for( var i = 0; i < s.length; i++)
{
n = s.charCodeAt( i );
if( n >= 8364 )
{
n = 128;
}
r += String.fromCharCode( n - 1 );
}
return r;
}
function linkTo_UnCryptMailto( s )
{
location.href=UnCryptMailto( s );
}
// -->
</script>
</head>
<body>
<input style = "" id = "test" type = "text" value = "test@gmail.com" />
<script>document.write(CryptMailto());</script>
</body>
</html>
现在的问题是隐藏字段仍然可以通过“查看源代码”查看。
有没有办法在字段进入首页之前对其进行预处理?