人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

論壇編程給開發者的建議

論壇編程給開發者的建議

更新時間:2022-07-19 文章作者:未知 信息來源:網絡 閱讀次數:

系列問題上

  論壇,英文翻譯是Forum,作為網絡上必不可少的交流平臺。在網站中有著舉足輕重的地位,大家知道論壇的種類相當多。ASP、CGI、PHP、JSP甚至C++開發的,而品牌更是數以百計,正是這樣,每個論壇都存在著這樣那樣的問題,其中安全問題又尤為突出。有不少網站就是因為論壇出了問題而導致服務器被滲透,在安全上怎么重視都不過份!由于我使用ASP論壇比較多,所以談談ASP論壇。

  給開發者的建議

  數據庫問題

  數據庫似乎是每個使用者都比較頭疼的問題,被下載、被泄密。其實開發者多下些工夫。數據庫采用MD5加密(兼容行下降,自己平衡吧)。這樣泄密問題就得到了很好的解決,不管是誰。通過什么途徑看到數據,都是加密過的字符串,最大限度的解決了數據庫泄密的問題,這點動網做得很好,值得其他論壇借鑒。然后就是防下載了。在數據庫中加一個表,因為我不擅長描述,所以大家可以直接下載動網論壇V5.0 0519 sp3(URL:http://www.aspsky.net/download/list.asp?id=2178),里面有這樣一個數據庫,導入里面的那個notdownload表(大家可以自己研究構造,其實我自己也說不清楚,呵呵),然后就把數據庫的擴展名改為.asp就可以防下載了,即使知道數據庫路徑,下載也是500錯誤。這個應該由開發者做的。

  密碼驗證問題

  密碼是系統的首席看門官,大部分的攻擊都是截獲或猜解密碼開始的,所以對于登陸的規定還有需要驗證的地方的防范一定要做好。開發者應該限制密碼的最小長度為8,最好加入隨機驗證碼,限制登陸失敗的次數,如果輸入用戶名、密碼、隨機驗證碼錯誤導致登陸失敗3次后,就會自動關閉,另外,提示密碼錯誤的消息不宜顯示在HTML頁面里,而應該由談出消息框來顯示出錯信息,這幾個措施都能有效的防止溯雪這一類工具暴力破解,這類工具的原理是判斷頁面源代碼中的某一標簽進行破解的,一般是先獲取錯誤頁面的的某個標簽,然后提交數據,拿返回的數據和剛才獲取的錯誤標簽進行對比,如果遇到了和錯誤標簽不同的標簽。則視為正確的,只要了解原理了,就知道上面的三種措施是多么有效。還有盡量不要在頁面顯示密碼。比如在快速回復的地方查看原代碼。找到類似的 “密碼 <input maxlength=20 type=password name=Pass value="***********" size="20">”地方。其中“***********”就是密碼了。這樣用戶登陸后。離開一下,別人馬上查看原代碼就可以看到密碼了,非常不安全啊!其實通過Cookies和Session判斷也是有一定缺陷的。Session完全保存在服務器端,是絕對安全的。所以只有開發者平衡一下了。選個折中的方法,還有也盡量少用type=hidden來隱藏信息。會HTML的人一看就知道了。不過如果像剛才所說的采用MD5加密,就不會看到真實的密碼了。查看原代碼的時候就只是value="f3b4sd5f47fh49ah3"。(此字符串已經改過)

  UBB解析問題

  相當多的留言本和論壇都存在這樣的問題,比如[img]pic_url[/img]可以顯示一張圖片,但如果代碼轉換不好,就可能被執行跨站腳本,最簡單的測試方法就是提交[img]javascript :alert();[/img]這樣的信息,(標簽視程序而定),如果彈出一個對話框就說明存在此漏洞,有的雖然已經過濾了。但可能把提交的信息轉換為ASCII代碼,還是有可能執行跨站腳本的,跨站腳本的危害不定,可以彈出一些信息來,如果HTML代碼不過濾好。可以修改主頁的格局;更有攻擊者,寫個竊取用戶的COOKIES資料的腳本引導用戶訪問,最慘的還可能格式化瀏覽者的硬盤。下面又是一個簡單的例子。

  [img]javascript :document.write();[/img]

  document.write('');里面的單引號'' 和句點.要用ASCII轉換,否則對稍有過濾的程序就不會生效。里面可以寫任何代碼。修改注冊表、格式化硬盤……如果UBB過濾得好,就沒事。

  看懂的朋友覺得嚴重嗎?下面付上一段處理腳本字符的代碼。僅供參考。也許有錯誤和遺漏。

  Function JScode(JSstr)
  dim jsstr:jsstr=jsstrs
  if jsstr="" or isnull(jsstr) then JScode"":exit function
  if not isnull(JSstr) then
  dim ts
  dim re
  dim reContent
  Set re=new RegExp
  re.IgnoreCase =true
  re.Global=True
  re.Pattern="(javascript)"
  ts=re.Replace(JSstr,"&#106avascript")
  re.Pattern="(jscript:)"
  ts=re.Replace(ts,"&#106script:")
  re.Pattern="(js:)"
  ts=re.Replace(ts,"&#106s:")
  re.Pattern="(value)"
  ts=re.Replace(ts,"&#118alue")
  re.Pattern="(about :)"
  ts=re.Replace(ts,"about&#58")
  re.Pattern="(file:)"
  ts=re.Replace(ts,"file&#58")
  re.Pattern="(document.cookie)"
  ts=re.Replace(ts,"documents&#46cookie")
  re.Pattern="(vbscript:)"
  ts=re.Replace(ts,"&#118bscript:")
  re.Pattern="(vbs:)"
  ts=re.Replace(ts,"&#118bs:")
  re.Pattern="(on(mouse|exit|error|click|key))"
  ts=re.Replace(ts,"&#111n$2")
  re.Pattern="(&#)"
  ts=re.Replace(ts,"&#")
  JScode=ts
  set re=nothing
  end if
  End Function

 

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 丰城市| 卫辉市| 湄潭县| 筠连县| 怀安县| 古蔺县| 思茅市| 邢台市| 工布江达县| 静宁县| 老河口市| 平度市| 公主岭市| 中西区| 新干县| 东乌珠穆沁旗| 行唐县| 古田县| 津南区| 宿迁市| 吴忠市| 莆田市| 德阳市| 个旧市| 大理市| 太仆寺旗| 三原县| 榆中县| 西乌珠穆沁旗| 清远市| 九龙县| 富平县| 师宗县| 祥云县| 彭阳县| 溆浦县| 中阳县| 涞水县| 彭水| 涪陵区| 天台县|