如果您需要在應用程序中對PHP代碼進行加密,那麼ionCube是一個非常受歡迎的選擇,該軟體旨在與小型和企業級應用程序很好地集成。
通常,在分發應用程序之前,首先將PHP源代碼傳遞給ionCube編碼器。這樣可以防止代碼被人類閱讀或編輯。
但是,默認情況下,加密的PHP源代碼無法直接在伺服器上執行。需要對其解密,然後PHP引擎才能對其進行處理。
只需移至Kinsta,即可將WordPress網站的速度提高200%。
今天免費遷移
這是ionCube裝入程序的來源。
介紹
它是2002年首次發布的一個PHP擴展,可以即時解密(以前加密的)代碼,並準備將其與其他PHP應用程序一起執行。
一切都與安全有關。如果PHP應用程序包含專有代碼/演算法,或者需要軟體許可功能,則使用ionCube是保護源代碼的理想解決方案。
要編碼PHP文件,您首先需要購買ionCube編碼器。還有一個在線版本的編碼器,其中包括免費支持對PHP代碼進行加密以用於測試的目的(請參見下文)。
至於ionCube載入器,任何人都可以免費下載並安裝在其伺服器上。 ionCube載入程序有多種不同的版本,每種版本都針對特定的系統(Linux,Windows,macOS等)以及32位或64位體系結構而設計。
下載完成後,您需要安裝與伺服器上運行的PHP版本相匹配的ionCube loader版本,因為每個可用下載都包含針對所有不同PHP版本的多個ionCube loader版本。
如果您不確定需要下載和安裝哪個版本,請不用擔心,我們將在短期內詳細介紹。
順便提一下,如果您使用HHVM(HipHop虛擬機)來處理PHP,則需要注意ionCube loader不支持HHVM。
但是,由於HHVM從版本v3.30開始不再支持PHP,因此這主要是一個爭論點。因此,這僅在使用較舊版本的HHVM時才有意義。如果您仍在使用HHVM,並且需要使用ionCube加密PHP文件,則必須切換到支持ionCube的更標準的PHP引擎。
準備安裝
為了完成ionCube loader的手動安裝,最好先熟悉常用的終端命令。如果您已經熟悉終端,請隨時跳到下一部分。
在本指南中,我們引用以下終端命令:
-
cat –將文件內容輸出到終端。
-
cd –更改當前工作目錄。
-
cp –複製一個或多個文件。
-
echo –將消息輸出到終端。
-
grep –強大的基於文本的搜索。
-
head –輸出文件的前幾行。
-
ls –列出文件和目錄。
-
mkdir –創建一個新目錄。
-
nano –終端窗口內的緊湊型文本編輯器。
-
ssh –創建一個新的遠程SSH連接。
-
tar –從存檔中提取文件。
-
wget –通過HTTP下載文件。
了解這些終端命令的功能以及如何使用它們將使ionCube loader的安裝過程更加容易。單擊鏈接以獲取有關每個命令的更多詳細信息。
為Kinsta客戶自動安裝
如果您是Kinsta客戶,支持人員可以應要求為您安裝ionCube loader。默認情況下,它沒有安裝在您的帳戶中,但是如果您打開支持票證,則支持團隊的人員將很樂意為您安裝該票證。 ionCube對Kinsta客戶免費,並且可以按任何計劃安裝。
Kinsta當前支持在以下PHP版本上運行ionCube loader擴展:
- 7.2
- 7.3
如果您不是Kinsta客戶,我們將指導您如何在VPS上手動安裝ionCube loader。確保您具有完全的SSH訪問許可權,並且可以舒適地執行終端命令。
手動安裝ionCube裝載機
要在伺服器上手動完成ionCube loader的安裝,需要執行一組特定的步驟。該過程可能會有所不同,具體取決於您的確切伺服器設置,但是只要您運行的是基於Linux的伺服器,那麼差異就應該很小。
在安裝過程中,我們將詳細介紹以下每個步驟:
-
通過SSH遠程連接到您的站點。
-
下載並解壓縮ionCube Loader PHP擴展。
-
複製ionCube Loader .SO文件。
-
配置和伺服器重啟。
- 驗證ionCube Loader安裝
- 測試ionCube安裝
- 檢查錯誤日誌中的安裝問題
通過SSH遠程連接到您的站點
在我們可以下載並開始安裝ionCube loader之前,我們需要通過SSH(安全外殼)建立與伺服器的安全遠程連接。這已成為通過命令行與伺服器交互的標準方法,我們將在ionCube loader PHP擴展的安裝過程中進行廣泛介紹。
要打開新的SSH連接,您需要準備以下信息,每次登錄時都必須輸入以下信息:
- 主機名
- 埠號
- 用戶名
- 密碼
最好查找這些信息並提前記錄下來。通常,此信息可以在伺服器cPanel或MyKinsta之類的儀錶板中找到。如果您找不到所需的信息,房東將可以提供幫助。
您還可以使用SSH密鑰連接到遠程伺服器。通常認為此方法是通過SSH連接的更安全的方法。您的伺服器應同時支持這兩種方法。
如果您想使用SSH密鑰而不是每次登錄時都輸入用戶名/密碼組合,請查看此綜合指南以獲取更多信息。
如果您使用的是macOS或Linux操作系統,則內置終端可用於SSH訪問。但是,如果您使用的是Windows,則需要使用SSH客戶端(例如PuTTY),因為默認情況下此功能不可用。
在本指南的其餘部分中,我們將使用macOS終端。要通過SSH連接到伺服器,您需要以下詳細信息:
- 用戶名
- 主機名
- 埠號
- 密碼(SFTP)
SSH terminal命令的格式為:
ssh username @ hostname -p埠號
埠號通常為22,但對於您的特定伺服器可能有所不同。例如共享伺服器和專用伺服器可能使用不同的埠號,因此如果不確定連接前請諮詢主機提供商。
輸入ssh命令後,系統將提示您輸入密碼,完成遠程SSH連接後,您將可以直接訪問伺服器。
下載並解壓縮ionCube Loader PHP擴展
ionCube載入程序有不同版本可供下載。這些信息按平台和發布日期列出,以便更輕鬆地選擇與您的特定系統相關的正確版本。
您可以選擇訂閱ionCube載入程序更新,以確保使用最新版本使載入程序擴展保持最新。
要找出哪個載入程序版本適合您的伺服器,我們可以使用PHP命令顯示詳細的PHP配置數據。
(phpinfo())(https://www.php.net/manual/zh/function.phpinfo.php)
要使用此PHP函數輸出所需的數據,請完成以下步驟:
- 通過SSH連接到伺服器。
- 創建一個PHP文件。
- 添加phpinfo()函數。
- 將文件保存在根網站文件夾中
- 在瀏覽器中顯示。
- 在文檔中搜索ionCube參考。
- 完成後刪除文件。
僅顯示伺服器PHP配置數據需要進行大量工作。幸運的是,有一種通過終端執行此操作的更簡單方法。
使用WordPress,我們的流量增長了1,187%。
我們將向您展示如何。
加入20,000多個其他人,他們每周都會收到有關WordPress內部技巧的新聞!
現在訂閱
成功!感謝您的訂閱
您將在一周內收到下一期的Kinsta新聞通訊。
訂閱Kinsta新聞通訊
訂閱
我同意條款和條件以及隱私政策
運行php -i命令將從PHP CLI引擎獲得與phpinfo()相同的響應。但是,我們只希望輸出前幾行,因為其中包含有關PHP正在運行的伺服器環境的相關信息。
這可以通過以下方式完成:
php -i |頭-n 5
它將輸出以下信息:
如您所見,我們的特定伺服器是基於Linux的,而x86_64是指64位系統。因此,我們應該下載的ionCube載入程序是Linux 64位tar.gz存檔。確保下載與系統相關的ionCube loader檔案。
ionCube loader歸檔文件應下載到一個臨時文件夾,因此讓我們現在創建一個文件夾,然後再執行其他操作:
cd / tmp
mkdir ioncube
cd ioncube /
要實際下載ionCube歸檔文件,請使用wget命令。
get
https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
這會將ionCube載入程序軟體包下載到臨時文件夾中,並輸出下載進度,直到完成。
成功下載存檔後,使用以下命令將其解壓縮到相同的/ tmp文件夾中:
焦油xvfz ioncube_loaders_lin_x86-64.tar.gz
這會將所有存檔文件提取到新的ioncube文件夾中。用ls ioncube列出它們:
如您所見,有多個擴展名為.so的單獨ionCube載入程序文件。每個文件名包含一個不同的數字,該數字表示伺服器上運行的PHP版本,因此,請務必安裝正確的文件名。
之前,我們運行了命令php -i | head -n 5獲取伺服器操作系統信息。輸出的前兩行還為我們提供了PHP版本,本例中為7.2.22。
為了快速確定我們應該使用哪個ionCube載入器文件,請僅列出包含_7的文件,以便更輕鬆地僅查看感興趣的文件。
我們可以通過將ls的輸出通過管道傳遞到grep來過濾文件列表來做到這一點:
ls ioncube | grep _7
結果是:
與我們的PHP版本最接近的匹配是ioncube_loader_lin_7.2.so。還有另一個匹配的文件,名為ioncube_loader_lin_7.2_ts.so,但是我們可以忽略此文件,因為它是與我們的特定伺服器設置無關的線程安全版本。
順便說一句,如果您想知道,.so文件是一種庫文件,代表「共享對象」。這些有點類似於Windows用戶可能熟悉的DLL(動態鏈接庫)文件。
複製ionCube Loader .SO文件
要完成ionCube loader的安裝,我們只需要將ioncube_loader_lin_7.2.so文件複製到PHP擴展文件夾中。
要查找擴展文件夾的位置,請輸入以下終端命令:
php -i | grep extension_dir
返回包含所需信息的字元串。
extension_dir => / opt / cpanel / ea-php72 / root / usr / lib64 / php / modules => / opt / cpanel / ea-php72 / root / usr / lib64 / php / modules
不要忘記,這對於您自己的伺服器可能是唯一的。現在我們知道了目標文件夾,我們可以複製ionCube載入程序文件。
須藤cp /tmp/ioncube/ioncube/ioncube_loader_lin_7.2.so / opt / cpanel / ea-php72 / root / usr / lib64 / php / modules
現在,ionCube載入程序位於正確的位置,但是我們需要讓PHP知道該擴展程序可用以及安裝位置。
我們可以通過編輯主php.ini配置文件並添加一個新的zend_extension條目(指定ioncube_loader_lin_7.2.so的路徑)來做到這一點。
但是,php.ini很難通過終端進行編輯,但是我們可以利用PHP支持使用自定義配置文件這一事實來解決此問題。
唯一需要注意的是,這些文件必須位於特定目錄中,我們可以通過輸入以下內容確定:
php -i | grep「其他.ini文件」
現在,我們掌握了創建自定義配置文件並將其添加到正確位置的所有信息。
bash -c'echo「 zend_extension = / opt / cpanel / ea-php72 / root / usr / lib64 / php / modules / ioncube_loader_lin_7.2.so」> /opt/cpanel/ea-php72/root/etc/php.d /00-ioncube.ini'
請注意,我們的自定義.ini文件前綴為00,這是一種在其他PHP配置文件之前載入它的方式,以確保其運行時不會與其他自定義配置文件發生衝突。
配置和伺服器重啟
ionCube loader PHP擴展現在應該已正確安裝。但是,在使用它之前,我們需要做一些整理工作。
安裝後,請務必執行以下操作:
- 重新載入伺服器
- 重新啟動PHP引擎
- 清除網站緩存
可以通過命令行重新載入伺服器,但是確切的命令將因伺服器設置不同而異。由於我們在伺服器上運行Nginx,因此我們使用:
須藤/etc/init.d/nginx重新載入
可以直接從cPanel或儀錶板重新啟動PHP。重新啟動PHP通常需要幾秒鐘,完成後將顯示一個彈出通知。
您應該做的最後一件事是清除網站緩存,以確保您看到的是對伺服器配置的最新更改。
完成這些最後步驟後,現在應在伺服器上正確安裝並配置ionCube loader,以解密PHP編碼文件。
厭倦了低於標準的1級WordPress託管支持而沒有答案?試試我們世界一流的支持團隊!查看我們的計劃
驗證ionCube Loader安裝
要驗證ionCube loader是否已正確安裝和配置,您可以做幾件事。
首先,使用php -i
如果安裝了ionCube loader,則詳細信息將顯示在輸出中。
但是,這會將大量數據輸出到終端,您必須手動滾動瀏覽以查找ionCube引用。實際上,php -i的輸出通常超過1000行文本。
您可以使用php -i | wc -l terminal命令查看輸出行的確切數量。
手動搜索終端輸出確實不可行,因此我們可以將php -i的輸出直接通過管道傳遞到grep命令中,只返回我們感興趣的信息。
為此,請在終端窗口(仍通過SSH連接到您的網路伺服器)中輸入以下內容:
php -i | grep ioncube
如果您看到對ionCube loader的引用,則說明安裝成功。
您還可以通過php -v terminal命令訪問有關ionCube載入程序的信息。如果已安裝,它將顯示ionCube loader的特定版本。
如果您沒有通過php -i或php -v看到與ionCube有關的任何輸出,則說明安裝可能出現問題。在這種情況下,您可以嘗試根據需要重做部分(或全部)安裝步驟,以查看它是否可以解決此問題。
如果問題仍然存在,請與您的房東聯繫,房東將為您提供所需的適當操作。
測試ionCube安裝
除了簡單地驗證是否已安裝ionCube載入程序外,還值得進行一次實時測試,以確保擴展程序在生產文件上使用之前能夠按預期運行。
現在,通過對PHP文件進行編碼並測試將其上傳到伺服器後是否可以正常執行來完成此操作。編碼PHP代碼最簡單的方法之一就是使用在線編碼器。
在上傳要編碼的文件之前,您需要註冊一個免費的ionCube帳戶。單擊「登錄」菜單項,然後按照屏幕上的提示創建帳戶。
登錄後,您將可以訪問編碼器上傳頁面。
通常,為生產代碼編碼PHP文件需要付費,但出於測試目的是免費的。
任何經過編碼的測試文件只能通過ionCube解碼器PHP擴展程序進行有效解碼,最長持續8小時,此後它們將過期,並且不會被解碼。但這是足夠的時間來測試一切是否正常工作。
創建一個測試PHP文件,並將其上傳到在線編碼器。確保選中「測試編碼」框。
然後,上傳的文件會自動放入要編碼的隊列中。如果此過程成功完成,則幾秒鐘後,您將看到一個顯示結果的頁面以及一個用於訪問編碼文件的下載鏈接。
下載文件時,您會注意到該文件已附加了當前時間戳,以區別於原始文件。
例如,我們對原始文件名ioncuber-loader-test.php進行了編碼,然後可以作為ioncuber-loader-test-encoded-190924-100632.php下載。
您可以在測試文件中包含所需的任何有效PHP代碼。對於我們的測試PHP文件,我們添加了一個簡單的函數,該函數返回要顯示的數字和消息。
<?php
函數mySecretFunction(){
返回'42';
}
回聲「
ionCube Loader測試頁
「;
回聲「
編碼函數的輸出:「。mySecretFunction()。
」
「;
相比之下,在通過編碼器運行之後,下載的文件包含以下內容:
1 && $ __ id(1)==':'){$ __ id = str_replace('\','/',substr($ __ id,2)); $ __ here = str_replace('\','/', substr($ __ here,2));} $ __ rd = str_repeat('/ ..',substr_count($ __ id,'/'))。$ __ here。'/'; $ __ i = strlen($ __ rd); while( $ ____–){if($ __ rd($ __ i)=='/'){$ __ lp = substr($ __ rd,0,$ __ i)。$ __ ln; if(file_exists($ __ oid。$ __ lp)){ $ __ ln = $ __ lp; break;}}} if(function_exists('dl')){@ dl($ __ ln);}} else {die('文件'.__ FILE__。「已損壞。 n」); } if(function_exists('_ il_exec')){return _il_exec();} echo(「站點錯誤:」。(php_sapi_name()=='cli'?'ionCube':'ionCube')。「 PHP載入程序需要安裝。這是一個廣泛使用的PHP擴展,用於運行受ionCube保護的PHP代碼,網站安全和惡意軟體攔截。 n n請訪問「。(php_sapi_name()=='cli'?'get-loader.ioncube.com': 'get-loader.ioncube.com')。」以獲取安裝幫助。 n n「);出口(199);
?>
HR + cPrb0lpjMgGF / p2 / rAXWaVsF5lgbOo0LYkBQu2sZ7cHDIXwoQ + LPTtnDTw0hOl5Yfp7CvmV5c
bV90201GkQl3Lr5trbc0XXBJxV + hFqwsyPhXemDwQ37Lf0HHckqLWF5yXiIoErSIQzS8RbI1n49R
e2kRxmrwA + P2WbIZabhhXUPGZcn91NmJyW4qKz3xynZh + nvarORpi8tXqwPA3QUY7QZtwABJQs3U
lLpo3 + X9sowLMgzttHBNNcGOZ73HVSgZ9eUtTRCeaswT4geKbT2qa0LgL8vhtl7RuymBklX1Rm0Q
1Aete / XaFhX6YG + B66t6nXBisZ5 + P1O3YomFuW + rhbMbT1w3lk + MY + Ri5SCnRuvMig8ZWkchG3wX
XMpoGoP2uWectVSOROY + vmaGD + WTFjEFyw1C93T5qU4If5Ql / AdXA7s + ISvH8D5rqKSheLfnBQ2d
yx5yu5FEMrJwLA9g2g3xf2OSV5X1 + 1DmkRVEvY0tcukjjYVCcvbDKSBQpigXvYiTHAouI5ANmYbR
pMURAoAO9gUSm3Bul7HZdaQRwH2Fyp3na3hWGiSTdp5EXEDMTKRWtiB5nPPQ3MmVO6F2Er62h3Ov
N0oR6uCDj / y11u3Re6BQ2laN2k9m9ylnsMYketpe + OOMaoA6 + n1yVpYWkBra + vr + Veh9 + oQkXQBP
ZG4bUtd + 4UIWW057ZMkKS4 + 2S3dSDHjcU / Op9ZSp2VFpSOlaqssNgA9WMGP0b8xhbTOPx6FqgY09
/ WnmQyto9goSeIfAcc1braP74ILD9DLwVRG1aXHIC6WGhPYzafs + gut8DHebHUzSPj3JYu9t6 / w2
1Nnuc5Dso5SnAa8v2AabXUvZBpQrYTf8tY1L0zL8sqTIvTlv / tRCpsu4hrwFg7hqx + 6OsXaWiLwY
xtfwBfCbGS1a / c2 + OhUujEllco6gB1KoekhLv9xVj70cRWRgnf + nSCcCcc2bFjk4 + VtJh + 07M9CRO
vqaTu78gagPGMVFYebH5AvOLOKn8Ao1A1lX + GdiD0mLr8BAQ2jrZx1i8wZ0ILNuKRFWvFnYK4Bjg
SYImW2oc6Mg / u50B / Y + mjAeIbpUfm + Ksetd5n2sFetQt831K3u891bKBPw8AzqtGzhLjihFhORCG
BIwx + aA8AvUMeR4Uuk / FdyxATCqly93 / crGkCwUQWrvPY5hA9KvtmOFvYPUVpuFZKS5BPzUySat3
ChtDQpr7H7N9phQvoSZ7pTBOGoyfVDTn1abQVMYQXbrW + yee + wBnGiUpGpR3MgkUPHKX / N36 + P8o
Ld5obAtVtNjgiQjcYwI6KkrNmH22sqHlILAnR7yUn0 ==
這是原始源代碼完全無法識別的,因此編碼器已完成工作!
現在的重要問題是:安裝的ionCube解碼器擴展程序是否能夠分析文件並對其進行解碼,以便可以將其作為普通的PHP代碼執行?
為了找出答案,我們將兩個PHP文件都上傳到伺服器,並在瀏覽器中對其進行了查看。首先是包含原始PHP代碼的原始文件。
該頁面按預期顯示。現在用於編碼的PHP文件。
顯示的內容完全相同,因此ionCube解碼器擴展程序已驗證為已安裝且可以正常工作。
檢查錯誤日誌中的安裝問題
驗證安裝是否成功的最後一件事是查看伺服器錯誤日誌,並查找與ionCube安裝有關的最新條目。
如果您在錯誤日誌中看到與以下內容類似的內容,則需要聯繫您的主機,以便他們進一步調查:
PHP致命錯誤:文件
/www/sitename_xxx/public/wp-content/themes/theme-name/functions.php由適用於PHP 5.6的ionCube編碼器編碼,不能在PHP 7.1下運行
訪問錯誤日誌所需的步驟因主機而異,因此最好不確定是否位於錯誤位置。
Kinsta客戶可以在MyKinsta儀錶板中查看錯誤日誌。
需要在您的應用程序中加密PHP嗎?通過此深入指南,了解如何使用和安裝ionCube Loader! ⛓?
點擊鳴叫
摘要
希望現在,您已經安裝了ionCube Loader PHP擴展程序並可以在伺服器上使用。讓我們花點時間回顧一下我們所做的事情。
我們了解到,ionCube載入程序是一個PHP擴展,具有專用功能,可以根據伺服器的請求即時解密以前加密的PHP文件。
為此,當使用SSH連接連接到伺服器時,需要通過一系列終端命令正確安裝載入程序。
與伺服器建立安全連接後,就可以開始ionCube loader擴展安裝過程,該過程可以分為以下幾個步驟:
- 將正確的ionCube loader檔案下載到伺服器上的臨時文件夾中。
- 解壓縮下載的存檔。從眾多與安裝的PHP版本匹配的提取文件中選擇適當的.so ionCube載入程序文件。
- 將ionCube loader .so文件複製到PHP擴展文件夾。這是特定PHP安裝所獨有的固定位置。
- 通過編輯主php.ini文件或創建自定義.ini文件,在PHP中啟用ionCube載入程序。添加一個新的zend_extension,指向已安裝的ionCube載入程序文件的位置。
- 要真正開始處理加密的PHP文件,需要重新載入伺服器,然後重新啟動PHP引擎。確切的過程因伺服器而異。有時也需要清除網站緩存。
- 使用php -i和php -v命令,通過終端驗證ionCube安裝是否成功。
- 最後一步是進行實時測試,以確保ionCube裝載機能夠按預期工作。您可以使用在線編碼器免費加密PHP文件,只要它只是出於測試目的。
如果在安裝過程中出現任何問題,或者只是為了省心,您還可以檢查伺服器日誌中是否可能發生任何錯誤。
輪到您了:您對ionCube Loader的體驗是什麼?讓我們在評論中知道!
0分享
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
.essb_links .essb_links_list li a {
margin-top:0px;
}
@media only屏幕和(最小寬度:64em){
.container–narrow.pb–60,
.knowledgebase .user-content {
職位:相對
}
.widget-share {
位置:絕對;
左:-200px;
頂部:0px;
高度:100%;
寬度:200像素;
框大小:border-box;
}
.widget-share-aligner {
寬度:200像素;
padding-right:62px;
框大小:border-box;
}
html(lang =「 nl」).widget-share-aligner {
寬度:210像素;
}
.widget-share-inner {
padding-bottom:62px;
}
.knowledgebase .user-content .widget-share-inner {
padding-top:0;
}
.widget-share .amount {
顯示:flex;
align-items:居中;
證明內容:flex-end;
寬度:100%;
右邊距:11px;
font-size:14px;
font-weight:500;
底邊距:10px;
}
.widget-share .amount svg {
右邊距:8px;
margin-left:10px;
}
.essb_links .essb_links_list {
flex-direction:列;
align-items:flex-end;
}
.essb_links .essb_links_list li {
顯示:塊;
margin-bottom:5px!important;
}
.widget-share__total {
margin-bottom:0px!重要;
}
.widget-share__total .heading–small {
顏色:#999999;
font-size:14px;
字體粗細:300;
}
.essb-total-value {
margin-right:4px;
}
}
.essb_links {
保證金:0px;
填充:0px;
}
.essb_counter_right {
顯示:無!重要;
}
.essb_links.essb_template_circles-retina .essb_link_hackernews一個,
.essb_links.essb_template_circles-retina .essb_link_reddit a,
.essb_links.essb_template_circles-retina .essb_link_mail a,
.essb_links.essb_template_circles-retina .essb_link_mwp一個,
.essb_links.essb_template_circles-retina .essb_link_buffer a,
.essb_links.essb_template_circles-retina .essb_link_linkedin a,
.essb_links.essb_template_circles-retina .essb_link_facebook a,
.essb_links.essb_template_circles-retina .essb_link_twitter a
{
顏色:#43414e!important;
背景:#f3f3f6!important;
}
.essb_links.essb_template_circles-retina li a:focus,.essb_links.essb_template_circles-retina li a:hover {
border-color:#fff!important;
背景:#43414e!重要;
}
.essb_links.essb_template_circles-retina a {
border-color:#f3f3f6!important;
背景:#f3f3f6;
}
.essb_links .essb_icon:之前{
font-size:15px!important;
頂部:8px;
左:9px;
}
.essb_links .essb_icon {
寬度:32px;
高度:32px;
}
.essb_links.essb_counter_modern_right .essb_counter_right {
背景:#f3f3f6!important;
}
@media only屏幕和(最大寬度:63.999em){
.widget-share-aligner {
位置:相對!重要;
top:0!重要;
}
.essb_links .essb_links_list li {
margin-right:8px!important;
}
}