你的位置:首页 > ASP.net教程

[ASP.net教程]彻底解决“从客户端中检测到有潜在危险的Request.Form值”


    类似设置validateRequest="false"的方法不推荐,因为应用程序需要显式检查所有输入,不方便。

    1、前端使用escape对字符串进行编码,例:

var editor = $("textarea[name='editorValue']");$("#contents").val(escape(editor.val()));var formData = new FormData($("#frm")[0]);

    2、后端使用Server.UrlDecode方法进行解码,例:

model.contents = Server.UrlDecode(model.contents);

    3、View页面展示在编辑器中,例:

ue.addListener('ready', function (editor) {  var contents = decodeHtml("@content.contents");  ue.setContent(contents);});

 JS方法decodeHtml代码:
function decodeHtml(val) {  return val.replace(/&lt;/g, "<")       .replace(/&gt;/g, ">")       .replace(/&quot;/g, "\"")       .replace(/&#039;/g, "'")       .replace(/&amp;/g, "&");}function encodeHtml(val) {  return val.replace(/&/g, "&amp;")       .replace(/</g, "&lt;")       .replace(/>/g, "&gt;")       .replace(/"/g, "&quot;")       .replace(/'/g, "&#039;");}