麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

【ASP.NET基礎】客戶端、服務器端的數據驗證+CKEditer

2019-11-14 16:00:07
字體:
來源:轉載
供稿:網友

1, 客戶端 用javascript進行驗證,直接提示用戶輸入的數據是否符合規范,是否合法。

  這樣體驗行比較好,客戶端立即就可以得到反饋,而且減少了服務器端的數據交互。

  這樣前端數據驗證并不是很安全,如果客戶端直接拼接QueryString字符串去請求服務器,就有可能執行一些非法動作。

  例如: http://localhost:40201/qukuan.ashx?deleteid=2    客戶端可以根據這個請求去修改 deleteid 的值,非法刪除其他數據。

  Ajax.Demo 中添加新頁面取款金額判斷的驗證:QuKuan.html QuKuan.ashx

<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head>    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />    <title></title>    <script type="text/Javascript">        function Check() {            var QuKunJine = document.getElementById('amount').value;            if (parseInt(QuKunJine, 10) > 2000) {                alert('單筆取款金額不能大于2000');                return false;            }        }    </script></head><body>    <!--<form action="QuKuan.ashx" method="post" onsubmit="return confirm('真的提交嗎?')">-->    <!--<form action="QuKuan.ashx" method="post" onsubmit="var QuKunJine = document.getElementById('amount').value; if (parseInt(QuKunJine, 10) > 2000) {alert('單筆取款金額不能大于3000'); return false;}" >-->    <form action="QuKuan.ashx" method="get" onsubmit="Check()">        <input type="hidden" name="IsPostBack" value="true" />        請輸入取款金額:        <input type="text" name="JinE" id="amount" />        <br />        <input type="submit" value="確認取款" />    </form></body></html>
View Code
using System;using System.Collections.Generic;using System.Linq;using System.Web;namespace AjaxDemo{    /// <summary>    /// QuKuan 的摘要說明    /// </summary>    public class QuKuan : IHttpHandler    {        public void PRocessRequest(HttpContext context)        {            context.Response.ContentType = "text/html";            if (string.IsNullOrEmpty(context.Request.QueryString["IsPostBack"]))            {                //頁面首次加載                string strHtml = Common_Nvelocity.RenderHTML("QuKuan.html", null);                context.Response.Write(strHtml);            }            else            {                string strJinE = context.Request.QueryString["JinE"];                if (Convert.ToInt16(strJinE) > 2000)                {                    context.Response.Write("取款失敗,單筆最多取款2000元");                }                //To Do ------                else                {                    context.Response.Write("取款成功,您的巨款金額為" + strJinE + "");                }            }        }        public bool IsReusable        {            get            {                return false;            }        }    }}
View Code

2, 服務器端同樣需要加入數據判斷、驗證 以保證數據錄入的正確性。

3,asp.net 4.0 之后對ashx請求檢測中默認對請求進行了檢查、校驗

  如果請求數據中有一些 <,>等潛在的XSS(跨站腳本,Cross Site Scripting) 攻擊字符,則會報錯。

  我們在之前的留言板項目LiuYanban中提交HTML留言,<font color='red'> HTML紅色字體</font> 系統會提示如下錯誤:

  

  如果允許客戶端可以提交HTML代碼可以修改Webconfig,<system.web>節點加入 <httpRuntime requestValidationMode="2.0"/> 把驗證模式變為2.0 

  (.aspx頁面頂部的Page還要加入VilidateRequest="fasle")。添加留言后,即可顯示:

  

4,允許網站留言功能中添加代碼的功能開放,用戶就可以添加js,CSS等代碼。

  下面這個例子,留言中添加JS代碼提示中獎,這樣其他用戶在打開留言板的時候頁面也會彈出中獎提醒信息

  

5,CKEditor 是第三方的Javascript工具,是可以進行可視化的HTML編輯器。

  CkEditor使用方法:A,官網下載后,把CKEditor包放入項目中 

  

  B, HTML頁面中添加對 ckeditor.js 的引用 

 <script src="../ckeditor/ckeditor.js"></script>

  C, HTML頁面底部添加js代碼,用CKEDDITOR.replace() 實現把 textarea替換為 CKEditor  

<script type="text/javascript">    var MesTextArea = document.getElementById("MsgContent");    CKEDITOR.replace(MesTextArea);</script>

  D, 效果如下:

  

6,CKEditor,通過Javascript創建了可視化編輯器,定義每個按鈕執行的動作,例如:加粗 B ,就添加了 <strong></strong>代碼

   我們先看一個javascript動態生成HTML標簽的一個小例子: 

<ul id="CreateLi"></ul><script type="text/javascript">    //ul 下生成 li    var ul1 = document.getElementById("CreateLi");    var li1 = document.createElement("li");    li1.innerHTML = "動態創建的li節點";    ul1.appendChild(li1);</script>

  F12查看Element可以看到,生成了 <li> 標簽 

  

7, CKEditor的原理和上面動態生成<li>標簽類似。 我們繼續查看CKEditor對應的Element元素,發現原來位置的TextArea被隱藏并且在其下方添加了一段<DIV>代碼

  也正是這一款代碼,調用CKEditor中的css 以及 js 實現了 所見即所得編輯器的功能

 

 總結: 1,本文簡單介紹了數據驗證機制:前端js判斷給用戶良好的體驗,后天邏輯判斷數據保證數據的合法性;

     2,CKEditor是第三方的可視化編輯工具,原理就是借助js,css畫出編輯框并實現每個按鈕的功能。

 

本文參考網站:http://ckeditor.com/

完整Demo下載:LiuYanban_CKEditor

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美性a视频 | a网站在线| 亚洲射逼 | 久久精品小短片 | 国产一级毛片高清视频完整版 | 日韩精品中文字幕一区二区三区 | 国产午夜精品一区 | 精品国产一区在线观看 | 91性视频 | 偷偷操偷偷操 | 99r国产精品 | 日韩欧美中文字幕视频 | 中文字幕精品一二三四五六七八 | 成人在线观看免费视频 | 国产一区二区在线观看视频 | 免费h片 | 亚洲男人的天堂在线视频 | 中文字幕视频在线播放 | 久久国产成人精品国产成人亚洲 | 爱操av| 1级片在线观看 | 中文字幕在线观看视频www | 久久人人人| 国产精品久久久久久婷婷天堂 | 国产日韩一区二区三区在线观看 | 国产精品久久久久影院老司 | 黑人一区二区三区四区五区 | 色视频91| 91中文字幕在线观看 | 娇妻被各种姿势c到高潮小说 | 丁香天堂网| www深夜成人 | 在线免费日本 | 91香蕉影视 | 久久蜜桃香蕉精品一区二区三区 | 免费黄色大片在线观看 | 黄色视频a级毛片 | 91av国产在线 | 神马久久精品综合 | 国产成人综合在线观看 | 国产成人自拍视频在线 |