2016-02-04 134 views
1

1)我已經使用YAJL使用--with-yajl編譯modsecurity,但是在配置日誌中我看到沒有選擇yajl庫並且在modsecurity日誌中獲得 「JSON支持是未啓用」未啓用JSON支持-ModSecurity

+0

即使使用--with-yajl ..在make文件後,我看到空值以下YAJL_CFLAGS = YAJL_LDADD = YAJL_LDFLAGS = YAJL_LIBS = –

回答

0

檢查您的config.log如果它具有以下

checking for libyajl config script... no 
checking for yajl install... no 
configure: optional yajl library not found 

然後創建一個鏈接到yajl.pc作爲

# ln -s /usr/local/share/pkgconfig/yajl.pc /usr/share/pkgconfig/yajl.pc 

在我的案件檔案yajl.pc是在/ usr /本地/ share/pkgconfig/location。如果在那裏找不到它,請嘗試「find/-name yajl.pc」以找到它。

希望這可以幫助你。

1

我最初有mod_security和PHP 5.5和Apache 2.4一起使用Ubuntu 12.04,但在啓用JSON請求檢查後,我得到了與您報告相同的錯誤。

爲了解決這個問題,我不得不使用yajl,使用yajl configure選項重新編譯mod_security,然後確保Apache使用更新後的mod_security並重新啓動Apache。

mod_security然後能夠成功地解析json請求正文並且不再輸出錯誤。


我去http://lloyd.github.io/yajl/,發現下載包yajl-2.1.0,然後提到https://gist.github.com/rpfilomeno/1140359f4bd360137a98

例如:

tar -xvzf lloyd-yajl-2.1.0-0-ga0ecdde.tar.gz cd lloyd-yajl-66cb08c/ sudo ./configure sudo make sudo make install sudo ldconfig 這應該安裝yajl。然後cd與mod_security的文件的文件夾,然後運行

cd ../modsecurity-2.9.1/ sudo ./configure --with-yajl="/usr/local/lib /usr/local" sudo make sudo make install

我然後將其配置爲與Apache 2.4運行,並且已經能夠解析用JSON體的請求。

*請注意,在製作yajl時,如果未安裝cmake相關的錯誤,請運行以下sudo apt-get install cmake,然後重試。