摘要:它們的用處都是用來(lái)能讓數(shù)據(jù)正常插入到數(shù)據(jù)庫(kù)中,并防止注入,但是并不能做到防止注入。進(jìn)來(lái)抽獎(jiǎng)的用戶使用原子加鎖,實(shí)現(xiàn)抽獎(jiǎng)次數(shù)自增,當(dāng)抽獎(jiǎng)次數(shù)到達(dá)時(shí),返回不中獎(jiǎng)。
mysql_real_escape_string mysql_escape_string有什么本質(zhì)的區(qū)別,有什么用處?轉(zhuǎn)載于:https://zhuanlan.zhihu.com/p/...
答案并非標(biāo)準(zhǔn),是作者經(jīng)驗(yàn)之談,僅供參考
mysql_real_escape_string需要預(yù)先連接數(shù)據(jù)庫(kù),并可在第二個(gè)參數(shù)傳入數(shù)據(jù)庫(kù)連接(不填則使用上一個(gè)連接)
兩者都是對(duì)數(shù)據(jù)庫(kù)插入數(shù)據(jù)進(jìn)行轉(zhuǎn)義,但是mysql_real_escape_string轉(zhuǎn)義時(shí),會(huì)考慮數(shù)據(jù)庫(kù)連接的字符集。
它們的用處都是用來(lái)能讓數(shù)據(jù)正常插入到數(shù)據(jù)庫(kù)中,并防止sql注入,但是并不能做到100%防止sql注入。
為什么上述函數(shù)仍然無(wú)法100%防止SQL注入因?yàn)榭蛻舳司幋a以及服務(wù)器端編碼不同,可能產(chǎn)生注入問(wèn)題,但是其實(shí)這種場(chǎng)景不多見(jiàn)。
PHP的連接組件mysql為什么被棄用?被棄用的原因是官方不再建議使用mysql_xx的數(shù)據(jù)庫(kù)操作方式,建議使用pdo和mysqli,因?yàn)椴还軓男阅芨踩珌?lái)看,mysqli都比mysql要好。
PHP的連接組件MySQLi 為什么比 MySQL好 什么是內(nèi)存泄漏,js內(nèi)存泄漏是怎么產(chǎn)生的?產(chǎn)生泄漏的原因有好幾種:
(1) 頁(yè)面元素被刪除,但是綁定在該元素上的事件未被刪除;
(2) 閉包維持函數(shù)內(nèi)局部變量(外部不可控),使其得不到釋放;
(3) 意外的全局變量;
(4) 引用被刪除,但是引用內(nèi)的引用,還存在內(nèi)存中。
從上述原因上看,內(nèi)存泄漏產(chǎn)生的根本原因是引用無(wú)法正確回收,值類型并不能引發(fā)內(nèi)存泄漏。
對(duì)于每個(gè)引用,都有自己的引用計(jì)數(shù),當(dāng)引用計(jì)數(shù)歸零或被標(biāo)記清除時(shí),js垃圾回收器會(huì)認(rèn)為該引用可以回收了。
什么是閉包,跟原型鏈、作用域鏈有什么關(guān)聯(lián) 一臺(tái)電腦配置無(wú)限好,可以同時(shí)打開(kāi)多少個(gè)網(wǎng)頁(yè)65535 - 1024 = 64511 個(gè)
ip地址能被偽造嗎?http頭部可以被篡改,但是只能修改X_FORWARDED_FOR,真實(shí)ip地址(REMOTE_ADDR)很難修改(除非是路由器去修改),因?yàn)檎鎸?shí)ip是底層會(huì)話ip地址,而且因?yàn)門CP 3次握手的存在,連接無(wú)法建立,偽造的意義不大,至于UDP的話,一般是內(nèi)網(wǎng)才使用UDP通信。
有100萬(wàn)個(gè)獎(jiǎng)品,每個(gè)人可以中獎(jiǎng)3次,先到先得,怎么控制并發(fā),不能發(fā)超,并保證完全的先到先得模式百萬(wàn)獎(jiǎng)品在打亂后預(yù)先insert到數(shù)據(jù)庫(kù),所有中獎(jiǎng)操作,均只能update,不能insert。進(jìn)來(lái)抽獎(jiǎng)的用戶使用memcahe原子加鎖,實(shí)現(xiàn)抽獎(jiǎng)次數(shù)自增,當(dāng)抽獎(jiǎng)次數(shù)到達(dá)3時(shí),返回不中獎(jiǎng)。
預(yù)先插入需要很多資源,如果獎(jiǎng)品數(shù)量上了1億怎么辦? 內(nèi)存比較寶貴,在不用內(nèi)存加鎖的情況下怎么辦,并且如果碰到1億獎(jiǎng)池的情況,預(yù)先插入數(shù)據(jù)庫(kù)肯定不好,怎么辦?設(shè)置獎(jiǎng)品概率,分三張表,都使用innodb引擎,一張存中獎(jiǎng)記錄(預(yù)先插入一行),一張存獎(jiǎng)品發(fā)放概況,一張存用戶抽獎(jiǎng)情況(uin唯一索引),大并發(fā)情況下,利用mysql的排他鎖進(jìn)行并發(fā)控制。流程如下:
begin
查詢用戶抽獎(jiǎng)次數(shù),加排他鎖
對(duì)用戶抽獎(jiǎng)次數(shù)的更新/插入
鎖行查詢發(fā)放情況
獲得抽獎(jiǎng)結(jié)果(某些獎(jiǎng)品發(fā)完之后,動(dòng)態(tài)變更概率)
更新發(fā)放表
插入中獎(jiǎng)記錄
commit
遇到臟讀怎么辦? innodb的master線程在什么情況下fork其他子線程? 數(shù)據(jù)鏈路層的數(shù)據(jù)是怎么校驗(yàn)的,有哪些校驗(yàn)方式?CRC32
b+樹(shù)的查詢時(shí)間復(fù)雜度是多少,哈希表是多少,為什么數(shù)據(jù)庫(kù)索引用b+樹(shù)存儲(chǔ),而不是哈希表,數(shù)據(jù)庫(kù)索引存儲(chǔ)還有其他數(shù)據(jù)結(jié)構(gòu)嗎?O(log(n)),O(1)
因?yàn)楣1硎巧⒘械?,在遇?b>key>"12"這種查找條件時(shí),不起作用,并且空間復(fù)雜度較高。
b+數(shù)根據(jù)層數(shù)決定時(shí)間復(fù)雜度,數(shù)據(jù)量多的情況下一般4-5層,然后用二分法查找頁(yè)中的數(shù)據(jù),時(shí)間復(fù)雜度遠(yuǎn)小于log(n)。
apache是怎么跟php通訊的,sapi是什么使用sapi通訊,sapi是php封裝的對(duì)外數(shù)據(jù)傳遞接口,通常有cgi/fastcgi/cli/apache2handler四種運(yùn)行模式。
php的垃圾回收機(jī)制?垃圾回收是指當(dāng)php運(yùn)行狀態(tài)結(jié)束時(shí),比如遇到了exit/die/致命錯(cuò)誤/腳本運(yùn)行結(jié)束時(shí),php需要回收運(yùn)行過(guò)程中創(chuàng)建的變量、資源的內(nèi)存。
ZEND引擎維護(hù)了一個(gè)棧zval,每個(gè)創(chuàng)建的變量和資源都會(huì)壓入這個(gè)棧中,每個(gè)壓入的數(shù)組結(jié)構(gòu)都類似:[refcount => int, is_ref => 0|1, value => union, type => string],變量被unset時(shí),ref_count如果變成0,則被回收。
當(dāng)遇到變量循環(huán)引用自身時(shí),使用同步回收算法回收。
jquery的sizzle引擎工作原理http://www.cnblogs.com/xesam/...
seajs的工作原理,如何解決重復(fù)加載庫(kù)的問(wèn)題,如何進(jìn)行資源的同步加載建立映射關(guān)系并緩存起來(lái);資源并不能真正同步加載,只是返回一個(gè)回調(diào)。
memcache跟redis的區(qū)別 md5逆向原理先用彩虹字典查找,再嘗試暴力破解。
父類方法是protected,子類重構(gòu)為private,會(huì)發(fā)生什么?會(huì)發(fā)生fatal錯(cuò)誤,因?yàn)槔^承的方法或?qū)傩灾荒芫S持或放大權(quán)限,不能縮小,比如protected重載為public是可行的。
一個(gè)網(wǎng)頁(yè)從輸入地址回車,到完整展示網(wǎng)頁(yè)內(nèi)容這段時(shí)間里,做了哪些工作,越詳細(xì)越好。0、瀏覽器本地緩存匹配;
1、本地hosts映射對(duì)比;
2、本地dns緩存解析;
3、遠(yuǎn)程dns解析獲得服務(wù)器ip地址;
4、瀏覽器發(fā)送tcp連接請(qǐng)求包(syn);
5、請(qǐng)求包經(jīng)過(guò)傳輸層、網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層封裝通過(guò)網(wǎng)卡到達(dá)路由器;
6、路由器轉(zhuǎn)發(fā)數(shù)據(jù)包到所屬運(yùn)營(yíng)商服務(wù)器;
7、運(yùn)營(yíng)商服務(wù)器通過(guò)尋址最短路徑通過(guò)中繼節(jié)點(diǎn)到達(dá)指定ip地址;
8、服務(wù)器端可能存在反向代理或者負(fù)載均衡,都是直接轉(zhuǎn)發(fā)請(qǐng)求至上游服務(wù)器,當(dāng)然也可以制定安全防御規(guī)則直接丟棄請(qǐng)求包;
9、上游服務(wù)器收到連接請(qǐng)求,在自身可用的情況下,返回(syn+ack);
10、瀏覽器校驗(yàn)ack,再次發(fā)送(syn+ack);
11、服務(wù)器校驗(yàn)ack切換連接狀態(tài)至established,然后根據(jù)請(qǐng)求傳輸數(shù)據(jù)包;
12、當(dāng)transform-encoding為chunked時(shí),瀏覽器開(kāi)始渲染頁(yè)面;
13、四次揮手,連接關(guān)閉;
14、渲染數(shù)據(jù)完成。
keep-alive的概念長(zhǎng)連接機(jī)制,表示keep-alive-timeout時(shí)間內(nèi),如果連接沒(méi)有closed,再次傳輸數(shù)據(jù)不再需要三次握手了。
linux文件壓縮操作命令,shell腳本等 設(shè)計(jì)一個(gè)中繼服務(wù)器,轉(zhuǎn)發(fā)客戶A->客戶B的請(qǐng)求 myisam跟innodb有什么區(qū)別 php進(jìn)程死鎖產(chǎn)生的原因是什么?怎么自動(dòng)排查與自動(dòng)恢復(fù)? 有class A { public function b($a, $b, $c){}}; 怎么使用["b" => 2, "a" => 1, "c" => 3],對(duì)進(jìn)行A::b進(jìn)行調(diào)用,并順利賦值? php5.2->php7.1的各版本演進(jìn)歷史,新增特性等? 畫一個(gè)tcp三次握手圖文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/23138.html
摘要:先說(shuō)一下面試時(shí)的心態(tài),剛?cè)腴T的程序員,技術(shù)實(shí)力不高,又大多不善言談,面試一旦遇到難題,很容易心態(tài)失衡驚慌失措語(yǔ)無(wú)倫次,最終丟掉了。其實(shí)大可不必,心態(tài)坦然,是面試必備的一點(diǎn)。 本書的 GitHub 地址:https://github.com/todayqq/PH... 作為一位程序員,面試過(guò)多次,也面試過(guò)很多人,最近又在找工作,總結(jié)一下面試經(jīng)驗(yàn)和面試題,希望可以幫到正在找工作的小伙伴們...
摘要:擴(kuò)展閱讀收集的前端面試題和答案前端開(kāi)發(fā)面試題史上最全的前端面試題匯總及答案前端工程師手冊(cè)協(xié)議工作原理協(xié)議運(yùn)行機(jī)制的概述 本書的 GitHub 地址:https://github.com/todayqq/PH... 對(duì)于大公司,很少會(huì)有全棧工程師這個(gè)崗位,全棧是個(gè)花哨的詞,對(duì)于現(xiàn)在比較熱門的技術(shù),不論是 Vue 還是 Laravel,只要智商不差,看著文檔,都能寫出一個(gè) CURD 來(lái),...
摘要:前端篇收集的前端面試題和答案前端開(kāi)發(fā)面試題史上最全的前端面試題匯總及答案前端工程師手冊(cè)協(xié)議工作原理協(xié)議運(yùn)行機(jī)制的概述協(xié)議篇原理原理解析的工作原理與的區(qū)別理解后端篇年的面試總結(jié)垃圾回收機(jī)制面向?qū)ο笤O(shè)計(jì)淺談?wù)f清楚是什么和的區(qū)別索引原理及慢查 前端篇 收集的前端面試題和答案 前端開(kāi)發(fā)面試題 史上最全的web前端面試題匯總及答案 前端工程師手冊(cè) HTTP協(xié)議:工作原理 SSL/TLS協(xié)議運(yùn)行...
摘要:本書的地址程序員的簡(jiǎn)歷在求職的時(shí)候,尤為重要,簡(jiǎn)歷就是銷售自己的明信片,一份優(yōu)秀的簡(jiǎn)歷,能為你帶來(lái)更多的面試機(jī)會(huì)。擴(kuò)展閱讀程序員簡(jiǎn)歷應(yīng)該怎么寫面試時(shí),如何向公司提問(wèn) 本書的 GitHub 地址:https://github.com/todayqq/PH...程序員的簡(jiǎn)歷在求職的時(shí)候,尤為重要,簡(jiǎn)歷就是銷售自己的明信片,一份優(yōu)秀的簡(jiǎn)歷,能為你帶來(lái)更多的面試機(jī)會(huì)。 我自己寫了不少了簡(jiǎn)歷,...
閱讀 3156·2021-11-24 10:24
閱讀 2966·2021-11-11 16:54
閱讀 3086·2021-09-22 15:55
閱讀 2040·2019-08-30 15:44
閱讀 1910·2019-08-29 18:41
閱讀 2773·2019-08-29 13:43
閱讀 3063·2019-08-29 12:51
閱讀 1200·2019-08-26 12:19