成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

面向Google編程的Copy&Paste程序員要小心了!

開發(fā) 開發(fā)工具
張大胖最近接了一個C++的私活,在編程的時候需要生成一個字母和數(shù)字混合的隨機字符串,張大胖不知道該怎么辦,于是打開Google,輸入關(guān)鍵字搜索,迅速在Stack Overflow找到了答案,還附有相關(guān)代碼,他心中竊喜,直接復(fù)制粘貼過來,稍加修改,問題搞定,爽!

 張大胖最近接了一個C++的私活,在編程的時候需要生成一個字母和數(shù)字混合的隨機字符串,張大胖不知道該怎么辦,于是打開Google,輸入關(guān)鍵字搜索,迅速在Stack Overflow找到了答案,還附有相關(guān)代碼,他心中竊喜,直接復(fù)制粘貼過來,稍加修改,問題搞定,爽!

這可能是很多程序員都干過的事情,但是一個研究顯示這么做是有風(fēng)險的。

1

最近一個計算機科學(xué)研究小組研究了Stack Overflow上過去十年的72483個C++代碼片段,發(fā)現(xiàn)了69個有安全缺陷的代碼片段,按照CWE (Common Weakness Enumeration) 的規(guī)范,被分成29類。

從數(shù)量上來看,69個非常少,總數(shù)量的千分之一都不到,但是讓人震驚的是這69個有安全缺陷的代碼片段又出現(xiàn)在了2859個GitHub的開源項目中!

很明顯,這些代碼都是程序員從Stack Overflow 復(fù)制粘貼過去的。

拿文章開頭張大胖的例子來講, 他需要用C++生成一個字母數(shù)字混合的隨機字符串,但是不知道怎么辦,于是就到Stack Overflow上去搜索,他找到了一個ID為440240的答案,這個答案有265個贊同,被瀏覽了17萬多次,應(yīng)該是個好答案了吧!

 

于是,張大胖“動心”了,他認為這是一段能解決問題的好代碼,Copy , Paste 吧!

然而這段代碼是存在著大坑的。

首先是字符串長度的問題,C/C++字符串以0結(jié)尾,帶有'len'參數(shù)的函數(shù)應(yīng)該把這一點考慮進來,但是這段代碼只是簡單的設(shè)置 s[len]=0 ,這就會導(dǎo)致不可預(yù)料的行為。

其次rand()函數(shù)已經(jīng)是一個過時的函數(shù)了,不應(yīng)該被調(diào)用了,即使是被使用,也應(yīng)該先調(diào)用srand()設(shè)置一個隨機數(shù)種子。

第三,使用rand() % N 試圖來產(chǎn)生一個隨機數(shù)字也不是最佳實踐,因為很多隨機數(shù)生成器生成數(shù)字的低字節(jié)并不是真正隨機的。

看起來很簡單的代碼卻有很多安全的漏洞,如果貿(mào)然復(fù)制粘貼到自己的項目中,就是埋了一個地雷。

2

其實,如果張大胖稍微細心一點,他就會看到這個答案有這么幾個評論:

 

實際上已經(jīng)有人指出代碼的錯誤了,Velkan還明確地說,Stack Overflow應(yīng)該提供一種機制,讓這些過時的、廢棄的答案“沉”下去,不能在這里誤導(dǎo)大家了。

但是有多少Copy&Paste程序員會細心地看這些評論呢?

這個研究小組的科學(xué)家們非常貼心,專門開發(fā)了一個Chrome插件,當(dāng)程序員去查看這些有安全缺陷的代碼時,插件就會提示:這段代碼有安全漏洞! 試圖阻止復(fù)制粘貼,并且提供一個更好的解決方案的鏈接。

 

3

研究小組的科學(xué)家們就這些安全漏洞聯(lián)系了GitHub項目的開發(fā)人員, 從回復(fù)來看,只有13.3%的人說他們已經(jīng)Fix了,有40%的人承認這些漏洞的可能性,但是他們認為輸入數(shù)據(jù)不是動態(tài)的,沒有安全風(fēng)險。還有13.3%的人根本不愿意修改。可見安全問題任重而道遠啊!

 

希望能給Copy & Paste程序員敲響一次警鐘吧!

參考資料:

https://arxiv.org/pdf/1910.01321.pdf?

https://stackoverflow.com/questions/440133/how-do-i-create-a-random-alpha-numeric-string-in-c/440240#440240

http://c-faq.com/lib/randrange.html

 

責(zé)任編輯:武曉燕 來源: 51CTO專欄
相關(guān)推薦

2019-12-03 10:04:18

程序員招聘開發(fā)

2010-04-22 10:13:46

Google英特爾

2012-06-13 13:16:16

2022-08-22 08:58:20

Java程序員虛擬機

2014-08-01 10:18:16

.Netdump

2015-06-18 10:16:27

程序員

2022-12-07 10:02:17

ChatGPTAI免費試用

2012-06-15 09:54:58

程序員編程開發(fā)

2021-04-08 22:41:22

程序員IT編程語言

2018-05-23 15:01:46

程序員WiFi生產(chǎn)商

2013-04-18 09:55:05

程序員

2015-08-18 09:23:39

程序員學(xué)英語

2022-12-08 20:16:43

2012-08-30 10:05:40

編程編程語言程序員

2019-08-07 11:05:29

Java開發(fā)代碼

2013-11-14 10:05:25

程序員職業(yè)轉(zhuǎn)型

2015-11-11 12:11:17

程序員淘寶京東

2015-07-20 10:11:08

程序員幸福

2015-10-19 17:49:43

程序員泡沫工資

2014-11-10 09:46:57

程序員
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 日本成人中文字幕 | 亚洲综合在线视频 | 黄色一级大片在线观看 | 久久精品小视频 | 成人午夜免费网站 | 天天干狠狠操 | 久久免费电影 | 色综合一区二区 | 亚洲电影第三页 | 日本在线一二 | 最新国产视频 | 伊人久久大香线 | 视频一区在线观看 | 欧美性久久久 | 国产一在线观看 | 激情视频中文字幕 | 欧美激情视频一区二区三区在线播放 | 草久久 | 巨大黑人极品videos精品 | 欧美xxxⅹ性欧美大片 | 成人午夜精品 | 中国一级特黄真人毛片免费观看 | 日韩精品一区二区三区中文在线 | 国产免费一区二区 | 国产激情视频 | 一道本不卡视频 | 看片国产 | 国产精品成人一区二区 | 性高湖久久久久久久久3小时 | 一级黄a | 黄色大片视频 | 欧美伦理一区 | 五月婷婷丁香 | 国产乱码精品一区二区三区中文 | 狠狠色狠狠色综合系列 | av网站免费 | 一区在线观看 | 色婷婷综合久久久中字幕精品久久 | 一区二区三区视频在线免费观看 | 亚洲精品久久久 | 日日干日日操 |