亚洲色成人网站www永久,亚洲欧美人成视频一区在线,亚洲国产成人高清在线观看,亚洲精品久久久久久动漫,亚洲国产精品久久电影欧美

數(shù)據(jù)專(zhuān)欄

智能大數(shù)據(jù)搬運(yùn)工,你想要的我們都有

科技資訊

科技學(xué)院

科技百科

科技書(shū)籍

網(wǎng)站大全

軟件大全

HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>>

@vlonsir 你好,想跟你請(qǐng)教個(gè)問(wèn)題:
如何內(nèi)容條數(shù)很多,想限制高度,溢出顯示滾動(dòng)條,怎么搞一下 ,我測(cè)試了下,css和js都不起作用啊,求助一起研究下吧
您這個(gè)問(wèn)題解決了嗎?怎么解決的,謝謝
技術(shù)問(wèn)答
2016-08-22 16:33:00
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>>
@大街小巷 你好,想跟你請(qǐng)教個(gè)問(wèn)題:請(qǐng)教下圖片馬賽克,怎么樣實(shí)現(xiàn)局部馬賽克
技術(shù)問(wèn)答
2016-08-10 13:36:00
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>>
請(qǐng)教一下大家:使用html5開(kāi)發(fā) app ,使用cordova開(kāi)發(fā),大家一般使用什么框架?只有我一個(gè)人開(kāi)發(fā)html5寫(xiě)界面,后臺(tái)有同事用java
一:使用cordova+html5+css+js (原生)
二:使用cordova+ionic+angularJS
還是有其他好的方案?
技術(shù)問(wèn)答
2016-08-04 15:01:00
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>>
問(wèn)題描述:
在使用ckeditor做富文本編輯器的時(shí)候,如果想在編輯框中添加圖片。必須是先上傳然后才可以插入到編輯框中。有沒(méi)有直接ctrl +c 然后ctrl+v就可以將圖片添加的編輯框中。
類(lèi)似ueditor那樣??梢越貓D后直接ctrl+c 然后ctrl+v。
ckeditor有沒(méi)有類(lèi)似功能或是插件
技術(shù)問(wèn)答
2016-09-18 16:58:00
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>> 列如,CKEditor傳的圖片怎么加圖片熱區(qū)鏈接?
技術(shù)問(wèn)答
2014-10-17 17:27:00
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>>
java+jsp,用多文本編輯器編輯內(nèi)容,保存到數(shù)據(jù)庫(kù)后文本內(nèi)容中設(shè)置樣式的html標(biāo)簽被轉(zhuǎn)義了,展示的時(shí)候顯示的不是格式,而是html代碼。數(shù)據(jù)庫(kù)截圖:
頁(yè)面截圖:
技術(shù)問(wèn)答
2014-01-14 10:24:00
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>> 直接在 config.js 文件中加入如下內(nèi)容即可:CKEDITOR.on('dialogDefinition', function(ev) { // Take the dialog name and its definition from the event data var dialogName = ev.data.name; var dialogDefinition = ev.data.definition; var editor = ev.editor; if (dialogName == 'image') { dialogDefinition.onOk = function(e) { var imageSrcUrl = e.sender.originalElement.$.src; var imgHtml = CKEDITOR.dom.element.createFromHtml(""); editor.insertElement(imgHtml); }; } });
技術(shù)問(wèn)答
2016-07-27 09:57:00
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>>
有些富文本編輯器帶有純文本粘貼模式,很好奇是怎么實(shí)現(xiàn)的。
就像百度貼吧的回帖內(nèi)容編輯框,復(fù)制一段html粘貼進(jìn)去后會(huì)轉(zhuǎn)換成文本。
技術(shù)問(wèn)答
2014-06-20 11:05:00
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>> 我入庫(kù)的是完整的,獲取的時(shí)候是將其賦值成一個(gè)div的html,然后再將其setData(div的html),雖然可以顯示,但是沒(méi)有了頭部……
技術(shù)問(wèn)答
2013-04-09 20:05:00
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>>
整合ckeditor和uploadify實(shí)現(xiàn)圖片上傳
怎么才能觸發(fā)源文件文本框的onchange事件?
技術(shù)問(wèn)答
2013-01-29 09:13:00
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>> 大家都用什么樣的在線(xiàn)編輯器啊,求推薦
技術(shù)問(wèn)答
2016-11-16 11:05:00
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>>
ckeditor怎么設(shè)置編輯器默認(rèn)的輸入字體大???
不是默認(rèn)lable 是默認(rèn)輸入的字體!
技術(shù)問(wèn)答
2016-01-06 18:16:00
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>>
CKEDITOR,如果輸入的全部是空格,如何用js或者其他方法來(lái)進(jìn)行判斷,從而禁止提交表單。
技術(shù)問(wèn)答
2012-06-11 11:20:00
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>> 我在使用CKEditor的時(shí)候往文本框內(nèi)粘貼圖片不能顯示。但是這個(gè)問(wèn)題僅僅出現(xiàn)在ie10瀏覽器。IE11,火狐,谷歌,搜狗瀏覽器都可以。請(qǐng)問(wèn)如何解決該問(wèn)題呢??急!在線(xiàn)等。。。
技術(shù)問(wèn)答
2016-05-05 16:11:00
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>>

ckeditor的上傳帶中文路徑的文件在URL那邊顯示的時(shí)候路徑編碼就變了,需要在哪個(gè)地方修改?
技術(shù)問(wèn)答
2014-10-29 15:03:00
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>>
我看到好多人在求“Java版的”,難道這個(gè)還分后臺(tái)?那這樣如果我的后臺(tái)不是PHP豈不是不能用了……
我的理解它只是一個(gè)JS組件吧,與后臺(tái)語(yǔ)言是沒(méi)關(guān)系的?
技術(shù)問(wèn)答
2015-10-22 15:25:00
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>>
國(guó)內(nèi)哪個(gè)SSL證書(shū)頒發(fā)機(jī)構(gòu)比較好?想要安裝證書(shū)
技術(shù)問(wèn)答
2019-01-08 10:54:00
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>>
因項(xiàng)目需要一款電子簽章系統(tǒng),數(shù)字簽名那種,能夠給文件蓋章,并能夠校驗(yàn)章子簽名有效性。
技術(shù)問(wèn)答
2020-05-07 21:36:00
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>>
今天下載了Openssl的最新版本1.1.1
使用下面的函數(shù)簽名
EVP_SignInit_ex(mdctx, EVP_sm3(), NULL);
EVP_SignUpdate(mdctx, msg, sizeof(msg));
ret = EVP_SignFinal(mdctx, sign_value, &sign_len, prikey);
出現(xiàn)錯(cuò)誤:EVP_SignFinal error: error:100C508A:elliptic curve routines:pkey_ec_ctrl:invalid digest type

其中prikey對(duì)應(yīng)的私鑰文件是用下面的命令生成的: openssl genpkey -algorithm EC -out eckey.pem \ -pkeyopt ec_paramgen_curve:P-384 \ -pkeyopt ec_param_enc:named_curve
跟蹤了一下源代碼,在源文件ec_pmeth.c中的pkey_ec_ctrl函數(shù)中有如下代碼:
case EVP_PKEY_CTRL_MD:
if (EVP_MD_type((const EVP_MD *)p2) != NID_sha1 &&
EVP_MD_type((const EVP_MD *)p2) != NID_ecdsa_with_SHA1 &&
EVP_MD_type((const EVP_MD *)p2) != NID_sha224 &&
EVP_MD_type((const EVP_MD *)p2) != NID_sha256 &&
EVP_MD_type((const EVP_MD *)p2) != NID_sha384 &&
EVP_MD_type((const EVP_MD *)p2) != NID_sha512) {
ECerr(EC_F_PKEY_EC_CTRL, EC_R_INVALID_DIGEST_TYPE);
return 0;
}
我理解的其中的意思是 進(jìn)行簽名時(shí)摘要函數(shù)不能使用SM3嗎?
技術(shù)問(wèn)答
2018-11-20 10:30:00
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>>
明文為: QKCXRHFAZMGVUHQN
密鑰: PPPPPPPPPPPPPPPP 或者 QQQQQQQQQQQQQQQQ
采用 DESede/ECB/NoPadding 進(jìn)行加密
加密后密轉(zhuǎn)換為 16進(jìn)制 密文為:AAEAAF2DABDE20366516B2734EFBB967
該過(guò)程中可以把P和Q 隨意替換 ,密文不變。
請(qǐng)問(wèn)有知道這是為什么的嗎?
技術(shù)問(wèn)答
2019-12-24 13:45:00
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>>
最近要跟某支付接口對(duì)接,在服務(wù)端這邊,要求對(duì)數(shù)據(jù)進(jìn)行簽名,而他們提供的demo是java的
PrivateKey pKey = (PrivateKey)store.getKey(alias, pwd.toCharArray());
Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");
cipher.init(Cipher.ENCRYPT_MODE, pKey);
其中- - pkey 他們是用私鑰的 ,一般來(lái)說(shuō)不是用公鑰加密私鑰解密嗎.而且,簽名是簽名,加密是加密吧- - 怎么他們說(shuō)要我去簽名,但他們實(shí)際卻是用私鑰去加密來(lái)充當(dāng)簽名 --
現(xiàn)在我這邊是用python,但是模擬他們的操作后發(fā)現(xiàn)加密后結(jié)果并不一樣,感覺(jué)有點(diǎn)亂了
python:
with open(UNIONPAY_PRIVATE_KEY_FILE) as key_file:
key2 = rsa.PrivateKey.load_pkcs1(key_file.read())
msg8 = msg.encode('utf-8')
msg_dis = md5(msg8).digest()
print rsa.encrypt(msg_dis,key2)
print b64encode(rsa.encrypt(msg_dis,key2))
第一次提問(wèn),不太懂, 目前在md5后跟他們提供的demo的結(jié)果還是一致的.
但是我用 rsa module的encrypt去加密,結(jié)果卻不同,
求解答
技術(shù)問(wèn)答
2014-08-01 15:16:00
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>>
例如:一個(gè)加密類(lèi)的密鑰,啟動(dòng)時(shí)使用密鑰初始化加密類(lèi)。啟動(dòng)后,在后臺(tái)修改了密鑰,需要通知所有節(jié)點(diǎn)使用新的密鑰重新初始化加密類(lèi)。
請(qǐng)問(wèn)用什么方式通知節(jié)點(diǎn)方法更便捷?項(xiàng)目使用了dubbo、redis
技術(shù)問(wèn)答
2019-08-07 00:41:00
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>>
@AmCoder 你好,想跟你請(qǐng)教個(gè)問(wèn)題:我在3.3步驟,gpssh-exkeys -f hostlist 時(shí)候,提示輸入節(jié)點(diǎn)密碼,多次輸入,總是報(bào)錯(cuò)error password,確認(rèn)password沒(méi)錯(cuò)。查看了master主節(jié)點(diǎn)下面已經(jīng)有了.ssh及相關(guān)密鑰,然而從節(jié)點(diǎn)下面沒(méi)有.ssh目錄,手動(dòng)創(chuàng)建又提示已存在
技術(shù)問(wèn)答
2019-07-28 12:13:00
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>> 1、將php路徑下的兩個(gè)庫(kù)文件libeay32.dll和ssleay32.dll復(fù)制到操作system32下 2、在php.ini里添加一行extension=php_openssl.dll
但是還是生成不了簽名,問(wèn)題如題??大神求救!
技術(shù)問(wèn)答
2013-09-25 16:06:00
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>>
已經(jīng)困擾好幾天了,百度搜到的解決方案都不行。。。。
技術(shù)問(wèn)答
2018-11-26 16:17:00
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>>
安裝keepalived的時(shí)候,./configure報(bào)錯(cuò):configure: error: OpenSSL libraries are required
也就是要在ubuntu上安裝libssl-dev,下載了libssl-dev_1.0.1-4ubuntu5.11_amd64.deb后,安裝時(shí): libssl-dev 依賴(lài)于 libssl1.0.0 (= 1.0.1-4ubuntu5.11);然而: 未安裝軟件包 libssl1.0.0。


因此又安裝:libssl1.0.0_1.0.1-4ubuntu5.11_amd64.deb
然后就報(bào): root@nginx:/data/keepalived# dpkg -i libssl1.0.0_1.0.1-4ubuntu5.11_amd64.deb dpkg:關(guān)于含有 libssl1.0.0 的 libssl1.0.0_1.0.1-4ubuntu5.11_amd64.deb: libssl1.0.0 破壞 openssh-client (<< 1:5.9p1-4) openssh-client (版本為 1:5.8p1-1ubuntu3)已存在并且 已安裝。 dpkg:處理 libssl1.0.0_1.0.1-4ubuntu5.11_amd64.deb (--install)時(shí)出錯(cuò): 安裝 libssl1.0.0 將破壞 openssh-client,并且 不允許反配置(--auto-deconfigure 也許會(huì)有幫助) 在處理時(shí)有錯(cuò)誤發(fā)生: libssl1.0.0_1.0.1-4ubuntu5.11_amd64.deb

請(qǐng)問(wèn)各位大神這是怎么回事兒,該如何安裝?
技術(shù)問(wèn)答
2014-01-16 16:35:00
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>>
我在ubuntu系統(tǒng)上安裝nginx和openssl以支持https的反向代理來(lái)運(yùn)行springboot內(nèi)置的tomcat項(xiàng)目,配置如下:
# HTTPS server
#
server {
listen 443 ssl;
server_name localhost;
ssl_certificate vcm.cer;
ssl_certificate_key vcm.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;

location / {
proxy_pass https://localhost:8443;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
# proxy_redirect off;
}
}
但是訪(fǎng)問(wèn)443的時(shí)候nginx報(bào)錯(cuò),log輸出為:
peer closed connection in ssl handshake while ssl handshaking to upstream ,client:10.18.135.107, server:localhost, upstream:"https://127.0.0.1:8443"
技術(shù)問(wèn)答
2017-08-16 15:50:00
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>>
已經(jīng)生成用戶(hù)證書(shū) server.crt,如何從中提取出公鑰文件?
$ openssl x509 -outform PEM -in server/server.crt -pubkey -out server/server.pubkey
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDYhJizzt4+zhLMTSjDk0rd6MlK
xBYKIp972+Wc9KSpOs5LGQ+2802mlr6dSDWJJhJShArqOIKgxNE7ZBZYlGeDo4l6
Dm4DyVFpu62fObgk6vmU8T7nvF8Uo7sQdpfqgUjofGFgUDjB3fYgKUTp+kOj6RMh
R3uttrZmOraF/rEUkQIDAQAB
-----END PUBLIC KEY-----

可以顯示公鑰信息,手動(dòng)將其中內(nèi)容復(fù)制到一個(gè)文件中做公鑰測(cè)試成功,但是此命令輸出的文件內(nèi)容不是公鑰信息,內(nèi)容如下:
-----BEGIN CERTIFICATE-----
MIICpTCCAg6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJjbjEQ
MA4GA1UECBMHYmVpamluZzEMMAoGA1UEChMDYW9lMRYwFAYDVQQDEw13d3cuenlu
ZXQubXRuMB4XDTEzMDYwMjAxMjIxNloXDTE0MDYwMjAxMjIxNlowbzELMAkGA1UE
BhMCY24xEDAOBgNVBAgMB2JlaWppbmcxDDAKBgNVBAoMA0FPRTEPMA0GA1UEAwwG
d2l6YXJkMQwwCgYDVQQLDANjb3AxITAfBgkqhkiG9w0BCQEWEnd6aGgxOTg4QGdt
YWlsLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA2ISYs87ePs4SzE0o
w5NK3ejJSsQWCiKfe9vlnPSkqTrOSxkPtvNNppa+nUg1iSYSUoQK6jiCoMTRO2QW
WJRng6OJeg5uA8lRabutnzm4JOr5lPE+57xfFKO7EHaX6oFI6HxhYFA4wd32IClE
6fpDo+kTIUd7rba2Zjq2hf6xFJECAwEAAaN7MHkwCQYDVR0TBAIwADAsBglghkgB
hvhCAQ0EHxYdT3BlblNTTCBHZW5lcmF0ZWQgQ2VydGlmaWNhdGUwHQYDVR0OBBYE
FOhSP6PH+gt+PZjgIjhLGMMakFfMMB8GA1UdIwQYMBaAFMy18STW93imC2lMDsqI
i6P0N+1hMA0GCSqGSIb3DQEBBQUAA4GBAH5nNEEP9HeBI7osag8SKRwu4VICQl5W
AkHv08/kbVxd8B6ieI9si+DpHMQMl5Uk44Vz164aEAlkJFL3UEt8XJPpnYmrEM5X
jdF4+VmQqPcxsSlxRmk60VMpR+cTZURPweKtbTD8WkszaShG263k+4GWuiERxVJu
uL1TUTvMbg6B
-----END CERTIFICATE----- 求提取證書(shū)中密鑰文件的命令,網(wǎng)上查了許多無(wú)果。

技術(shù)問(wèn)答
2013-06-02 10:38:03
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>>
我個(gè)人覺(jué)得,走h(yuǎn)ttps之后,傳參本來(lái)就是加密的,不需要再自己搞一套app端加密、后臺(tái)解密的東西。這種方式本身就沒(méi)卵用,別人看到你的app源碼之后,他也可以加密,這個(gè)并起不到什么保護(hù)作用。
另外https,每個(gè)socket連接都會(huì)驗(yàn)證證書(shū),交換密鑰。別人截獲我的包,重新發(fā)送一遍,因?yàn)閟ocket不一樣,密鑰也不一樣,后臺(tái)解密后應(yīng)該是一對(duì)亂碼才對(duì)。所以https本身就是防止重放攻擊的。除非你能復(fù)制socket,或者在我和服務(wù)器之間插一腳。只要我驗(yàn)證了業(yè)務(wù)的唯一性,比如一個(gè)訂單只能支付一次,那么就沒(méi)有必要管重放攻擊。
不知道我理解的對(duì)不對(duì)。有個(gè)項(xiàng)目,已經(jīng)決定走h(yuǎn)ttps了,同事還要搞一套加密,我覺(jué)得是不是沒(méi)有必要?
技術(shù)問(wèn)答
2016-05-26 23:56:00
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>> 求助:openssl生成的私鑰,php的openssl_pkey_get_private處理就是false,不管是不是pkcs8格式,誰(shuí)解救下唄?
技術(shù)問(wèn)答
2017-01-13 09:57:00
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>>
剛?cè)胄袥](méi)多久,要寫(xiě)單元測(cè)試,目前階段先針對(duì)服務(wù)層進(jìn)行測(cè)試。
3種方法:
1.用真實(shí)數(shù)據(jù)庫(kù)測(cè)試增刪查改,dao層也一起測(cè)試了。因?yàn)閿?shù)據(jù)庫(kù)內(nèi)容隨時(shí)在變,每次測(cè)試前先針對(duì)每個(gè)測(cè)試方法跑一下sql腳本查出結(jié)果,再修改單測(cè)方法的Assert,然后跑單測(cè)。如果有50個(gè)單測(cè),就要跑50遍不同sql,修改50個(gè)單測(cè)方法。如果需要數(shù)據(jù),先插入一些數(shù)據(jù)。(這是我們組長(zhǎng)要求的做法。)
2.測(cè)試前清空相關(guān)表的內(nèi)容,再插入數(shù)據(jù),根據(jù)插入的數(shù)據(jù)進(jìn)行Assert。這樣將dao層也測(cè)試到了,不需要每次測(cè)試前先跑sql。
3.用mock測(cè)試,隔離dao層,根據(jù)模擬出來(lái)的數(shù)據(jù)進(jìn)行Assert判斷。這里盡量保證dao層的正確性,如果需要dao層測(cè)試,再考慮。
第一種方法,操作繁瑣,浪費(fèi)時(shí)間。
第二種方法,在插入數(shù)據(jù)時(shí)需要保證外鍵的正確性,比第一種方法要好。
第三種,未測(cè)試dao層,比較快。
不知道你們的服務(wù)層怎么測(cè)試的?
技術(shù)問(wèn)答
2018-05-04 12:51:00
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>>
java.lang.IllegalStateException: Failed to load ApplicationContext
at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:124)
at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:83)
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:117)
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:83)
at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:230)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:228)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:287)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:289)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:247)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:94)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:191)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [applicationContext.xml]: Invocation of init method failed; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [E:\workShop\Eclipse_WorkSpace01\DynamicWebMaven\target\classes\mapper\EmployeMapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. Cause: org.apache.ibatis.builder.BuilderException: Error resolving JdbcType. Cause: java.lang.IllegalArgumentException: No enum constant org.apache.ibatis.type.JdbcType.com.mymaven.bean.Department
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1628)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:742)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:866)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:542)
at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:128)
at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:60)
at org.springframework.test.context.support.AbstractDelegatingSmartContextLoader.delegateLoading(AbstractDelegatingSmartContextLoader.java:108)
at org.springframework.test.context.support.AbstractDelegatingSmartContextLoader.loadContext(AbstractDelegatingSmartContextLoader.java:251)
at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:98)
at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:116)
... 25 more
Caused by: org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [E:\workShop\Eclipse_WorkSpace01\DynamicWebMaven\target\classes\mapper\EmployeMapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. Cause: org.apache.ibatis.builder.BuilderException: Error resolving JdbcType. Cause: java.lang.IllegalArgumentException: No enum constant org.apache.ibatis.type.JdbcType.com.mymaven.bean.Department
at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:523)
at org.mybatis.spring.SqlSessionFactoryBean.afterPropertiesSet(SqlSessionFactoryBean.java:380)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1687)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1624)
... 40 more
Caused by: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. Cause: org.apache.ibatis.builder.BuilderException: Error resolving JdbcType. Cause: java.lang.IllegalArgumentException: No enum constant org.apache.ibatis.type.JdbcType.com.mymaven.bean.Department
at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:120)
at org.apache.ibatis.builder.xml.XMLMapperBuilder.parse(XMLMapperBuilder.java:92)
at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:521)
... 43 more
Caused by: org.apache.ibatis.builder.BuilderException: Error resolving JdbcType. Cause: java.lang.IllegalArgumentException: No enum constant org.apache.ibatis.type.JdbcType.com.mymaven.bean.Department
at org.apache.ibatis.builder.BaseBuilder.resolveJdbcType(BaseBuilder.java:73)
at org.apache.ibatis.builder.xml.XMLMapperBuilder.buildResultMappingFromContext(XMLMapperBuilder.java:377)
at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:280)
at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:252)
at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElements(XMLMapperBuilder.java:244)
at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:116)
... 45 more
Caused by: java.lang.IllegalArgumentException: No enum constant org.apache.ibatis.type.JdbcType.com.mymaven.bean.Department
at java.lang.Enum.valueOf(Unknown Source)
at org.apache.ibatis.type.JdbcType.valueOf(JdbcType.java:25)
at org.apache.ibatis.builder.BaseBuilder.resolveJdbcType(BaseBuilder.java:71)
... 50 more
=====================================================
技術(shù)問(wèn)答
2017-12-11 17:29:00
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>>
今天由于項(xiàng)目需要,重溫一下quartz的使用,隨手copy了一下代碼,來(lái)個(gè)整體的感覺(jué):
先是job的代碼:
package com; import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; public class JobSchool implements Job { public void execute(JobExecutionContext arg0) throws JobExecutionException { // TODO Auto-generated method stub System.out.println("go to school***"); } }

然后是測(cè)試類(lèi)的代碼:
@Test public void test() throws SchedulerException{ SchedulerFactory schedFact = new org.quartz.impl.StdSchedulerFactory(); Scheduler sched = schedFact.getScheduler(); sched.start(); JobDetail jobDetail = new JobDetail("myJob",Scheduler.DEFAULT_GROUP,job.class); SimpleTrigger trigger = new SimpleTrigger("testTrigger", Scheduler.DEFAULT_GROUP); trigger.setRepeatCount(6); trigger.setRepeatInterval(500); trigger.setStartTime(Calendar.getInstance().getTime()); sched.scheduleJob(jobDetail, trigger); }

測(cè)試結(jié)果:

很奇怪,明明設(shè)了執(zhí)行六次,每次半秒間隔,但是執(zhí)行結(jié)果確實(shí)讓人摸不著頭腦……
后來(lái)用一下的代碼測(cè)試就行了:
public static void main(String[] a) throws SchedulerException{ SchedulerFactory schedFact = new org.quartz.impl.StdSchedulerFactory(); Scheduler sched = schedFact.getScheduler(); sched.start(); JobDetail jobDetail = new JobDetail("myJob",Scheduler.DEFAULT_GROUP,job.class); SimpleTrigger trigger = new SimpleTrigger("testTrigger", Scheduler.DEFAULT_GROUP); trigger.setRepeatCount(6); trigger.setRepeatInterval(500); trigger.setStartTime(Calendar.getInstance().getTime()); sched.scheduleJob(jobDetail, trigger); }
這到底是為什么啊,浪費(fèi)我大量的時(shí)間啊

技術(shù)問(wèn)答
2012-02-28 16:20:00
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>>
@talent-tan 你好,想跟你請(qǐng)教個(gè)問(wèn)題:我的項(xiàng)目再導(dǎo)入t-io的tio-http-common和tio-websocket-common 兩個(gè)包之后,我的junit的 @Test 不能正常運(yùn)行
導(dǎo)入的maven版本對(duì)應(yīng)的為:

org.t-io
tio-http-common
0.0.2-tio-http


org.t-io
tio-websocket-common
0.0.2-tio-websocket

這兩個(gè)包導(dǎo)入任何一個(gè)都不會(huì)正常運(yùn)行,請(qǐng)問(wèn)有什么解決辦法么??
技術(shù)問(wèn)答
2017-09-05 08:19:00
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>>
1、使用junit4和spring進(jìn)行單元測(cè)試,加入如下注解: @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = "classpath:spring/base.xml")
可以實(shí)現(xiàn)自動(dòng)注入變量的功能
2、但每啟動(dòng)一個(gè)單元測(cè)試,就會(huì)重新加載一次base.xml,每次需要的時(shí)間很長(zhǎng),大概兩分鐘,而這些東西都是公用的,比如建立bean和關(guān)系,建立遠(yuǎn)程的dubbo和zookeeper連接。
3、有沒(méi)有一種辦法,spring環(huán)境只加載一次,每次啟動(dòng)單元測(cè)試的時(shí)候可以直接使用加載完畢的spring環(huán)境。
比如:一個(gè)基類(lèi)TestBase,這各類(lèi)加上Run With和ContextConfiguration注解。啟動(dòng)后不會(huì)自動(dòng)結(jié)束(while(true))。所有其他業(yè)務(wù)類(lèi)都繼承這個(gè)類(lèi),從這個(gè)類(lèi)里面拿到spring的環(huán)境(applicationContext),然后就可以直接使用了?
這個(gè)問(wèn)題似乎有點(diǎn)異想天開(kāi)了,大家給看看有沒(méi)有好辦法?
技術(shù)問(wèn)答
2017-09-01 20:13:00
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>>
現(xiàn)在項(xiàng)目想增加對(duì)springMvc的controller層的測(cè)試,調(diào)試后發(fā)現(xiàn)有個(gè)問(wèn)題無(wú)法解決,請(qǐng)大神幫忙。
代碼如下:
controller層代碼:
項(xiàng)目的url為(括號(hào)里是參數(shù))
/loginController.do?login{userLoginName=admin}{userPassward=admin} @Controller @RequestMapping("/loginController") public class LoginController { Logger logger = LoggerFactory.getLogger(LoginController.class); @Autowired private LoginService loginService; @RequestMapping(params = "login") @ResponseBody public AjaxResult login(AjaxResult jsonResult, SessionModel sessionModel, HttpSession session) { loginService.login(jsonResult, sessionModel, session); session.setAttribute(Constant.SESSION_MODEL_KEY, sessionModel); return jsonResult; } }
其中SessionModel用于接收登錄參數(shù),正常在瀏覽器登錄是沒(méi)問(wèn)題的。
Junit代碼: @RunWith(SpringJUnit4ClassRunner.class) @WebAppConfiguration @ContextConfiguration(locations = { "classpath:springMvc.xml", "classpath:spring.xml" }) @SuppressWarnings("unused") public class LcpJunitBase { public MockHttpServletRequest request; public MockHttpServletResponse response; @Before public void setup() { request = new MockHttpServletRequest(); request.setCharacterEncoding("UTF-8"); response = new MockHttpServletResponse(); } /** * @Title: setUpBeforeClass * @Description: 初始化數(shù)據(jù)庫(kù) * @throws java.lang.Exception * @date 2017-7-7 上午10:27:20 */ @BeforeClass public static void setUpBeforeClass() throws Exception { String url = "jdbc:oracle:thin:@192.168.103.93:1521/jhemr"; ComboPooledDataSource dataSource = null; try { dataSource = new ComboPooledDataSource(); dataSource.setUser("jhlcpv6"); dataSource.setPassword("jhlcpv6"); dataSource.setJdbcUrl(url); dataSource.setDriverClass("com.p6spy.engine.spy.P6SpyDriver");// 用p6spy監(jiān)控sql dataSource.setInitialPoolSize(5); dataSource.setMinPoolSize(5); dataSource.setMaxPoolSize(30); dataSource.setMaxStatements(50); dataSource.setMaxIdleTime(0); dataSource.setAcquireRetryAttempts(5); dataSource.setAcquireRetryDelay(1000 * 60); dataSource.setCheckoutTimeout(5000); // 連接失敗后保持連接狀態(tài) // dataSource.setBreakAfterAcquireFailure(true); dataSource.getConnection(); } catch (PropertyVetoException e) { LoggerUtil.error(DbPoolUtil.class, "create database error,please check you config :url=" + url); dataSource = null; } catch (SQLException e) { LoggerUtil.error(DbPoolUtil.class, "create database error,please check you config :url=" + url); dataSource = null; } SimpleNamingContextBuilder builder = new SimpleNamingContextBuilder(); builder.bind("java:comp/env/jdbc/jhlcp", dataSource); builder.activate(); } } public class LoginControllerTest extends LcpJunitBase { @Autowired private WebApplicationContext wac; private MockMvc mockMvc; @Before public void setup() { this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).build(); } /** * Test method for * {@link com.goodwillcis.jhlcp.controller.LoginController#login(com.goodwillcis.jhlcp.model.AjaxResult, com.goodwillcis.jhlcp.model.SessionModel, javax.servlet.http.HttpSession)} * . * * @throws Exception */ @Test public void testLogin() throws Exception { // jhlcp/loginController.do?login{userLoginName=admin}{userPassward=admin}{hospitalId=40068980X4} ResultActions resultActions = mockMvc.perform(post("/loginController.do?login").param("userLoginName", "admin") .param("userPassward", "admin") .contentType(MediaType.APPLICATION_FORM_URLENCODED) .accept(MediaType.parseMediaType("application/json;charset=UTF-8"))); resultActions.andExpect(status().isOk()); AjaxResult result = (AjaxResult) resultActions.andReturn().getModelAndView().getModel(); Assert.assertEquals(1, result.getStatus()); } }
測(cè)試后代碼報(bào)錯(cuò)為: org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver handleNoSuchRequestHandlingMethod 警告: No matching handler method found for servlet request: path '/loginController.do', method 'POST', parameters map['login' -> array[[null]], 'userLoginName' -> array['admin'], 'userPassward' -> array['admin'], 'hospitalId' -> array['40068980X4']]
后來(lái)我把controller的方法注釋改成 @RequestMapping("/login")
然后測(cè)試時(shí)候url改成 mockMvc.perform(post("/loginController/login")
才通過(guò)測(cè)試。
請(qǐng)問(wèn)controller中的方法注釋為 @RequestMapping(params = "login")
這種寫(xiě)法的時(shí)候測(cè)試時(shí)候的url該怎么寫(xiě),或者還需要配置哪些東西。
技術(shù)問(wèn)答
2017-07-07 16:02:00
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>>
使用了spring-test和junit,單元測(cè)試是回滾的
1、有一個(gè)表A,主鍵是自增的,有一個(gè)根據(jù)主鍵獲取記錄的方法需要測(cè)試,該怎么寫(xiě)
我是先執(zhí)行插入方法,然后拿id去查詢(xún),但是拿不到新添加的id
2、表A中的字段xxid是外鍵關(guān)聯(lián)到表B中,如果xxid在表B中不存在,表A是無(wú)法插入的,這時(shí)該怎么進(jìn)行單元測(cè)試
技術(shù)問(wèn)答
2015-07-10 17:20:02
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>>

Class not found com.cuit.secims.mw.test.MainTest
java.lang.ClassNotFoundException: com.cuit.secims.mw.test.MainTest
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClass(RemoteTestRunner.java:693)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClasses(RemoteTestRunner.java:429)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:452)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

在運(yùn)行junit test時(shí)候報(bào)錯(cuò),這個(gè)怎么解決呢????有遇到過(guò)的沒(méi),求解決呀!
技術(shù)問(wèn)答
2017-03-07 11:53:00
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>>
在星期五的時(shí)候,上著上著,突然頁(yè)面打開(kāi)相當(dāng)慢。
原本以為是網(wǎng)絡(luò)問(wèn)題,沒(méi)大留意。但頻繁出現(xiàn)數(shù)次,還居然一直持續(xù)。
在Cacti中查看,網(wǎng)卡占用居然達(dá)到機(jī)房百兆寬帶的所有,12m/s
查看網(wǎng)卡的實(shí)時(shí)流量,得到了相同結(jié)果。
而且 CPU 也有點(diǎn)不正常,用 Top 命令查看,占用最高的是 Httpd 進(jìn)程。即 Apache
原以為是受到了頁(yè)面攻擊,但這樣在進(jìn)程里頭出現(xiàn)的,還應(yīng)該有 Nginx 跟 Mysql 才對(duì)。
不會(huì)就這么孤獨(dú)地只有 Apache。
正在我繼續(xù)查找原因,攻擊停下來(lái)了,網(wǎng)卡流量恢復(fù)正常。
查看了所有的 WEB 訪(fǎng)問(wèn)日志,無(wú)一是有能夠解釋到該現(xiàn)狀的記錄。
因?yàn)槿绻?頁(yè)面攻擊,就好比是壓力測(cè)試般,肯定會(huì)有某個(gè)或幾個(gè)地址有重復(fù)不斷的垃圾請(qǐng)求。
但日志上顯示得相當(dāng)悠然。
好了,沒(méi)過(guò)多久,流量又來(lái)了!httpd 進(jìn)程把 2個(gè) cpu核心占用到 100%
網(wǎng)卡沖到 12m/s
使用網(wǎng)絡(luò)命令 netstat -ant 查看,沒(méi)有 DDOS 之類(lèi)攻擊所產(chǎn)生的 wait 。
而且鏈接IP還越來(lái)越少,這時(shí)候從本地 Ping 服務(wù)器的響應(yīng)基本上是 timeout 了
一但把 Apache 停下來(lái),流量就會(huì)消失。再次啟動(dòng)!沒(méi)過(guò)多久又會(huì)再來(lái)。
為了知道到底是哪個(gè) IP 令我產(chǎn)生這樣的事,我安裝了既時(shí)流量檢測(cè)工具 iftop
iftop介紹詳見(jiàn): http://www.oschina.net/p/iftop
經(jīng)檢測(cè),傳輸量最大的 IP 是 60.219.100.3 這個(gè)IP,直接訪(fǎng)問(wèn)能打開(kāi)到網(wǎng)站。
使用 IPtables 命令禁止該IP訪(fǎng)問(wèn)本機(jī)??!無(wú)效,流量繼續(xù)!
喲??????! 再次使用 IPtables 命令禁止本機(jī)訪(fǎng)問(wèn)該IP ?。?!這下流量終于停了。
喲?。∵@事情就明白多了,絕對(duì)能斷點(diǎn)我的服務(wù)器成為了肉雞,受到操控對(duì)特定目標(biāo)進(jìn)行了攻擊。
而進(jìn)行攻擊的木馬,不是啥米東西,而是 PHP 程序!
應(yīng)該是在服務(wù)器里頭某個(gè)虛擬主機(jī)網(wǎng)站有漏洞,被放入了 PHP DDOS 攻擊木馬!
然而,剩下的問(wèn)題就更加復(fù)雜了,如何在海量文件的目錄里頭找到那個(gè)木馬?
希望是有一個(gè)殺毒程序能幫我掃描到....但我還沒(méi)能找到這個(gè),如果網(wǎng)友們有的不妨推薦推薦。
我的思路是,開(kāi)啟 Apache 的 Server Status。 這家伙能實(shí)時(shí)查看到 Apache 正在執(zhí)行那個(gè)程序。
而且詳細(xì)到執(zhí)行時(shí)間,輸出數(shù)據(jù)量等等...
詳細(xì)可見(jiàn): http://www.oschina.net/bbs/thread/12650
好了!這下我就可以坐著等兔子再次跑上門(mén)來(lái)!
還有一個(gè)方法,就是把 PHP safe_mod 打開(kāi),能禁用掉一些例如 調(diào)用 系統(tǒng) Shell 參數(shù)的語(yǔ)法。
來(lái)導(dǎo)致木馬無(wú)法執(zhí)行??梢晕业惯€真想把這兔子抓住,所以現(xiàn)在在等待中...
####################
2010-11-9 更新
####################
PHP safe_mod 不能隨意打開(kāi)!期中一個(gè)副作用就是導(dǎo)致 Cacti 無(wú)法調(diào)用 rrdtools 等參數(shù)。
就算設(shè)置了例外目錄也無(wú)效!
最后我在 Apache,PHP 上都配置了 php_admin_value open_basedir 選項(xiàng)。
使得虛擬主機(jī)的用戶(hù)無(wú)法越權(quán)訪(fǎng)問(wèn)到所屬目錄外的文件,當(dāng)然也包括 shell 命令了。
但無(wú)效,黑客依然能利用暗藏在目錄里頭的肉雞程序發(fā)動(dòng)攻擊。
雖然攻擊事件在凌晨或者早上?。‰m然我沒(méi)在電腦旁??!
但我使用了 curl 對(duì) ApacheStatus 頁(yè)面的定時(shí)抓取作為了日志??!
與 Cacti 配合,一發(fā)現(xiàn)高流量!就追索該時(shí)間的日志!!
哈哈!這下子被逮個(gè)正著?。。。?!
以下是 ApacheStatus 的截圖,Req 項(xiàng)特別高的!就是 PHP肉雞程序送發(fā)送的 UDP 攻擊數(shù)據(jù)包。
在此也順便公布攻擊來(lái)源,遼寧省盤(pán)錦市 聯(lián)通 119.115.80.102 但也有可能是一臺(tái)跳板肉雞。
至此,我服務(wù)器上存在漏洞的網(wǎng)站被暫時(shí)關(guān)閉了,經(jīng)查看文件修改日期,黑客還放了不少后門(mén)程序。
看了得好好清除清除才能再次上線(xiàn)了。
而抓到的肉雞!用 VI 打開(kāi),居然是使用 Zend 加密的??!
有沒(méi)朋友對(duì)加密這東西有辦法解決的,短信我,我給你發(fā)去研究研究。
技術(shù)問(wèn)答
2010-11-07 13:23:00
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>>
我加了兩條iptables,把出口的ICMP入到隊(duì)列,然后想修改icmp type,然后發(fā)送,但是沒(méi)有成功,
這是為么? postrouting 的報(bào)文不能修改了么?
技術(shù)問(wèn)答
2013-06-04 11:20:00