tft每日頭條

 > 圖文

 > vb為什麼沒有發展起來

vb為什麼沒有發展起來

圖文 更新时间:2024-10-13 04:06:11

vb為什麼沒有發展起來(VB老當益壯就像IE國外被抛棄)1

用3D看世界,讓自動化更簡單,請關注CAD2D3D,每日更新!

同事在用VB寫程序,我很想嘲笑他,但我又忍住了,因為我也在用老掉牙的PHP開發網站。

現在做什麼都講求高大上,明明就是一條簡單的機加工自動化生産線,因為 用到了工業機器人,搖身一變,就成了智能産線、智慧車間、數字化車間、黑洞工廠等。

最近接了一個機加工自動化項目,采用工業機器人實現機床自動上下料,順帶着還有一些信息化(SCADA)内容,比如需要LED顯示屏顯示實時産量、計劃量、完成率等,然後我就發現同事在用VB6.0編寫程序,由于我20年前也學過一段時間的VB,因此就乘機看了看同事寫的源代碼,其中有個用戶登錄界面,看完源代碼之後,我有點驚呆了。

vb為什麼沒有發展起來(VB老當益壯就像IE國外被抛棄)2

vb為什麼沒有發展起來(VB老當益壯就像IE國外被抛棄)3

以下内容屬于程序員範疇,機械工程師可以跳過了。

雙擊上圖的 登錄 按鈕,會打開 按鈕 對應的源代碼,點擊按鈕後,程序會讀取用戶輸入的用戶名和密碼,然後查詢數據庫裡有沒有對應的用戶名和密碼,數據庫查詢語句如下:

sql = "select * from Users where UserID='" & txtUserID & "' and Pwd='" & MD5(pwd, 16) & "'"

比如用戶名是 CAD2D3D,密碼是123456,把用戶名和密碼代入上面的SQL語句,最終的SQL語句如下:

select * from Users where UserID='CAD2D3D' and Pwd='123456'(密碼部分省去了MD5加密)

執行上面的SQL語句之後,如果數據庫中含有對應的用戶名和密碼,數據庫就會返回一條記錄,代表驗證通過,如果沒有,返回空記錄,代表驗證不通過。

這邊的操作和我20年前的操作一模一樣,這也是初學者最容易犯的錯誤,稍微懂點數據庫的人,利用SQL注入法,就能輕松破解上面的驗證過程,我隻要用戶名輸入 'or 1=1 or',密碼無所謂,就能輕松登錄系統。

用戶名輸入 ' or 1=1 or ',最終的SQL語句如下:

select * from Users where UserID='' or 1=1 or '' and Pwd='123456'

由于1=1為true,前後又是 or 的關系,因此上面的SQL語句肯定會返回一條記錄,此時成功破解登錄系統。

避免SQL惡意注意的方法也很簡單,就是SQL語句裡不要一起查詢用戶名和面,正确的做法應該是根據用戶名,把真實密碼查找出來,然後比對用戶輸入的密碼即可。

以上内容屬于程序員範疇,機械工程師可以跳過了。

20年過去了,沒想到現在還能看到VB代碼,很熟悉的感覺,雖然早在2008年,微軟就抛棄VB,但時至今日,VB在國内依然煜煜生輝、老當益壯。

vb為什麼沒有發展起來(VB老當益壯就像IE國外被抛棄)4

提起VB,又想起了PHP,都是20年前紅極一時的編程語言,VB我用的不多,我剛上大學沒多久,VB.NET就出來了,由于學網頁設計的關系,後來我主打PHP,畢業之後,就沒有學習新的計算機語言,我十年前用PHP制作的網站,現在依然運行良好,計算機語言層出不窮,有時候也沒必要追逐潮流,能滿足需求才是最好的。

VB和PHP之所以還有市場,就是因為簡單易學,而且有大量的老項目都是用他們編寫的,隻要能運行,沒必要更換其他語言。美國波音747飛機還在使用軟盤進行數據更新,做項目要的是成熟可靠的技術方案。

談起老古董,讓我又想起了IE浏覽器,雖然也被微軟抛棄了,但IE在國内的生命力十分頑強,很多網站強制你使用IE浏覽器,你要是不用IE浏覽器,他還會在頁面頂部以紅底白字的方式提醒你下載安裝。

vb為什麼沒有發展起來(VB老當益壯就像IE國外被抛棄)5

vb為什麼沒有發展起來(VB老當益壯就像IE國外被抛棄)6

小時候,爸爸給人家修桶(塑料桶破了之後,用火加熱把它粘上)換鍋底(鋁鍋鍋底很容易漏水,把鍋底割掉,重新裝一個新的鍋底)賺錢,每天賺的不多,但能養活一家老小,那時候就在想,如果一直這樣也挺好,可惜後來技術更新之後,不要修修補補了,爸爸的手藝也派不上用場了。有時候我在想,技術原地踏步也挺好,這樣就不會有焦慮感。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关圖文资讯推荐

热门圖文资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved