【IT168技术】申述一下..昨天发过此文..但是样式大乱..就删了..今天补上
.其实对于这个问题应该说是上有政策下有对策.大家可以交流一下.看看有什么好的方案..以下是我自己写的一点点..share一下..还望指点。图片资源是站点中最为费神的东西,如果很多垃圾站点去引用您的图片地址,占用你的服务器资源怎么办? 下面就以图片服务器为例写个简单的示例..
1.所有的image url都跟上密文.比如你在绑定页面image url时可以这么做.以下是MVC示例.其他的差不多.
ImageController
string path="/Content/";
string imgName = "girl.jpg";
long ticks=DateTime.Now.Ticks;
//使用当前时间刻度作为待加密对象
string encryptKey = ticks.ToString();
//使用自定义对称算法加密
byte[] data = SymmetricEncryptionUtility
.EncryptData
(
encryptKey,
ShareData.SymmetricKeyFile
);
//使加密后的数据转换成base64码
string encryptedImgName = Convert.ToBase64String(data);
string encryptedEncoding = HttpUtility.UrlEncode
(
encryptedImgName
);
//将加密后的密文存放在共享数据中
ShareData.KeyCollections.Add(encryptedImgName);
ViewData["imgUrl"] = string.Format
("{0}{1}?key={2}", path, imgName, encryptedEncoding);
string path="/Content/";
string imgName = "girl.jpg";
long ticks=DateTime.Now.Ticks;
//使用当前时间刻度作为待加密对象
string encryptKey = ticks.ToString();
//使用自定义对称算法加密
byte[] data = SymmetricEncryptionUtility
.EncryptData
(
encryptKey,
ShareData.SymmetricKeyFile
);
//使加密后的数据转换成base64码
string encryptedImgName = Convert.ToBase64String(data);
string encryptedEncoding = HttpUtility.UrlEncode
(
encryptedImgName
);
//将加密后的密文存放在共享数据中
ShareData.KeyCollections.Add(encryptedImgName);
ViewData["imgUrl"] = string.Format
("{0}{1}?key={2}", path, imgName, encryptedEncoding);