mvc5+ef+ adminlte教程18:ueditor 编码和解码(有大牛说这个不用,ueditor带了过滤的,我就取消了)
功能基本实现了,现在要考虑一些小安全和设置了。
我最先使用Ueditor富文本编辑器,将前台的内容未编辑直接写入数据库。当然读出来也方便,可有安全问题。
大牛们说要编辑写入,解码读出。
简单的是怎么写进去,怎么读出来,可好多人说不安全。
所以先百度吧。
1.在文章的新建功能那加上编码。
//END 获取图片地址 //对Ueditor送来的数据进行编辑 cmsContent.Contents=Server.HtmlEncode(cmsContent.Contents); if (ModelState.IsValid) { db.CmsContents.Add(cmsContent); await db.SaveChangesAsync(); return RedirectToAction("Admin","User"); } return View(cmsContent); }
功能就是一句
cmsContent.Contents=Server.HtmlEncode(cmsContent.Contents);
发表文章,检查数据库表,果然变了
3.解码
在详细页面的GET方法中解码,这是错的,要在前台解码
<div class="dhhtentext img-responsive" style="min-height:300px;"> @*@Html.DisplayFor(model => model.Contents)*@ @Html.Raw(Server.HtmlDecode(Model.Contents)) </div>
<div class="dhhtentext img-responsive"> @Html.Raw(Server.HtmlDecode(data1.Contents)) </div>