最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

程序開(kāi)發(fā)中的幾個(gè)請(qǐng)不要相信

 更新時(shí)間:2009年04月15日 22:03:35   作者:  
雖不算什么高深的東西,但至少也算一點(diǎn)點(diǎn)小經(jīng)驗(yàn),分享分享吧,如果您是高手,而且您還有點(diǎn)時(shí)間,那么請(qǐng)你耐心看完整篇文章,然后再幫忙指點(diǎn)指點(diǎn),留下您的經(jīng)驗(yàn),我也好學(xué)習(xí)學(xué)習(xí)。
鏈接中的例子是一些腳本攻擊相關(guān)的內(nèi)容,有時(shí)間的朋友可以點(diǎn)開(kāi)看看。

1.不要相信Request.QueryString:

相信在asp時(shí)代,這個(gè)問(wèn)題比較嚴(yán)重,不信,隨便到網(wǎng)絡(luò)上找?guī)讉€(gè)asp的企業(yè)站,找到這種url"view.asp?id=xxx",改成"view.asp?id=xxx or 1=1",相信你會(huì)看到不一樣的東西,到了.net,應(yīng)該很少了,不過(guò)上次看到有人說(shuō)CSDN爆過(guò)哦,簡(jiǎn)單的解決方法是在取得數(shù)據(jù)時(shí)做數(shù)據(jù)類型驗(yàn)證或轉(zhuǎn)換。比如:
int ViewID = 0;
if(int.TryParse(Request.QueryString["ID"], out ViewID)){
//...
}
2.不要相信maxlength:
 有時(shí)候我們想客戶端輸入的某個(gè)值不超過(guò)一定的長(zhǎng)度,這個(gè)時(shí)候可能就會(huì)用到input的maxlength,但maxlength能100%保證這個(gè)值的長(zhǎng)度不超過(guò)maxlength嗎?

[Ctrl+A 全選 注:引入外部Js需再刷新一下頁(yè)面才能執(zhí)行]

顯然,maxlength是不可信的,簡(jiǎn)單的解決辦法是后臺(tái)代碼驗(yàn)證數(shù)據(jù)長(zhǎng)度:
string UserName = Request.QueryString["UserName"];
if(!string.IsNullOrEmpty(UserName)&&UserName.length > x){
//...提示錯(cuò)誤或截?cái)鄶?shù)據(jù)
}
3.不要相信Hidden:
有時(shí)候我們想把些信息保存到前臺(tái)頁(yè)面,然后再發(fā)送回來(lái),但是我們又不想讓客戶看到這個(gè)信息,于是,我們把數(shù)據(jù)放到了hidden里面,那客戶提交數(shù)據(jù)時(shí),hidden里的內(nèi)容真的是我們放的內(nèi)容嗎?

[Ctrl+A 全選 注:引入外部Js需再刷新一下頁(yè)面才能執(zhí)行]

這個(gè)我一時(shí)也沒(méi)想到好的驗(yàn)證方法,暫時(shí)也沒(méi)有特殊的需求說(shuō)必須驗(yàn)證。
4.不要相信客戶端驗(yàn)證:

比如2和3中的問(wèn)題,可能有的朋友覺(jué)得,我客戶端再加個(gè)驗(yàn)證不就OK了嗎?可是,往往,客戶端驗(yàn)證也是不安全的,首先,如果客戶端禁用腳本,那客戶端驗(yàn)證是完全失效的,另外,在腳本有效的情況下,腳本驗(yàn)證也是可以被篡改的。

[Ctrl+A 全選 注:引入外部Js需再刷新一下頁(yè)面才能執(zhí)行]

以前QQ空間里可以通過(guò)這個(gè)方法免費(fèi)使用黃鉆模板,不知道現(xiàn)在還有沒(méi)有。這個(gè)就沒(méi)有什么好的解決辦法,只能后臺(tái)再驗(yàn)證一次。
5.不要相信編輯器:

有的時(shí)候,可能項(xiàng)目中要用到一些簡(jiǎn)單的編輯器,于是,我們就找到了一些編輯器,把不需要的功能(比如:編輯源碼、插入圖片等)剔除掉,就成了個(gè)簡(jiǎn)單的編輯器,那這樣的編輯器還會(huì)有什么問(wèn)題嗎?

[Ctrl+A 全選 注:引入外部Js需再刷新一下頁(yè)面才能執(zhí)行]

暫時(shí)也沒(méi)有什么好的解決辦法,以前找到過(guò)過(guò)濾script標(biāo)簽的代碼,但似乎不太完美。
6.不要相信Cookie:
網(wǎng)站中不可避免的會(huì)使用到Cookie,但如果一不注意,小心你的Cookie成了別人的"Cookie",
http://img.jb51.net/online/demo0415/Cookie.asp
取Cookie和寫Cookie的js方法是在網(wǎng)上找到的,具體鏈接也找不到了。解決辦法,似乎是Cookie加密(當(dāng)然,即使是加密了,也盡量不要把敏感數(shù)據(jù)放到Cookie中),不知道各位高手還有沒(méi)有其它好辦法。
7.不要相信Request.UrlReferrer:
如果有朋友用這個(gè)來(lái)驗(yàn)證請(qǐng)求,那么請(qǐng)注意了,這個(gè)東西也是不可信的。見(jiàn)代碼;
System.Net.HttpWebRequest request = System.Net.WebRequest.Create("http://m.fzitv.net/") as System.Net.HttpWebRequest;
request.Referer = "http://m.fzitv.net/";
...
那么,這個(gè)時(shí)候你取得的Urlreferrer會(huì)是http://m.fzitv.net/,但這個(gè)請(qǐng)求卻是偽造的。
8.不要相信用戶:
用戶就是你潛在的威脅,客戶端的東西,永遠(yuǎn)都不要輕信。
另,select標(biāo)簽的內(nèi)容也是不可信的,大家可以動(dòng)手試試,隨便建個(gè)頁(yè)面,里面放個(gè)select,然后:
復(fù)制代碼 代碼如下:

javascript:alert(window.c=function(){var s=document.getElementsByTagName("select")[0];for(var x = 0; x < 100; x++){s.options[x]=new Option("選項(xiàng)" + x, x)}}());

歡迎高手不吝賜教。示例代碼下載。

相關(guān)文章

  • 淺析hosts 文件的作用及修改 hosts 文件的方法

    淺析hosts 文件的作用及修改 hosts 文件的方法

    hosts是一個(gè)沒(méi)有擴(kuò)展名的系統(tǒng)文件,其基本作用就是將一些常用的網(wǎng)址域名與其對(duì)應(yīng)的 IP 地址建立一個(gè)關(guān)聯(lián)“ 數(shù)據(jù)庫(kù) ”。接下來(lái)通過(guò)本文給大家介紹hosts 文件的作用及修改 hosts 文件的方法,需要的朋友參考下吧
    2018-01-01
  • HTTPS的七個(gè)誤解

    HTTPS的七個(gè)誤解

    這篇文章主要介紹了HTTPS的七個(gè)誤解,需要的朋友可以參考下
    2015-04-04
  • Git提交代碼詳細(xì)流程及問(wèn)題總結(jié)

    Git提交代碼詳細(xì)流程及問(wèn)題總結(jié)

    這篇文章主要介紹了Git的三大分區(qū),分別是工作區(qū)、暫存區(qū)和版本庫(kù),并詳細(xì)描述了提交、推送、拉取代碼和合并分支的流程,文中通過(guò)代碼介紹的非常詳解,需要的朋友可以參考下
    2025-02-02
  • VSCode 遠(yuǎn)程登錄開(kāi)發(fā)(帶免密)

    VSCode 遠(yuǎn)程登錄開(kāi)發(fā)(帶免密)

    這篇文章主要介紹了VSCode 遠(yuǎn)程登錄開(kāi)發(fā)(帶免密),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • 云開(kāi)發(fā) VSCode 插件 Cloudbase Toolkit 的正確打開(kāi)方式及應(yīng)用場(chǎng)景分析

    云開(kāi)發(fā) VSCode 插件 Cloudbase Toolkit 的正確打開(kāi)方式及應(yīng)用場(chǎng)景分析

    Tencent CloudBase Toolkit 是云開(kāi)發(fā)的 VS Code(Visual Studio Code)插件。這篇文章主要介紹了云開(kāi)發(fā) VSCode 插件 Cloudbase Toolkit 的正確打開(kāi)方式,需要的朋友可以參考下
    2020-07-07
  • Git常用場(chǎng)景使用方法

    Git常用場(chǎng)景使用方法

    這篇文章主要介紹了Git常用場(chǎng)景使用,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Jenkins?腳本命令行應(yīng)用小結(jié)

    Jenkins?腳本命令行應(yīng)用小結(jié)

    這篇文章主要介紹了Jenkins?腳本命令行應(yīng)用總結(jié),包括批量刪除Jenkins 項(xiàng)目構(gòu)建記錄,非多分支項(xiàng)目及分支項(xiàng)目,文章結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04
  • wap開(kāi)發(fā)中如何有效的利用緩存減少消息的傳送量

    wap開(kāi)發(fā)中如何有效的利用緩存減少消息的傳送量

    由于WAP信道帶寬的限制,我們?cè)诰帉慦AP應(yīng)用的時(shí)候都希望最大限度地減少消息的傳送量。
    2010-06-06
  • Hash算法示例應(yīng)用場(chǎng)景解延伸探究

    Hash算法示例應(yīng)用場(chǎng)景解延伸探究

    這篇文章主要為大家介紹了Hash算法示例應(yīng)用場(chǎng)景解延伸探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • git本地分支和stash內(nèi)容報(bào)錯(cuò)消失的問(wèn)題

    git本地分支和stash內(nèi)容報(bào)錯(cuò)消失的問(wèn)題

    這篇文章主要介紹了git本地分支和stash內(nèi)容報(bào)錯(cuò)消失,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12

最新評(píng)論

巴彦淖尔市| 庐江县| 永春县| 淮北市| 鹤山市| 临猗县| 西华县| 隆德县| 杂多县| 普安县| 荥经县| 图们市| 辽源市| 兴和县| 祁东县| 淳化县| 老河口市| 青岛市| 德保县| 湖南省| 钦州市| 望奎县| 礼泉县| 仪陇县| 沙河市| 雅江县| 应城市| 华池县| 夏津县| 南部县| 河西区| 汶上县| 金塔县| 内丘县| 柘城县| 都江堰市| 德州市| 雷州市| 垫江县| 天等县| 石阡县|