共計(jì) 4683 個(gè)字符,預(yù)計(jì)需要花費(fèi) 12 分鐘才能閱讀完成。
排序的方法多種多樣,通常情況下,我們經(jīng)常使用到的數(shù)組排序函數(shù)有:sort()、rsort()、asort()、arsort()、ksort()、krsort()。下面為大家一一詳細(xì)介紹。
0=SORT_REGULAR- 默認(rèn)。把每一項(xiàng)按常規(guī)順序排列(StandardASCII,不改變類型)
1=SORT_NUMERIC- 把每一項(xiàng)作為數(shù)字來(lái)處理。
2=SORT_STRING- 把每一項(xiàng)作為字符串來(lái)處理。
3=SORT_LOCALE_STRING- 把每一項(xiàng)作為字符串來(lái)處理,基于當(dāng)前區(qū)域設(shè)置(可通過(guò) setlocale()進(jìn)行更改)。
原因:
估計(jì)是顯卡,或連線故障,顯示器沒(méi)有收到信號(hào)吧。
現(xiàn)在的家電都設(shè)計(jì)了節(jié)電模式功能,顯示器也一樣當(dāng)顯示收不到主機(jī)發(fā)來(lái)的視頻信號(hào)時(shí),就會(huì)自動(dòng)進(jìn)入節(jié)電模式。
通過(guò)這些可以分析出,開(kāi)機(jī)時(shí),你的主機(jī)沒(méi)有向顯示器發(fā)送出視頻信號(hào),可能您的主機(jī)啟動(dòng)不正常。
主機(jī)不一定燈亮風(fēng)扇轉(zhuǎn)就啟動(dòng)了,如遇硬件故障,是過(guò)不了自檢的,此時(shí)顯卡不工作,顯示器收不到顯卡的視頻信號(hào)自然是節(jié)電模式。
《常見(jiàn)問(wèn)題》
解決方法:
看看你的電腦是否設(shè)置了自動(dòng)關(guān)閉顯示器功能,如果沒(méi)有就是主機(jī)硬件問(wèn)題,比如主板或顯卡電容爆裂導(dǎo)致的黑屏、CPU 過(guò)熱等導(dǎo)致的主板自我保護(hù)關(guān)機(jī)。
擴(kuò)展資料:
電腦黑屏是比較容易出現(xiàn)的現(xiàn)象,尤其在一些較老的電腦或組裝電腦中。
電腦黑屏的故障原因有多種,如顯示器損壞、主板損壞、顯卡損壞、顯卡接觸不良、電源損壞、cpu 損壞、零部件溫度過(guò)高等。也有的是人為的造成電腦黑屏,如微軟中國(guó)的正版驗(yàn)證。
2008 年 10 月 15 日微軟內(nèi)部郵件,微軟將針對(duì)中國(guó)市場(chǎng)在 20 日啟動(dòng) WindowsXP 專業(yè)版及 Office 的正版驗(yàn)證計(jì)劃,屆時(shí),安裝了盜版 WindowsXP 專業(yè)版的電腦將被強(qiáng)行每小時(shí)黑屏(桌面背景變?yōu)榧兒谏┮淮危琌ffice 的菜單欄將被添加不是正版的標(biāo)記,盜版軟件的用戶將分別遭遇電腦黑屏與提醒標(biāo)記等警告。
以上就是電腦屏幕顯示節(jié)電模式然后黑屏怎么辦的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注其它相關(guān)文章!
推薦:【PHP 教程】
一、防止 SQL 注入
什么是 SQL 注入攻擊?
所謂 SQL 注入,就是通過(guò)把 SQL 命令插入到 Web 表單提交或輸入域名或頁(yè)面請(qǐng)求的查詢字符串,最終達(dá)到欺騙服務(wù)器執(zhí)行惡意的 SQL 命令。
尋找 SQL 注入的方法:
1. 通過(guò) get 請(qǐng)求
2. 通過(guò) post 請(qǐng)求
3. 其他 http 請(qǐng)求,如 cookie
常見(jiàn)的 SQL 注入問(wèn)題:
數(shù)據(jù)庫(kù)查詢參數(shù)的類型轉(zhuǎn)換處理
轉(zhuǎn)義字符處理不當(dāng) Talkischeap,Showmethecode. 多說(shuō)無(wú)益,代碼亮出來(lái)吧!測(cè)試:在下邊的網(wǎng)址后邊加一個(gè)單引號(hào),就會(huì)報(bào)數(shù)據(jù)庫(kù)錯(cuò)誤 http://testphp.vulnweb.com/ar… 類型處理不當(dāng) Mysql 內(nèi)置了一個(gè)命令,可以讀取文件該命令會(huì)獲取數(shù)據(jù)庫(kù)管理員的密碼。處理方法:需要將客戶端傳過(guò)來(lái)的數(shù)據(jù)進(jìn)行類型強(qiáng)制轉(zhuǎn)換,而后再查詢查詢語(yǔ)句組織不當(dāng)錯(cuò)誤處理不當(dāng)即將站點(diǎn)的錯(cuò)誤信息暴漏給用戶,這樣非常危險(xiǎn)。數(shù)據(jù)入庫(kù)時(shí)將轉(zhuǎn)換單引號(hào)、雙引號(hào)、反斜杠為實(shí)體在入庫(kù)的時(shí)候如果不過(guò)濾 ”” 這樣的東西,這樣會(huì)使數(shù)據(jù)庫(kù)報(bào)錯(cuò),或者注入等問(wèn)題。先將字符串用 htmlspecialchars()轉(zhuǎn)換為實(shí)體后存儲(chǔ)到數(shù)據(jù)庫(kù),然后從數(shù)據(jù)庫(kù)讀出來(lái)時(shí) htmlspecialchars_decode()轉(zhuǎn)為 HTML 標(biāo)簽。htmlspecialchars()函數(shù)把一些預(yù)定義的字符轉(zhuǎn)換為 HTML 實(shí)體。函數(shù)原型:預(yù)定義的字符是:htmlspecialchars_decode()函數(shù)把一些預(yù)定義的 HTML 實(shí)體轉(zhuǎn)換為字符(和 htmlspecialchars 相反)。函數(shù)原型:二、防止 xss 攻擊什么是 xss 攻擊?和上邊的 sql 注入不同的是,xss 攻擊是合法的字符串,如經(jīng)過(guò) htmlspecialchars()方法實(shí)體化后,可以保存在數(shù)據(jù)庫(kù)中,但是,當(dāng)訪問(wèn)含有該字符串的內(nèi)容頁(yè)面時(shí),就會(huì)出現(xiàn)問(wèn)題,如字符串里邊還有 JavaScript,frame 代碼,原來(lái)的頁(yè)面就會(huì)被篡改。比如你寫個(gè)留言本,有人去留言寫,這個(gè)被顯出來(lái)容易掛病毒都很容易,和數(shù)據(jù)庫(kù)無(wú)關(guān)。XSS 概念 XSS 又稱 CSS,全稱 CrossSiteScript(跨站腳本攻擊),XSS 攻擊類似于 SQL 注入攻擊,是 Web 程序中常見(jiàn)的漏洞,XSS 屬于被動(dòng)式且用于客戶端的攻擊方式,所以容易被忽略其危害性。其原理是攻擊者向有 XSS 漏洞的網(wǎng)站中輸入 (傳入) 惡意的 HTML 代碼,當(dāng)用戶瀏覽該網(wǎng)站時(shí),這段 HTML 代碼會(huì)自動(dòng)執(zhí)行,從而達(dá)到攻擊的目的。如,盜取用戶 Cookie 信息、破壞頁(yè)面結(jié)構(gòu)、重定向到其它網(wǎng)站等。理論上,只要存在能提供輸入的表單并且沒(méi)做安全過(guò)濾或過(guò)濾不徹底,都有可能存在 XSS 漏洞。下面是一些最簡(jiǎn)單并且比較常見(jiàn)的惡意字符 XSS 輸入:1.XSS 輸入通常包含 JavaScript 腳本,如彈出惡意警告框:alert(“XSS”);2.XSS 輸入也可能是 HTML 代碼段,譬如:(1). 網(wǎng)頁(yè)不停地刷新 (2). 嵌入其它網(wǎng)站的鏈接除了通過(guò)正常途徑輸入 XSS 攻擊字符外,還可以繞過(guò) JavaScript 校驗(yàn),通過(guò)修改請(qǐng)求達(dá)到 XSS 攻擊的目的,如下圖:了解到 XSS 攻擊的原理和危害后,其實(shí)要預(yù)防也不難,下面提供一個(gè)簡(jiǎn)單的 PHP 防止 XSS 攻擊的函數(shù):除了通過(guò)正常途徑輸入 XSS 攻擊字符外,還可以繞過(guò) JavaScript 校驗(yàn),通過(guò)修改請(qǐng)求達(dá)到 XSS 攻擊的目的。了解到 XSS 攻擊的原理和危害后,其實(shí)要預(yù)防也不難,下面提供一個(gè)簡(jiǎn)單的 PHP 防止 XSS 攻擊的函數(shù):避免被 XSS:1. 給用戶開(kāi)放的編輯器盡量過(guò)濾掉危險(xiǎn)的代碼如果是 html 編輯器,一般的做法是保留大部分代碼,過(guò)濾部分可能存在危險(xiǎn)的代碼,如 script,iframe 等等三、PHPMySQL 預(yù)處理語(yǔ)句預(yù)處理語(yǔ)句對(duì)于防止 MySQL 注入是非常有用的。預(yù)處理語(yǔ)句及綁定參數(shù)預(yù)處理語(yǔ)句用于執(zhí)行多個(gè)相同的 SQL 語(yǔ)句,并且執(zhí)行效率更高。預(yù)處理語(yǔ)句的工作原理如下:預(yù)處理:創(chuàng)建 SQL 語(yǔ)句模板并發(fā)送到數(shù)據(jù)庫(kù)。預(yù)留的值使用參數(shù) ”?” 標(biāo)記。例如:數(shù)據(jù)庫(kù)解析,編譯,對(duì) SQL 語(yǔ)句模板執(zhí)行查詢優(yōu)化,并存儲(chǔ)結(jié)果不輸出。執(zhí)行:最后,將應(yīng)用綁定的值傳遞給參數(shù)(”?” 標(biāo)記),數(shù)據(jù)庫(kù)執(zhí)行語(yǔ)句。應(yīng)用可以多次執(zhí)行語(yǔ)句,如果參數(shù)的值不一樣。相比于直接執(zhí)行 SQL 語(yǔ)句,預(yù)處理語(yǔ)句有兩個(gè)主要優(yōu)點(diǎn):預(yù)處理語(yǔ)句大大減少了分析時(shí)間,只做了一次查詢(雖然語(yǔ)句多次執(zhí)行)。綁定參數(shù)減少了服務(wù)器帶寬,你只需要發(fā)送查詢的參數(shù),而不是整個(gè)語(yǔ)句。預(yù)處理語(yǔ)句針對(duì) SQL 注入是非常有用的,因?yàn)閰?shù)值發(fā)送后使用不同的協(xié)議,保證了數(shù)據(jù)的合法性。PDO 預(yù)處理機(jī)制可以使用多種方式實(shí)現(xiàn)預(yù)處理:指的是在綁定數(shù)據(jù)進(jìn)行執(zhí)行的時(shí)候,可以有多種方式。預(yù)處理語(yǔ)句中為變量使用數(shù)組指定預(yù)處理變量 1、準(zhǔn)備預(yù)處理語(yǔ)句(發(fā)送給服務(wù)器,讓服務(wù)器準(zhǔn)備預(yù)處理語(yǔ)句)2、發(fā)送預(yù)處理語(yǔ)句 3、給預(yù)處理綁定數(shù)據(jù) 4、執(zhí)行預(yù)處理:將要操作的數(shù)據(jù)發(fā)送給預(yù)處理語(yǔ)句,再執(zhí)行預(yù)處理語(yǔ)句 PDO 預(yù)處理原理 PDO 的預(yù)防 sql 注入的機(jī)制也是類似于使用 mysql_real_escape_string 進(jìn)行轉(zhuǎn)義,PDO 有兩種轉(zhuǎn)義的機(jī)制,第一種是本地轉(zhuǎn)義,這種轉(zhuǎn)義的方式是使用單字節(jié)字符集(PHP<5.3.6)來(lái)轉(zhuǎn)義的(單字節(jié)與多字節(jié)),來(lái)對(duì)輸入進(jìn)行轉(zhuǎn)義,但是這種轉(zhuǎn)義方式有一些隱患。隱患主要是:在 PHP 版本小于 5.3.6 的時(shí)候,本地轉(zhuǎn)義只能轉(zhuǎn)換單字節(jié)的字符集,大于 5.3.6 的版本會(huì)根據(jù) PDO 連接中指定的 charset 來(lái)轉(zhuǎn)義。第二種方式是 PDO,首先將 sql 語(yǔ)句模板發(fā)送給 MysqlServer,隨后將綁定的字符變量再發(fā)送給 Mysqlserver,這里的轉(zhuǎn)義是在 MysqlServer 做的,它是根據(jù)你在連接 PDO 的時(shí)候,在 charset 里指定的編碼格式來(lái)轉(zhuǎn)換的。這樣的轉(zhuǎn)義方式更健全,同時(shí)還可以在又多次重復(fù)查詢的業(yè)務(wù)場(chǎng)景下,通過(guò)復(fù)用模板,來(lái)提高程序的性能。如果要設(shè)置 MysqlServer 來(lái)轉(zhuǎn)義的話,就要首先執(zhí)行:原始鏈接方法:可見(jiàn)這次 PHP 是將 SQL 模板和變量是分兩次發(fā)送給 MySQL 的,由 MySQL 完成變量的轉(zhuǎn)義處理,既然變量和 SQL 模板是分兩次發(fā)送的,那么就不存在 SQL 注入的問(wèn)題了,但需要在 DSN 中指定 charset 屬性,如:示例:總結(jié):當(dāng)調(diào)用 prepare() 時(shí),查詢語(yǔ)句已經(jīng)發(fā)送給了數(shù)據(jù)庫(kù)服務(wù)器,此時(shí)只有占位符? 發(fā)送過(guò)去,沒(méi)有用戶提交的數(shù)據(jù);當(dāng)調(diào)用到 execute()時(shí),用戶提交過(guò)來(lái)的值才會(huì)傳送給數(shù)據(jù)庫(kù),他們是分開(kāi)傳送的,兩者獨(dú)立的,SQL 攻擊者沒(méi)有一點(diǎn)機(jī)會(huì)。小結(jié)①、關(guān)于 sql 注入可以使用 htmlspecialchars()或 addslashes()方法,如果連接 mysql,可以用 mysql_real_escape_string(),還有在 php.ini 中配置 magic_quotes_gpc 開(kāi)啟自動(dòng)轉(zhuǎn)義的擴(kuò)展。PHP 環(huán)境打開(kāi)自動(dòng)轉(zhuǎn)義,PHP.INI 中查看當(dāng) magic_quotes_gpc=on 時(shí)將自動(dòng)進(jìn)行轉(zhuǎn)義(默認(rèn)是 on), 可在程序中用 get_magic_quotes_gpc()檢查他的狀態(tài)程序?yàn)椋孩凇㈥P(guān)于 xss 攻擊可以寫一個(gè)去處 script,frame 等代碼的方法:直接用這個(gè)函數(shù) editor_safe_replace 代替 htmlspecialchars,既保證安全又能用大部分 html 代碼所以,對(duì)于 PHP 的安全而言,一定要對(duì)用戶提交的數(shù)據(jù)進(jìn)行過(guò)濾校驗(yàn)處理,即先防止 SQL 注入,后再進(jìn)行 XSS 過(guò)濾,這兩個(gè)都需要兩手一起抓,且兩手都要硬,否則,你的網(wǎng)站將會(huì)存在很大的安全風(fēng)險(xiǎn)。以上就是 php 安全問(wèn)題思考的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注其它相關(guān)文章!
4=SORT_NATURAL- 把每一項(xiàng)作為字符串來(lái)處理,使用類似 natsort()的自然排序。
5=SORT_FLAG_CASE- 可以結(jié)合(按位或)SORT_STRING 或 SORT_NATURAL 對(duì)字符串進(jìn)行排序,不區(qū)分大小寫。
定義和用法:
sort()函數(shù)對(duì)索引數(shù)組進(jìn)行升序排序。
rsort()函數(shù)對(duì)索引數(shù)組進(jìn)行降序排序,其他用法一樣。
注釋:本函數(shù)為數(shù)組中的單元賦予新的鍵名。原有的鍵名將被刪除。
如果成功則返回 TRUE,否則返回 FALSE。
提示:請(qǐng)使用 rsort()函數(shù)對(duì)索引數(shù)組進(jìn)行降序排序。
sort()函數(shù)用于對(duì)數(shù)組單元從低到高進(jìn)行排序。
rsort()函數(shù)用于對(duì)數(shù)組單元從高到低進(jìn)行排序。
asort()函數(shù)用于對(duì)數(shù)組單元從低到高進(jìn)行排序并保持索引關(guān)系。
PHPasort()函數(shù)用于對(duì)數(shù)組單元從低到高進(jìn)行排序并保持索引關(guān)系,如果成功則返回 TRUE,失敗則返回 FALSE。
arsort()函數(shù)用于對(duì)數(shù)組單元從高到低進(jìn)行排序并保持索引關(guān)系。
PHParsort()函數(shù)行為與 asort()相反,對(duì)數(shù)組單元進(jìn)行由高到低排序并保持索引關(guān)系,請(qǐng)參考 asort()函數(shù)使用。
ksort()函數(shù)用于對(duì)數(shù)組單元按照鍵名從低到高進(jìn)行排序。
PHPksort()函數(shù)用于對(duì)數(shù)組單元按照鍵名從低到高進(jìn)行排序,如果成功則返回 TRUE,失敗則返回 FALSE。本函數(shù)會(huì)保留原來(lái)的鍵名,因此常用于關(guān)聯(lián)數(shù)組。
krsort()函數(shù)用于對(duì)數(shù)組單元按照鍵名從高到低進(jìn)行排序。
PHPkrsort()函數(shù)行為與 ksort()相反,對(duì)數(shù)組單元按照鍵名進(jìn)行由高到低排序,請(qǐng)參考 ksort()函數(shù)使用。
使用用戶自定義的比較函數(shù)對(duì)數(shù)組 $a 中的元素進(jìn)行排序:
以上是工作中常用的數(shù)組排序方法,想了解更多相關(guān)問(wèn)題:PHP 視頻教程
以上就是 php 排序函數(shù)詳細(xì)講解(附實(shí)例)的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注其它相關(guān)文章!
丸趣 TV 網(wǎng) – 提供最優(yōu)質(zhì)的資源集合!