A. 床頭靠開門的那面牆 非常不好嗎
不要太在意,怎麼方便怎麼來,這種事信則有不信則無,如果你真在意,你可以請專門的看風水先生看一下,肯定會有解決或者是破解的方法
B. php的反射跟new一個對象有區別么
fnServerData": function ( sSource, aoData, fnCallback ) {
aoData.push( { "name": "table", "value": "wordforms" } );
$.ajax( {
"dataType": 'json',
"url": sSource,
"data": aoData,
"success": fnCallback
} );
}
C. 滲透測試應該怎麼做呢
01、信息收集
1、域名、IP、埠
域名信息查詢:信息可用於後續滲透
IP信息查詢:確認域名對應IP,確認IP是否真實,確認通信是否正常
埠信息查詢:NMap掃描,確認開放埠
發現:一共開放兩個埠,80為web訪問埠,3389為windows遠程登陸埠,嘿嘿嘿,試一下
發現:是Windows Server 2003系統,OK,到此為止。
2、指紋識別
其實就是網站的信息。比如通過可以訪問的資源,如網站首頁,查看源代碼:
看看是否存在文件遍歷的漏洞(如圖片路徑,再通過…/遍歷文件)
是否使用了存在漏洞的框架(如果沒有現成的就自己挖)
02、漏洞掃描
1、主機掃描
Nessus
經典主機漏掃工具,看看有沒有CVE漏洞:
2、Web掃描
AWVS(Acunetix | Website Security Scanner)掃描器
PS:掃描器可能會對網站構成傷害,小心謹慎使用。
03、滲透測試
1、弱口令漏洞
漏洞描述
目標網站管理入口(或資料庫等組件的外部連接)使用了容易被猜測的簡單字元口令、或者是默認系統賬號口令。
滲透測試
① 如果不存在驗證碼,則直接使用相對應的弱口令字典使用burpsuite 進行爆破
② 如果存在驗證碼,則看驗證碼是否存在繞過、以及看驗證碼是否容易識別
風險評級:高風險
安全建議
① 默認口令以及修改口令都應保證復雜度,比如:大小寫字母與數字或特殊字元的組合,口令長度不小於8位等
② 定期檢查和更換網站管理口令
2、文件下載(目錄瀏覽)漏洞
漏洞描述
一些網站由於業務需求,可能提供文件查看或下載的功能,如果對用戶查看或下載的文件不做限制,則惡意用戶就能夠查看或下載任意的文件,可以是源代碼文件、敏感文件等。
滲透測試
① 查找可能存在文件包含的漏洞點,比如js,css等頁面代碼路徑
② 看看有沒有文件上傳訪問的功能
③ 採用…/來測試能否誇目錄訪問文件
風險評級:高風險
安全建議
① 採用白名單機制限制伺服器目錄的訪問,以及可以訪問的文件類型(小心被繞過)
② 過濾【./】等特殊字元
③ 採用文件流的訪問返回上傳文件(如用戶頭像),不要通過真實的網站路徑。
示例:tomcat,默認關閉路徑瀏覽的功能:
<param-name>listings</param-name>
<param-value>false</param-value>
3、任意文件上傳漏洞
漏洞描述
目標網站允許用戶向網站直接上傳文件,但未對所上傳文件的類型和內容進行嚴格的過濾。
滲透測試
① 收集網站信息,判斷使用的語言(PHP,ASP,JSP)
② 過濾規則繞過方法:文件上傳繞過技巧
風險評級:高風險
安全建議
① 對上傳文件做有效文件類型判斷,採用白名單控制的方法,開放只允許上傳的文件型式;
② 文件類型判斷,應對上傳文件的後綴、文件頭、圖片類的預覽圖等做檢測來判斷文件類型,同時注意重命名(Md5加密)上傳文件的文件名避免攻擊者利用WEB服務的缺陷構造畸形文件名實現攻擊目的;
③ 禁止上傳目錄有執行許可權;
④ 使用隨機數改寫文件名和文件路徑,使得用戶不能輕易訪問自己上傳的文件。
4、命令注入漏洞
漏洞描述
目標網站未對用戶輸入的字元進行特殊字元過濾或合法性校驗,允許用戶輸入特殊語句,導致各種調用系統命令的web應用,會被攻擊者通過命令拼接、繞過黑名單等方式,在服務端運行惡意的系統命令。
滲透測試
風險評級:高風險
安全建議
① 拒絕使用拼接語句的方式進行參數傳遞;
② 盡量使用白名單的方式(首選方式);
③ 過濾危險方法、特殊字元,如:【|】【&】【;】【』】【"】等
5、SQL注入漏洞
漏洞描述
目標網站未對用戶輸入的字元進行特殊字元過濾或合法性校驗,允許用戶輸入特殊語句查詢後台資料庫相關信息
滲透測試
① 手動測試:判斷是否存在SQL注入,判斷是字元型還是數字型,是否需要盲注
② 工具測試:使用sqlmap等工具進行輔助測試
風險評級:高風險
安全建議
① 防範SQL注入攻擊的最佳方式就是將查詢的邏輯與其數據分隔,如java的預處理,PHP的PDO
② 拒絕使用拼接SQL的方式
6、跨站腳本漏洞
漏洞描述
當應用程序的網頁中包含不受信任的、未經恰當驗證或轉義的數據時,或者使用可以創建 HTML或JavaScript 的瀏覽器 API 更新現有的網頁時,就會出現 XSS 缺陷。XSS 讓攻擊者能夠在受害者的瀏覽器中執行腳本,並劫持用戶會話、破壞網站或將用戶重定向到惡意站點。
三種XSS漏洞:
① 存儲型:用戶輸入的信息被持久化,並能夠在頁面顯示的功能,都可能存在存儲型XSS,例如用戶留言、個人信息修改等。
② 反射型:URL參數需要在頁面顯示的功能都可能存在反射型跨站腳本攻擊,例如站內搜索、查詢功能。
③ DOM型:涉及DOM對象的頁面程序,包括:document.URL、document.location、document.referrer、window.location等
滲透測試
存儲型,反射型,DOM型
風險評級:高風險
安全建議
① 不信任用戶提交的任何內容,對用戶輸入的內容,在後台都需要進行長度檢查,並且對【<】【>】【"】【』】【&】等字元做過濾
② 任何內容返回到頁面顯示之前都必須加以html編碼,即將【<】【>】【"】【』】【&】進行轉義。
7、跨站請求偽造漏洞
漏洞描述
CSRF,全稱為Cross-Site Request Forgery,跨站請求偽造,是一種網路攻擊方式,它可以在用戶毫不知情的情況下,以用戶的名義偽造請求發送給被攻擊站點,從而在未授權的情況下進行許可權保護內的操作,如修改密碼,轉賬等。
滲透測試
風險評級:中風險(如果相關業務極其重要,則為高風險)
安全建議
① 使用一次性令牌:用戶登錄後產生隨機token並賦值給頁面中的某個Hidden標簽,提交表單時候,同時提交這個Hidden標簽並驗證,驗證後重新產生新的token,並賦值給hidden標簽;
② 適當場景添加驗證碼輸入:每次的用戶提交都需要用戶在表單中填寫一個圖片上的隨機字元串;
③ 請求頭Referer效驗,url請求是否前部匹配Http(s)😕/ServerHost
④ 關鍵信息輸入確認提交信息的用戶身份是否合法,比如修改密碼一定要提供原密碼輸入
⑤ 用戶自身可以通過在瀏覽其它站點前登出站點或者在瀏覽器會話結束後清理瀏覽器的cookie;
8、內部後台地址暴露
漏洞描述
一些僅被內部訪問的地址,對外部暴露了,如:管理員登陸頁面;系統監控頁面;API介面描述頁面等,這些會導致信息泄露,後台登陸等地址還可能被爆破。
滲透測試
① 通過常用的地址進行探測,如login.html,manager.html,api.html等;
② 可以借用burpsuite和常規頁面地址字典,進行掃描探測
風險評級:中風險
安全建議
① 禁止外網訪問後台地址
② 使用非常規路徑(如對md5加密)
9、信息泄露漏洞
漏洞描述
① 備份信息泄露:目標網站未及時刪除編輯器或者人員在編輯文件時,產生的臨時文件,或者相關備份信息未及時刪除導致信息泄露。
② 測試頁面信息泄露:測試界面未及時刪除,導致測試界面暴露,被他人訪問。
③ 源碼信息泄露:目標網站文件訪問控制設置不當,WEB伺服器開啟源碼下載功能,允許用戶訪問網站源碼。
④ 錯誤信息泄露:目標網站WEB程序和伺服器未屏蔽錯誤信息回顯,頁面含有CGI處理錯誤的代碼級別的詳細信息,例如SQL語句執行錯誤原因,PHP的錯誤行數等。
⑤ 介面信息泄露:目標網站介面訪問控制不嚴,導致網站內部敏感信息泄露。
滲透測試
① 備份信息泄露、測試頁面信息泄露、源碼信息泄露,測試方法:使用字典,爆破相關目錄,看是否存在相關敏感文件
② 錯誤信息泄露,測試方法:發送畸形的數據報文、非正常的報文進行探測,看是否對錯誤參數處理妥當。
③ 介面信息泄露漏洞,測試方法:使用爬蟲或者掃描器爬取獲取介面相關信息,看目標網站對介面許可權是否合理
風險評級:一般為中風險,如果源碼大量泄漏或大量客戶敏感信息泄露。
安全建議
① 備份信息泄露漏洞:刪除相關備份信息,做好許可權控制
② 測試頁面信息泄露漏洞:刪除相關測試界面,做好許可權控制
③ 源碼信息泄露漏洞:做好許可權控制
④ 錯誤信息泄露漏洞:將錯誤信息對用戶透明化,在CGI處理錯誤後可以返回友好的提示語以及返回碼。但是不可以提示用戶出錯的代碼級別的詳細原因
⑤ 介面信息泄露漏洞:對介面訪問許可權嚴格控制
10、失效的身份認證
漏洞描述
通常,通過錯誤使用應用程序的身份認證和會話管理功能,攻擊者能夠破譯密碼、密鑰或會話令牌, 或者利用其它開發缺陷來暫時性或永久性冒充其他用戶的身份。
滲透測試
① 在登陸前後觀察,前端提交信息中,隨機變化的數據,總有與當前已登陸用戶進行綁定的會話唯一標識,常見如cookie
② 一般現在網站沒有那種簡單可破解的標識,但是如果是跨站認證,單點登錄場景中,可能為了開發方便而簡化了身份認證
風險評級:高風險
安全建議
① 使用強身份識別,不使用簡單弱加密方式進行身份識別;
② 伺服器端使用安全的會話管理器,在登錄後生成高度復雜的新隨機會話ID。會話ID不能在URL中,可以安全地存儲,在登出、閑置超時後使其失效。
11、失效的訪問控制
漏洞描述
未對通過身份驗證的用戶實施恰當的訪問控制。攻擊者可以利用這些缺陷訪問未經授權的功能或數據,例如:訪問其他用戶的帳戶、查看敏感文件、修改其他用戶的數據、更改訪問許可權等。
滲透測試
① 登入後,通過burpsuite 抓取相關url 鏈接,獲取到url 鏈接之後,在另一個瀏覽器打開相關鏈接,看能夠通過另一個未登入的瀏覽器直接訪問該功能點。
② 使用A用戶登陸,然後在另一個瀏覽器使用B用戶登陸,使用B訪問A獨有的功能,看能否訪問。
風險評級:高風險
安全建議
① 除公有資源外,默認情況下拒絕訪問非本人所有的私有資源;
② 對API和控制器的訪問進行速率限制,以最大限度地降低自動化攻擊工具的危害;
③ 當用戶注銷後,伺服器上的Cookie,JWT等令牌應失效;
④ 對每一個業務請求,都進行許可權校驗。
12、安全配置錯誤
漏洞描述
應用程序缺少適當的安全加固,或者雲服務的許可權配置錯誤。
① 應用程序啟用或安裝了不必要的功能(例如:不必要的埠、服務、網頁、帳戶或許可權)。
② 默認帳戶的密碼仍然可用且沒有更改。
③ 錯誤處理機制向用戶披露堆棧跟蹤或其他大量錯誤信息。
④ 對於更新的系統,禁用或不安全地配置最新的安全功能。
⑤ 應用程序伺服器、應用程序框架(如:Struts、Spring、ASP.NET)、庫文件、資料庫等沒有進行相關安全配置。
滲透測試
先對應用指紋等進行信息搜集,然後針對搜集的信息,看相關應用默認配置是否有更改,是否有加固過;埠開放情況,是否開放了多餘的埠;
風險評級:中風險
安全建議
搭建最小化平台,該平台不包含任何不必要的功能、組件、文檔和示例。移除或不安裝不適用的功能和框架。在所有環境中按照標準的加固流程進行正確安全配置。
13、使用含有已知漏洞的組件
漏洞描述
使用了不再支持或者過時的組件。這包括:OS、Web伺服器、應用程序伺服器、資料庫管理系統(DBMS)、應用程序、API和所有的組件、運行環境和庫。
滲透測試
① 根據前期信息搜集的信息,查看相關組件的版本,看是否使用了不在支持或者過時的組件。一般來說,信息搜集,可通過http返回頭、相關錯誤信息、應用指紋、埠探測(Nmap)等手段搜集。
② Nmap等工具也可以用於獲取操作系統版本信息
③ 通過CVE,CNVD等平台可以獲取當前組件版本是否存在漏洞
風險評級:按照存在漏洞的組件的安全風險值判定當前風險。
安全建議
① 移除不使用的依賴、不需要的功能、組件、文件和文檔;
② 僅從官方渠道安全的獲取組件(盡量保證是最新版本),並使用簽名機制來降低組件被篡改或加入惡意漏洞的風險;
③ 監控那些不再維護或者不發布安全補丁的庫和組件。如果不能打補丁,可以考慮部署虛擬補丁來監控、檢測或保護。
詳細學習可參考:
D. 霓和虹有什麼區別
彩虹,簡稱虹,英文叫rainbow。在東北農村彩虹叫"絳",東
北音讀作gang,去聲。我記得小時候姥姥和母親特別告訴我,雨後
出現彩虹時(一般在早晨或者傍晚出現,很少在中午。夏天向天空
噴一口水汽也能容易地生成小彩虹),不許用手指指點彩虹,否則
不吉利,如家裡面自己製作大醬的話,醬就可能爛掉。這可能是利
用了諧音,具體原因我現在也不知道。當然我從小對那些說法就不
信,也確實偷偷用手指指點過彩虹,好像什麼異常也沒有出現。
通常說的彩虹一定是紅色在外,紫色在內,呈弧形,弧高40~
42度。這可以通過幾何光學的折射和反射定律,及地球與太陽(別
的光源也可以)的關系解釋,簡單說就是,太陽光線通過大量小球
形的水珠時,發生折射和反射後到達人的眼睛,形成了色彩分開的
虛像。頻率高的光波折射的程度要大於頻率低的光波,於是彩虹中
紅色在外,紫色在內,中間有各色光帶。
霓和虹。圖片摘自http://www.jal.cc.il.us/~mikolajsawicki/rainbows.htm
與彩虹相對的是"霓",它也叫副虹,位於"虹"的外圈,一
般不出現,或者即使出現亮度和鮮艷程度也不及虹。英文中,與霓
對應的是"secondary rainbow",也稱二級虹、次級虹,弧高52~54.5
度。"霓"的色彩正好與虹相反,即外圈是紫色,內圈是紅色。霓
的成因也與折射和反射有關,只不過它是二次內反射(double 或 two
internal reflections)的結果(所以亮度減少)。嚴格說在主虹(即通
常的虹)內側,還有復雜的光學現象,要用到其他其他理論才能解
釋。據說Carl Boyer寫過一本書《虹:從神話到數學》(The Rainbow
From Myth to Mathematics,1959),大概講述人們認識虹的歷史過程,
我沒有讀過。
香蕉動物園畫的顯然不是霓,但色彩卻按霓畫了,因此是錯誤
的。
歷史上關於虹有大量描寫和論述,好像朱熹就正確地指出過虹
的形成與小水珠有關。在近代科學史上,笛卡兒(Rene Descartes,
1637)和牛頓都專門研究過虹,有精確的解釋。有趣的是,義大利
的一位還用現象學的方法研究過虹,他做了許多現象學的實驗,重
現了幾何光學關於虹的幾乎全部實驗結果。他試圖表明,當年哥德
的顏色理論也許還有用(那作者我忘記了,從網上能夠找到)。
從來沒有注意過虹的朋友,可以看如下網頁,上面有幾幅照片,
內圈為虹,外圈為霓:
http://www.jal.cc.il.us/~mikolajsawicki/rainbows.htm
虹與霓形成原理圖見:
http://www.unidata.ucar.e/staff/blynds/rnbw7.gif
反射虹的形成原理圖見:
http://www.unidata.ucar.e/staff/blynds/rnbw8.gif
關於月光虹的描述見:
http://www.unidata.ucar.e/staff/blynds/Mikkelson.html
難道除了日光還能形成虹?是的,甚至可以用人造光源,在室
內重現虹。
藝術家們也留下了不少關於虹甚至霓的畫作。我看過一幅《彩
虹橋》,主景是一瀑布,前面有兩道彩橋,一個是虹一個是霓,我
仔細看過,畫得十分准確,說明畫家仔細觀察了那種氣象現象,而
不是像"發現"那樣賃想像瞎畫。
我沒有看過最新英文原版的同類影片,不知Discovery公司是否
已經改正,引進的中文版(附英文版)是1998-1999年出品的。在
美國的朋友,如果哪位看過,請告知新版的影片是否還是錯的。不
是是否有人向"發現"公司指出過?
關於引進國外優秀科普影片的事情,我曾在中國科普作協科普
翻譯委員會的一次小會上講過,大家要做些事情,關注引進中的一
些問題,如譯文中科學術語的准確性、中文發音與字幕的規范性、
原片內容的科學性等。我本人也曾就"國家地理"部分影片的中文
版進行過評述。在此也呼籲更多朋友關注這件事。引進科普片總是
件好事,但要盡可能做得周到,對青少年進行教育來不得半點馬虎,
傳播錯的觀念還不如不傳播。
想自學有關虹的科學知識,可以看如下網站:
http://www.geom.umn.e/ecation/calc-init/rainbow/
E. easyphpthumbnail,phpthumb哪 個更好
EasyPHPThumbnail類可以處理圖像和PHP生成縮略圖支持GIF、JPG和PNG。這個類是免費的,基於100%的PHP,可用於PHP4(4.3.11以上)和PHP5,易於使用,並提供了超過60的功能操作:
提供的功能包括:調整大小,裁剪,旋轉,翻轉,另存為,陰影,水印,文字,邊框,銳化,模糊,水波紋,反射鏡,透視,動畫,置換貼圖和更多!
使用簡介
1、基本使用
<?php
include_once('inc/easyphpthumbnail.class.php');
$thumb = new easyphpthumbnail;
$thumb -> Createthumb('gfx/image.jpg');
?>
2、動態顯示指定大小圖片
<?php
include_once('inc/easyphpthumbnail.class.php');
// Your full path to the images
$dir = str_replace(chr(92),chr(47),getcwd()) . '/gfx/';
// Create the thumbnail
$thumb = new easyphpthumbnail;
$thumb -> Thumbsize = 300;
$thumb -> Createthumb($dir . 'img.jpg');
?>
3、生成靜態多張本地圖片
<?php
include_once('inc/easyphpthumbnail.class.php');
// Your full path to the images
$dir = str_replace(chr(92),chr(47),getcwd()) . '/gfx/';
$dir_thumbs = str_replace(chr(92),chr(47),getcwd()) . '/thumbs/';
if(!is_dir($dir_thumbs)) mkdir($dir_thumbs,0777);
// Create the thumbnail
$thumb = new easyphpthumbnail;
$thumb -> Thumbsize = 600;
$thumb -> Copyrighttext = 'SCUTEPHP.COM';
$thumb -> Copyrightposition = '50% 90%';
$thumb -> Copyrightfonttype = $dir . 'handwriting.ttf';
$thumb -> Copyrightfontsize = 30;
$thumb -> Copyrighttextcolor = '#FFFFFF';
$thumb -> Chmodlevel = '0755';
$thumb -> Thumblocation = $dir_thumbs;
$thumb -> Thumbsaveas = 'jpg';
$thumb -> Thumbprefix = '120px_thumb_';
$thumb -> Createthumb(array($dir . '69.jpg', $dir . '70.jpg'), 'file');
?>
4、圖片大小百分比調整及圖片旋轉
<?php
include_once('inc/easyphpthumbnail.class.php');
$thumb = new easyphpthumbnail;
$thumb -> Thumbsize = 50;
$thumb -> Rotate = 90;//指定度數旋轉
//$thumb -> Fliphorizontal = true; //水平軸旋轉
//$thumb -> Flipvertical = true; //垂直軸旋轉
$thumb -> Percentage = true;
$thumb -> Createthumb('gfx/image.jpg');
?>
Thumbsize默認是px像素單位,然而要用百分比的話可以設置Percentage屬性為ture,Rotate屬性設置順時針旋轉度數。
5、給縮略圖增加背景陰影
<?php
include_once('inc/easyphpthumbnail.class.php');
$thumb = new easyphpthumbnail;
$thumb -> Backgroundcolor = '#D0DEEE';
$thumb -> Shadow = true;
$thumb -> Createthumb('gfx/image.jpg');
?>
6、給縮略圖增加圓角效果
<?php
include_once('inc/easyphpthumbnail.class.php');
$thumb = new easyphpthumbnail;
$thumb -> Backgroundcolor = '#D0DEEE';
$thumb -> Clipcorner = array(2,15,0,0,1,1,0);
$thumb -> Createthumb('gfx/image.jpg');
?>
Clipcorner屬性的7個參數含義
[0]: 0=關閉 1=直角 2=圓角
[1]: 裁剪比例
[2]: 隨機 - 0=關閉 1=開啟
[3]: 左上 - 0=關閉 1=開啟
[4]: 左下 - 0=關閉 1=開啟
[5]: 右上 - 0=關閉 1=開啟
[6]: 右下 - 0=關閉 1=開啟
7、給縮略圖增加透明效果
<?php
include_once('inc/easyphpthumbnail.class.php');
$thumb = new easyphpthumbnail;
$thumb -> Backgroundcolor = '#0000FF';
$thumb -> Clipcorner = array(2,15,0,1,1,1,1);
$thumb -> Maketransparent = array(1,1,'#0000FF',30);
$thumb -> Createthumb('gfx/image.jpg');
?>
8、給縮略圖增加框架效果
<?php
include_once('inc/easyphpthumbnail.class.php');
$thumb = new easyphpthumbnail;
$thumb -> Framewidth = 10;
$thumb -> Framecolor = '#FFFFFF';
$thumb -> Backgroundcolor = '#D0DEEE';
$thumb -> Shadow = true;
$thumb -> Createthumb('gfx/image.jpg');
?>
9、給縮略圖增加經典相框效果
<?php
include_once('inc/easyphpthumbnail.class.php');
$thumb = new easyphpthumbnail;
$thumb -> Framewidth = 10;
$thumb -> Framecolor = '#FFFFFF';
$thumb -> Backgroundcolor = '#D0DEEE';
$thumb -> Shadow = true;
$thumb -> Binder = true;
$thumb -> Binderspacing = 8;
$thumb -> Clipcorner = array(2,15,0,1,1,1,0);
$thumb -> Createthumb('gfx/image.jpg');
?>
10、給縮略圖增加水印效果
<?php
include_once('inc/easyphpthumbnail.class.php');
$thumb = new easyphpthumbnail;
$thumb -> Thumbsize = 300;
$thumb -> Framewidth = 10;
$thumb -> Framecolor = '#00000';
$thumb -> Backgroundcolor = '#000000';
$thumb -> Clipcorner = array(2,15,0,1,1,1,1);
$thumb -> Watermarkpng = 'watermark.png';
$thumb -> Watermarkposition = '50% 50%';
$thumb -> Watermarktransparency = 70;
$thumb -> Createthumb('gfx/image.jpg');
?>
11、給縮略圖增加短文本及相框
<?php
include_once('inc/easyphpthumbnail.class.php');
$thumb = new easyphpthumbnail;
$thumb -> Thumbsize = 300;
$thumb -> Framewidth = 10;
$thumb -> Framecolor = '#00000';
$thumb -> Borderpng = 'border.png';
$thumb -> Copyrighttext = 'MYWEBMYMAIL.COM';
$thumb -> Copyrightposition = '50% 80%';
$thumb -> Copyrightfonttype = 'handwriting.ttf';
$thumb -> Copyrightfontsize = 30;
$thumb -> Copyrighttextcolor = '#FFFFFF';
$thumb -> Createthumb('gfx/image.jpg');
?>
12、縮略圖按指定形狀裁剪
<?php
include_once('inc/easyphpthumbnail.class.php');
$thumb = new easyphpthumbnail;
$thumb -> Thumbsize = 300;
$thumb -> Borderpng = 'cloud.png';
$thumb -> Createthumb('gfx/image.jpg');
?>
13、指定區域裁剪圖片
<?php
include_once('inc/easyphpthumbnail.class.php');
$thumb = new easyphpthumbnail;
$thumb -> Thumbsize = 300;
$thumb -> Cropimage = array(2,0,20,20,35,35);
$thumb -> Createthumb('gfx/image.jpg');
?>
Cropimage屬性六個參數說明
[0]: 0=disable 1=enable free crop 2=enable center crop
[1]: 0=percentage 1=pixels
[2]: Crop left
[3]: Crop right
[4]: Crop top
[5]: Crop bottom
14、裁剪出舊照片效果
<?php
include_once('inc/easyphpthumbnail.class.php');
$thumb = new easyphpthumbnail;
$thumb -> Thumbsize = 300;
$thumb -> Shadow = true;
$thumb -> Backgroundcolor = '#D0DEEE';
$thumb -> Cropimage = array(2,0,20,20,35,35);
$thumb -> Ageimage = array(1,10,80);
$thumb -> Createthumb('gfx/image.jpg');
?>
15、屬性或方法詳解
A
$thumb -> Addtext = array()// 對原始圖像添加文字
數組有六個參數
[0]: 0=disable 1=enable
[1]: The text to add
[2]: The position of the text '50% 50%' is the center
[3]: Path to the TTF font (standard systemfont will be used)
[4]: The fontsize to use
[5]: The right text color in web format '#000000'
$thumb -> Ageimage = (array) // 應用灰度 array(1,0,0) 或者舊照片效果 array(1,10,80)
數組有六個參數
[0]: Boolean 0=disable 1=enable
[1]: Add noise 0-100, 0=disable
[2]: Sephia depth 0-100, 0=disable (greyscale)
$thumb -> Applyfilter = (boolean)// 應用用戶自定義3x3過濾器
B
$thumb -> Backgroundcolor = (string)// Web格式的背景 '#FFFFFF'
$thumb -> Binder = (boolean) // 在縮略圖左邊畫一粘合劑
$thumb -> Binderspacing = (int) // 以像素為單位的空間
$thumb -> Blur = (boolean) // 模糊過濾器
$thumb -> Borderpng = (string) // 邊框PNG圖片路徑
$thumb -> Brightness = (array) // 改變圖片亮度
數組有兩個參數
[0]: Boolean 0=disable 1=enable
[1]: Brightness -100 to 100
C
$thumb -> Chmodlevel = (string) // 設置保存圖片的許可權 '0755'
$thumb -> Clipcorner = (array) // 設置圓角 array(2,15,0,1,1,1,0)
數組有七個參數
[0]: 0=disable 1=straight 2=rounded
[1]: Percentage of clipping
[2]: Clip randomly Boolean 0=disable 1=enable
[3]: Clip top left Boolean 0=disable 1=enable
[4]: Clip bottom left Boolean 0=disable 1=enable
[5]: Clip top right Boolean 0=disable 1=enable
[6]: Clip bottom right Boolean 0=disable 1=enable
$thumb -> Colorreplace = (array)// 顏色替換 array(1,'#FFFFFF','#FF6600',60)
數組有四個參數
[0]: Boolean 0=disable 1=enable
[1]: Color to replace in web format: '#00FF00'
[2]: Replacement color in web format: '#FF0000'
[3]: RGB tolerance 0 - 100
$thumb -> Colorize = (array) // 合並圖像中的顏色 array(1,0,0,125,0)
數組有五個參數
[0]: Boolean 0=disable 1=enable
[1]: Red component 0 - 255
[2]: Green component 0 - 255
[3]: Blue component 0 - 255
[4]: Opacity level 0 - 127
$thumb -> Contrast = (array)// 改變圖像的對比度 array(1,30)
數組有2個參數
[0]: Boolean 0=disable 1=enable
[1]: Contrast -100 to 100
$thumb -> Copyrighttext = (string) // 增加版權文本
$thumb -> Copyrightposition = (string) // 版權文本位置 '50% 50%' is the center
$thumb -> Copyrightfonttype = (string)// TTF文字字體路徑 (standard systemfont will be used)
$thumb -> Copyrightfontsize = (int)// 字體大小
$thumb -> Copyrighttextcolor = (string) // 文字Web格式顏色值 '#000000'
$thumb -> Createthumb('imagepath'[,'output']) // 創建或者輸出縮略圖
函數有兩個參數
[string/array]: 原圖片完整路徑字元串或數組
[string]: Output to the 'screen' (standard) or 'file' (option)
$thumb -> Createbase64('imagepath')// 以base64數據輸出圖片
函數有一個參數
[string]: Filename for image to convert
$thumb -> Createcanvas(i,i,i,s,b)// 創建一個畫布圖像 - use with Createthumb()
函數有五個參數
[int]: Canvas width in pixels
[int]: Canvas height in pixels
[int]: Imagetype PHP: IMAGETYPE_PNG, IMAGETYPE_GIF, IMAGETYPE_JPEG
[string]: Fill color
[boolean]: Transparent (boolean)
$thumb -> Create_apng(array, string, int)// 創建APNG縮略圖
函數有三個參數
[array]: Array with filenames of PNG images (frames)
[string]: Filename for APNG: 'animation.png'
[int]: Delay between frames in milliseconds
$thumb -> Cropimage = (array)// 裁剪 array(0,0,20,20,20,20)
數組有六個參數
[0]: 0=disable 1=free crop 2=center crop 3=square crop
[1]: 0=percentage 1=pixels
[2]: Crop left
[3]: Crop right
[4]: Crop top
[5]: Crop bottom
$thumb -> Croprotate = (boolean)// 裁剪圖片到同樣大小的畫布並旋轉
D
$thumb -> Displacementmap = (array) // 變形
數組有7個參數: array(1,'gfx/displacementmap.jpg',0,0,0,50,50)
[0]: 0=disable 1=enable
[1]: Path to displacement image (grey #808080 is neutral)
[2]: 0=resize the map to fit the image 1=keep original map size
[3]: X coordinate for map position in px
[4]: Y coordinate for map position in px
[5]: X displacement scale in px
[6]: Y displacement scale in px
$thumb -> Displacementmapthumb = (array) // 縮略圖變形
數組有七個參數: array(1,'gfx/displacementmap.jpg',0,0,0,50,50)
[0]: 0=disable 1=enable
[1]: Path to displacement image (grey #808080 is neutral)
[2]: 0=resize the map to fit the image 1=keep original map size
[3]: X coordinate for map position in px
[4]: Y coordinate for map position in px
[5]: X displacement scale in px
[6]: Y displacement scale in px
$thumb -> Divisor = (int)// The divisor for the 3x3 filter
E
$thumb -> Edge = (boolean)// 邊緣過濾器
$thumb -> Emboss = (boolean) // 浮雕過濾器
F
$thumb -> Fliphorizontal = (boolean)// 在水平軸翻轉圖像
$thumb -> Flipvertical = (boolean) // 在垂直軸翻轉圖像
$thumb -> Filter = (array)// 3x3矩陣 array(-1,-1,-1,-1,8,-1,-1,-1,-1)
數組有九個參數
[0]: a1,1
[1]: a1,2
[2]: a1,3
[3]: a2,1
[4]: a2,2
[5]: a2,3
[6]: a3,1
[7]: a3,2
[8]: a3,3
$thumb -> Framewidth = (int)// 添加縮略圖框架(像素)
$thumb -> Framecolor = (string) // 框架顏色 '#FFFFFF'
F. 反射調用private方法實踐(php、java)
單測中有個普遍性的問題,被側類中的private方法無法直接調用。小拽在處理過程中通過反射改變方法許可權,進行單測,分享一下,直接上代碼。
簡單被測試類
生成一個簡單的被測試類,只有個private方法。
復制代碼
代碼如下:
<?php/**
*
崔小渙單測的基本模板。
*
*
@author
cuihuan
*
@date
2015/11/12
22:15:31
*
@version
$Revision:1.0$
**/class
MyClass
{/**
*
私有方法
*
*
@param
$params
*
@return
bool
*/private
function
privateFunc($params){if(!isset($params)){return
false;}echo
"test
success";return
$params;}}
單測代碼
復制代碼
代碼如下:
<?php/***************************************************************************
*
*
$Id:
MyClassTest
T,v
1.0
PsCaseTest
cuihuan
Exp$
*
**************************************************************************//**
*
崔小渙單測的基本模板。
*
*
@author
cuihuan
*
@date
2015/11/12
22:09:31
*
@version
$Revision:1.0$
**/require_once
('./MyClass.php');class
MyClassTest
extends
PHPUnit_Framework_TestCase
{const
CLASS_NAME
=
'MyClass';const
FAIL
=
'fail';protected
$objMyClass;/**
*
@brief
setup:
Sets
up
the
fixture,
for
example,
opens
a
network
connection.
*
*
可以看做phpunit的構造函數
*/public
function
setup()
{date_default_timezone_set('PRC');$this->objMyClass
=
new
MyClass();}/**
*
利用反射,對類中的private
和
protect
方法進行單元測試
*
*
@param
$strMethodName
string
:反射函數名
*
@return
ReflectionMethod
obj
:回調對象
*/protected
static
function
getPrivateMethod($strMethodName)
{$objReflectClass
=
new
ReflectionClass(self::CLASS_NAME);$method
=
$objReflectClass->getMethod($strMethodName);$method->setAccessible(true);return
$method;}/**
*
@brief
:測試private函數的調用
*/public
function
testPrivateFunc(){$testCase
=
'just
a
test
string';//
反射該類$testFunc
=
self::getPrivateMethod('privateFunc');$res
=
$testFunc->invokeArgs($this->objMyClass,
array($testCase));$this->assertEquals($testCase,
$res);$this->expectOutputRegex('/success/i');//
捕獲沒有參數異常測試try
{
$testFunc->invokeArgs($this->transfer2Pscase,
array());}
catch
(Exception
$expected)
{$this->assertNotNull($expected);return
true;}$this->fail(self::FAIL);}}
運行結果
cuihuan:test
cuixiaohuan$
phpunit
MyClassTest.php
PHPUnit
4.8.6
by
Sebastian
Bergmann
and
contributors.Time:
103
ms,
Memory:
11.75MbOK
(1
test,
3
assertions)
關鍵代碼分析
封裝了一個,被測類方法的反射調用;同時,返回方法之前處理方法的接入許可權為true,便可以訪問private的函數方法。
復制代碼
代碼如下:
/**
*
利用反射,對類中的private
和
protect
方法進行單元測試
*
*
@param
$strMethodName
string
:反射函數名
*
@return
ReflectionMethod
obj
:回調對象
*/protected
static
function
getPrivateMethod($strMethodName)
{$objReflectClass
=
new
ReflectionClass(self::CLASS_NAME);$method
=
$objReflectClass->getMethod($strMethodName);$method->setAccessible(true);return
$method;}
下面給大家分享java中利用反射調用另一類的private方法
我們知道,Java應用程序不能訪問持久化類的private方法,但Hibernate沒有這個限制,它能夠訪問各種級別的方法,如private,
default,
protected,
public.
Hibernate是如何實現該功能的呢?答案是利用JAVA的反射機制,如下:
<span
style="font-size:14px;">import
java.lang.reflect.InvocationTargetException;
import
java.lang.reflect.Method;
public
class
ReflectDemo
{
public
static
void
main(String[]
args)
throws
Exception
{
Method
method
=
PackageClazz.class.getDeclaredMethod("privilegedMethod",
new
Class[]{String.class,String.class});
method.setAccessible(true);
method.invoke(new
PackageClazz(),
"452345234","q31234132");
}
}
class
PackageClazz
{
private
void
privilegedMethod(String
invokerName,String
adb)
{
System.out.println("---"+invokerName+"----"+adb);
}
}</span>
輸出結果為:---452345234----q31234132
G. 大數據爬蟲技術有什麼功能
網路爬蟲是Spider(或Robots、Crawler)等詞的意譯,是一種高效的信息抓取工具,它集成了搜索引擎技術,並通過技術手段進行優化,用以從互聯網搜索、抓取並保存任何通過HTML(超文本標記語言)進行標准化的網頁信息。其作用機理是:發送請求給互聯網特定站點,在建立連接後與該站點交互,獲取HTML格式的信息,隨後轉移到下一個站點,並重復以上流程。通過這種自動化的工作機制,將目標數據保存在本地數據中,以供使用。網路爬蟲在訪問一個超文本鏈接時,可以從HTML標簽中自動獲取指向其他網頁的地址信息,因而可以自動實現高效、標准化的信息獲取。隨著互聯網在人類經濟社會中的應用日益廣泛,其所涵蓋的信息規模呈指數增長,信息的形式和分布具有多樣化、全球化特徵,傳統搜索引擎技術已經無法滿足日益精細化、專業化的信息獲取和加工需求,正面臨著巨大的挑戰。網路爬蟲自誕生以來,就發展迅猛,並成為信息技術領域的主要研究熱點。當前,主流的網路爬蟲搜索策略有如下幾種。
H. php到什麼程度可以找工作
php工作要求:
精通php,html5,jquery;熟悉MYSQL等資料庫;具備網站系統分析架構與設計經驗;對業務有很強的領悟能力,能快速准確的將業務需求轉化為業務架構,具備創新精神 ;
能夠承受工作壓力,具有良好地溝通交流和團隊合作能力;熟練運用MVC架構,網路地圖或GoogleMap等相關開發經驗者優先;熟悉TML5、CSS、Jquery、Ajax、JqueryMobile、Bootstrap等。
PHP內核由C開發,因此在語法上跟C有不少相似之處。但PHP絕對不是C。
PHP語法除了跟C有相似之處外,還跟Java、Perl比較流行的編程語言存在相似的地方。因此,如果你有上述語言基礎,PHP入門會更加快速。
PHP能直接嵌入HTML語言中,與HTML混編。PHP開發的目的主要是允許web開發人員快速編寫動態生成的web頁面,但PHP的用途遠不只於此。
PHP還包含了命令列執行介面,和產生圖形使用者介面(GUI)程式。
(8)php反射作用擴展閱讀:
php崗位職責:
1、負責網站,移動App和第三方平台介面的後端模塊設計,開發;
2、參與系統的需求分析、設計、編碼等開發工作;
3、負責相關系統的運營和維護工作,保證系統穩定可靠運行。
php工作要求:
1、大專或以上學歷,計算機或相關專業;
2、2年以上PHP開發經驗,具有良好的php基礎,熟悉yii,thinkphp,CI或其他開源框架;
3、精通PHP+MYSQL編程,熟練使用html、Javascrīpt、Ajax以及CSS編寫;
4、熟悉linux環境,熟悉LAMP結構;
5、熟悉MYSQL資料庫開發、配置、維護、性能優化;
6、具有MySQL索引優化、查詢優化和存儲優化經驗方面的經驗,要求隨時隨地貫徹最優化開發的思想;
7、必須擁有良好的代碼習慣,要求結構清晰,命名規范,邏輯性強,代碼冗餘率低;
8、有撰寫設計文檔的習慣,有團隊開發經驗;
I. 關於UFO問題
1、如果真的有 而我們也看見了 那它應該不是在以超光速飛行。它是超光速飛,可不一定要時刻都超啊
2、如果真的有,我想能到地球上來的外星人智慧肯定比地球人高,當然也有可能是比地球人差的,因為智商是測地球人的,可能並適用於外星人
3、怎麼到怎麼回來啊,電磁波都可以發射、衍射的。
4、有時間我去問問那些土著....
5、同2 如果比地球人智慧高那可能是比人類早,當然如果比人類智慧低也不見得歷史會比人類短
6、我去問問外星人再說....應該沒有,否則早就世界末日了
7、據說美國找到過UFO殘骸
8、既然他們有這個能力超光速飛行,那肯定有能力解決這個問題
9、嗯、無人駕駛比較危險吧..呵呵 開玩笑
給你幾個網址
http://post..com/f?kw=%C6%BD%D0%D0%D3%EE%D6%E6&t=4
http://post..com/f?ct=&tn=&rn=&pn=&lm=&sc=&kw=%CD%E2%D0%C7%C8%CB&rs2=0&myselectvalue=1&word=%CD%E2%D0%C7%C8%CB&tb=on
http://post..com/f?kw=%BD%F0%D7%D6%CB%FE&frs=yqtb
http://post..com/f?ct=&tn=&rn=&pn=&lm=&sc=&kw=%CE%B4%BD%E2%D6%AE%C3%D5&rs2=0&myselectvalue=1&word=%CE%B4%BD%E2%D6%AE%C3%D5&tb=on
http://post..com/f?ct=&tn=&rn=&pn=&lm=&sc=&kw=UFO&rs2=0&myselectvalue=1&word=UFO&tb=on