站長修改代碼時容易忽視的三點安全問題

來源:互聯網
上載者:User

仲介交易 HTTP://www.aliyun.com/zixun/aggregation/6858.html">SEO診斷 淘寶客 雲主機 技術大廳

作為一個網站站長,尤其是新站站長,有時候為了修改網站的功能、添加網站的特色,就不得不自己寫一些代碼。 在這個過程中,若出現一點錯誤,可能就會給網站帶災難性安全危機。 即使網站原本是由專業開發團隊開發上線的,有較好的安全性,但是在木桶原理的作用下,你添加的那幾行錯誤代碼,完全可以導致整個網站的安全機制土崩瓦解。

現在將EeSafe網站安全聯盟列出幾點使用php架構的網站常出現的代碼級安全問題,希望對站長的修改代碼工作有一定的説明。 大家有什麼疑問,可以到EeSafe網路安全中心交流,EeSafe期待和大家共同進步

1.現在最常見的php代碼編寫上的安全問題

Php全域變數危害代碼:

  

很明顯,這是判斷登陸的是否是管理員,很多網站也用這個邏輯判斷其他重要的條件。

看上去這段代碼很正確,但其實有個致命的錯誤,它假定$isadmin在沒賦值的時候是空值,但由於php語言為了使php代碼訪問使用者的輸入盡可能容易,php把輸入資料作為全域變數來處理。 所以攻擊者可以創建任意全域變數並賦值。

如何避免這樣最容易被會略的問題,如果你網站使用的是PHP程式開發,如果你已經這樣做了,並且web應用程式變數很多的話,最節省效率的辦法就是修改php的track_vars選項。

2.網站雙條件認證安全問題

判斷使用者名和密碼,先判斷是否為空,然後從資料資料庫找同時符合條件的資料。

如果採用這樣的邏輯將直接導致sql注入。

如果你要增加或修改這樣的功能,程式邏輯應該是:首先,找到資料庫中使用者名符合的資料(當然使用者名在資料庫中必須是唯一的),然後查看這條資料中對應的密碼是否和要驗證的密碼相同,這樣就避免雙認證問題。

3.用使用者名去判斷使用者許可權

很多網站都有這樣的問題,比如

  

看上去這個也沒有邏輯問題,但為什麼還是存在安全性漏洞?是因為很多資料庫對特殊字元都不處理,比如mysql這樣的資料庫,如果輸入的字元在ASCII碼129~255範圍內,是不做處理的,也就是如果註冊使用者使用「admin+ 特殊字元」時,他也同樣能夠成功註冊一個名為admin的使用者,安全機制消失了。 歡迎交流探討。

EeSafe網站安全聯盟原創文章

轉載請以連結形式注明原文位址:HTTP://www.eesafe.com/bbs/thread-1309-1-1.html

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.