Version Description
- Added options library using external file instead of the database
- Modified API calls using custom HTTP request using Curl
- Fixed core files marked as broken in a Windows server
- Fixed pagination links in last and failed logins page
- Fixed password with ampersands in email notification
- Fixed whitelist hardening using the authz_core module
- Removed unnecessary emails to reduce spam
- Added constant to stop execution of admin init hooks
- Added explanation for invalid emails and no MX records
- Added link to open the form to insert the API key manually
- Added more options in the IP discoverer setting
- Added option to configure malware scanner timeout
- Added option to configure the API communication protocol
- Added option to reset the malware scanner cache
- Added scheduled task and email alert for available updates
- Added tool to block user accounts from attempting a login
- Added tool to debug HTTP requests to the API services
- Various minor adjustments and fixes
Download this release
Release Info
Developer | akresic |
Plugin | ![]() |
Version | 1.7.18 |
Comparing to | |
See all releases |
Code changes from version 1.7.17 to 1.7.18
- inc/css/sucuri-scanner.min.css +1 -1
- inc/js/sucuri-scanner.min.js +1 -1
- inc/tpl/bsidebar.html.tpl +8 -5
- inc/tpl/corefiles.html.tpl +6 -0
- inc/tpl/firewall-auditlogs.html.tpl +1 -1
- inc/tpl/firewall-clearcache.html.tpl +1 -1
- inc/tpl/firewall-settings.html.tpl +1 -1
- inc/tpl/hardening-panel.html.tpl +4 -4
- inc/tpl/hardening-whitelist.html.tpl +1 -1
- inc/tpl/hardening.html.tpl +17 -1
- inc/tpl/hardening.snippet.tpl +1 -1
- inc/tpl/infosys-cronjobs.html.tpl +30 -35
- inc/tpl/infosys-errorlogs-flimit.html.tpl +24 -0
- inc/tpl/infosys-errorlogs-freader.html.tpl +61 -0
- inc/tpl/infosys-errorlogs-status.html.tpl +23 -0
- inc/tpl/infosys-errorlogs.html.tpl +4 -84
- inc/tpl/infosys-htaccess.html.tpl +1 -1
- inc/tpl/integrity-auditlogs.html.tpl +73 -13
- inc/tpl/integrity-modifiedfiles.html.tpl +1 -1
- inc/tpl/integrity.html.tpl +1 -1
- inc/tpl/lastlogins-all.html.tpl +1 -1
- inc/tpl/lastlogins-blockedusers.html.tpl +65 -0
- inc/tpl/lastlogins-blockedusers.snippet.tpl +10 -0
- inc/tpl/lastlogins-failedlogins.html.tpl +52 -32
- inc/tpl/lastlogins-failedlogins.snippet.tpl +3 -1
- inc/tpl/lastlogins.html.tpl +7 -0
- inc/tpl/notification-resetpwd.html.tpl +1 -1
- inc/tpl/posthack-resetpassword.html.tpl +1 -1
- inc/tpl/posthack-resetplugins.html.tpl +1 -1
- inc/tpl/posthack-resetplugins.snippet.tpl +3 -1
- inc/tpl/posthack-updates-notification.html.tpl +36 -0
- inc/tpl/posthack-updates.html.tpl +46 -0
- inc/tpl/posthack-updates.snippet.tpl +12 -0
- inc/tpl/posthack-updatesecretkeys.html.tpl +1 -1
- inc/tpl/posthack.html.tpl +7 -0
- inc/tpl/settings-alert.html.tpl +1 -1
- inc/tpl/settings-apiservice-protocol.html.tpl +105 -0
- inc/tpl/settings-apiservice-protocol.snippet.tpl +8 -0
- inc/tpl/settings-apiservice.html.tpl +3 -1
- inc/tpl/settings-corefiles-cache.html.tpl +42 -0
- inc/tpl/settings-corefiles-cache.snippet.tpl +6 -0
- inc/tpl/settings-corefiles-language.html.tpl +40 -0
- inc/tpl/settings-corefiles-status.html.tpl +42 -0
- inc/tpl/settings-general-apikey.html.tpl +16 -6
- inc/tpl/settings-general-datastorage.html.tpl +8 -0
- inc/tpl/settings-general.html.tpl +1 -1
- inc/tpl/settings-heartbeat.html.tpl +1 -1
- inc/tpl/settings-ignorerules.html.tpl +2 -2
- inc/tpl/settings-ignorescan-files.html.tpl +20 -0
- inc/tpl/settings-ignorescan-folders.html.tpl +59 -0
- inc/tpl/settings-ignorescan-status.html.tpl +25 -0
- inc/tpl/settings-ignorescan.html.tpl +8 -0
- inc/tpl/settings-ignorescan.snippet.tpl +8 -0
- inc/tpl/settings-ignorescanning.html.tpl +0 -95
- inc/tpl/settings-ignorescanning.snippet.tpl +0 -9
- inc/tpl/settings-scanner.html.tpl +15 -97
- inc/tpl/settings-selfhosting.html.tpl +1 -1
- inc/tpl/settings-sitecheck-cache.html.tpl +23 -0
- inc/tpl/settings-sitecheck-status.html.tpl +56 -0
- inc/tpl/settings-sitecheck-timeout.html.tpl +43 -0
- inc/tpl/settings-trustip.html.tpl +1 -1
- readme.txt +22 -2
- sucuri.php +2147 -931
- uninstall.php +6 -1
inc/css/sucuri-scanner.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.sucuriscan-malware-payload,.sucuriscan-request-summary td+td,.sucuriscan-wraptext{word-break:break-all}.sucuriscan-wrap *,.sucuriscan-wrap :after,.sucuriscan-wrap :before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.sucuriscan-clearfix:after,.sucuriscan-clearfix:before{display:table;content:' '}.sucuriscan-clearfix:after{clear:both}.sucuriscan-hidden{display:none!important}.sucuriscan-opacity{opacity:.6}.sucuriscan-monospace{font-family:Menlo,Monaco,monospace,courier}.sucuriscan-ellipsis{overflow:hidden;display:inline-block;white-space:nowrap;text-overflow:ellipsis}.sucuriscan-pull-left{float:left}.sucuriscan-pull-right{float:right}.sucuriscan-list li{list-style:disc;margin:0 0 5px 15px}.sucuriscan-gradient,.sucuriscan-leftside #poststuff h3,.sucuriscan-maincontent .sucuriscan-table tr>th,.sucuriscan-modal-header{background-color:#f1f1f1;background-image:-webkit-gradient(linear,left top,left bottom,from(#f9f9f9),to(#ececec));background-image:-webkit-linear-gradient(top,#f9f9f9,#ececec);background-image:-moz-linear-gradient(top,#f9f9f9,#ececec);background-image:-ms-linear-gradient(top,#f9f9f9,#ececec);background-image:-o-linear-gradient(top,#f9f9f9,#ececec);background-image:linear-gradient(top,#f9f9f9,#ececec);filter:"progid: DXImageTransform.Microsoft.Gradient(startColorstr=#f9f9f9, endColorstr=#ececec)";-ms-filter:"progid: DXImageTransform.Microsoft.Gradient(startColorstr=#f9f9f9, endColorstr=#ececec)"}.wp-core-ui .button-success,.wp-core-ui .button-success.focus,.wp-core-ui .button-success.hover,.wp-core-ui .button-success:focus,.wp-core-ui .button-success:hover,.wp-core-ui .button.button-success.button-hero{-webkit-box-shadow:0 1px 0 #109900;-moz-box-shadow:0 1px 0 #109900;box-shadow:0 1px 0 #109900}.wp-core-ui .button-success,.wp-core-ui .button-success.focus,.wp-core-ui .button-success.hover,.wp-core-ui .button-success:focus,.wp-core-ui .button-success:hover{background:#8dcd5a;border-color:#48a325;box-shadow:0 1px 0 #109900;text-shadow:0 -1px 1px #109900,1px 0 1px #109900,0 1px 1px #109900,-1px 0 1px #109900}.wp-core-ui .button-success.focus,.wp-core-ui .button-success.hover,.wp-core-ui .button-success:focus,.wp-core-ui .button-success:hover{background:#69be48}.wp-core-ui .button-success.focus,.wp-core-ui .button-success:focus{border-color:#23500e}.wp-core-ui .button-success.active,.wp-core-ui .button-success.active:focus,.wp-core-ui .button-success.active:hover,.wp-core-ui .button-success:active{background:#47a61b;border-color:#358400}.wp-core-ui .button-success-disabled,.wp-core-ui .button-success.disabled,.wp-core-ui .button-success:disabled,.wp-core-ui .button-success[disabled]{color:#b2e794!important;background:#74ba29!important;border-color:#3f7f1b!important}.wp-core-ui .button-danger,.wp-core-ui .button-danger.focus,.wp-core-ui .button-danger.hover,.wp-core-ui .button-danger:focus,.wp-core-ui .button-danger:hover,.wp-core-ui .button.button-danger.button-hero{-webkit-box-shadow:0 1px 0 #99000e;-moz-box-shadow:0 1px 0 #99000e;box-shadow:0 1px 0 #99000e}.wp-core-ui .button-danger,.wp-core-ui .button-danger.focus,.wp-core-ui .button-danger.hover,.wp-core-ui .button-danger:focus,.wp-core-ui .button-danger:hover{background:#cd5050;border-color:#a52121;text-shadow:0 -1px 1px #99000e,1px 0 1px #99000e,0 1px 1px #99000e,-1px 0 1px #99000e}.wp-core-ui .button-danger.focus,.wp-core-ui .button-danger.hover,.wp-core-ui .button-danger:focus,.wp-core-ui .button-danger:hover{background:#be4242}.wp-core-ui .button-danger.focus,.wp-core-ui .button-danger:focus{border-color:#500e0e}.wp-core-ui .button-danger.active,.wp-core-ui .button-danger.active:focus,.wp-core-ui .button-danger.active:hover,.wp-core-ui .button-danger:active{background:#a61b1b;border-color:#840000}.wp-core-ui .button-danger-disabled,.wp-core-ui .button-danger.disabled,.wp-core-ui .button-danger:disabled,.wp-core-ui .button-danger[disabled]{color:#e79494!important;background:#ba2929!important;border-color:#7f1b1b!important}.wp-core-ui .sucuriscan-btnblock{display:block;width:100%;text-align:center}.sucuriscan-overlay{position:fixed;top:0;left:0;bottom:0;right:0;z-index:9990;background:#666;background:rgba(0,0,0,.5)}.sucuriscan-modal{position:absolute;top:25px;left:15%;z-index:9990;width:55%}.sucuriscan-modal-outside{position:relative;left:0;border:1px solid #ddd}.sucuriscan-modal-inside{background:#fff;padding:20px}.sucuriscan-modal-header{padding:0;border-bottom:1px solid #ddd}#poststuff h3.sucuriscan-modal-title,.sucuriscan-leftside #poststuff h3.sucuriscan-modal-title,.sucuriscan-modal-header .sucuriscan-modal-title{margin:0 0 0 10px;padding:0;float:left;line-height:38px;border-bottom:0}.sucuriscan-modal-header .sucuriscan-modal-logo{display:inline-block;float:left;margin-top:8px;margin-left:18px}.sucuriscan-modal-header .sucuriscan-modal-logo img{height:22px}.sucuriscan-modal-close{display:inline-block;position:absolute;top:0;right:0;font-size:16px;font-weight:700;text-decoration:none;line-height:38px;padding:0 15px;border-left:1px solid #ddd}.sucuriscan-modal-inside p:first-child{margin-top:0}.postbox .inside p:last-child,.sucuriscan-modal-inside p:last-child{margin-bottom:0}.sucuriscan-label,.sucuriscan-label-danger,.sucuriscan-label-default,.sucuriscan-label-error,.sucuriscan-label-info,.sucuriscan-label-notice,.sucuriscan-label-primary,.sucuriscan-label-success,.sucuriscan-label-unknown,.sucuriscan-label-warning{display:inline;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;padding:.2em .6em .3em;border-radius:.25em}.sucuriscan-label-default,.sucuriscan-label-unknown{background:#777}.sucuriscan-label-danger,.sucuriscan-label-error{background:#d9534f}.sucuriscan-label-info,.sucuriscan-label-notice{background:#5bc0de}.sucuriscan-label-warning{background:#f0ad4e}.sucuriscan-label-success{background:#5cb85c}.sucuriscan-label-primary{background:#428bca}.sucuriscan-wrap{margin-top:20px}.sucuriscan-wrap .sucuriscan-maincontent{margin:20px 0}.sucuriscan-wrap .sucuriscan-leftside{width:73.5%;float:left}.sucuriscan-wrap .sucuriscan-onecolumn{width:100%}.sucuriscan-wrap .sucuriscan-sidebar{width:25%;float:right}.sucuriscan-wrap #warnings_hook{line-height:normal;padding:0}.sucuriscan-wrap .sucuriscan-navbar{padding-top:20px;padding-left:6px}.sucuriscan-wrap .sucuriscan-navbar .nav-tab{margin-right:0}.sucuriscan-footer,.sucuriscan-header{position:relative;min-width:255px;background:#333;margin:0;padding:10px;border-radius:4px}.sucuriscan-footer .sucuriscan-help{color:#fff;float:right;text-align:right}.sucuriscan-footer .sucuriscan-help p{line-height:38px;margin:0 10px 0 0;padding:0}.sucuriscan-wrap .sucuriscan-footer h2,.sucuriscan-wrap .sucuriscan-header h2,.sucuriscan-wrap .sucuriscan-logo{float:left;margin:0;padding:0}.sucuriscan-wrap .sucuriscan-logo{display:inline-block}.sucuriscan-wrap .sucuriscan-logo img{display:block}.sucuriscan-wrap .sucuriscan-footer h2,.sucuriscan-wrap .sucuriscan-header h2{color:#fff;line-height:38px;margin-left:10px;text-shadow:#000 0 1px 0}.sucuriscan-leftside #poststuff .postbox:last-child{margin-bottom:0}.sucuriscan-leftside #poststuff .postbox h3{margin:0;padding:10px;border-bottom:1px solid #ddd}.sucuriscan-maincontent abbr{text-decoration:underline;cursor:help}.wrap div.sucuriscan-setup-notice{background:#bbe8f5;margin:0 0 20px;padding:0;border:1px solid #bbb;border-radius:3px;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.wrap div.sucuriscan-setup-notice .sucuriscan-setup-image,.wrap div.sucuriscan-setup-notice .sucuriscan-setup-image img{border-radius:3px 0 0 3px}.wrap div.sucuriscan-setup-notice .sucuriscan-setup-image{background:#333;margin:-1px 0 -1px -1px;padding:7px 10px;border-right:1px solid transparent}.wrap div.sucuriscan-setup-notice .sucuriscan-setup-form{padding:4px 4px 4px 0}.wrap div.sucuriscan-setup-notice p{font-size:14px;line-height:20px;margin:0 0 0 10px;padding:7px 0}.wrap div.sucuriscan-setup-notice,.wrap div.sucuriscan-setup-notice .sucuriscan-setup-image{border-color:#4393ac}.wp-core-ui .button.sucuriscan-review-hero,.wp-core-ui .sucuriscan-review-hero{height:initial;line-height:36px;float:right;padding:0 20px}.sucuriscan-input-group>label{display:inline-block;border:1px solid #ddd;border-right:0;line-height:26px;float:left;padding:0 10px;background:#eee}.sucuriscan-input-group>input[type=text]{margin:0;padding-bottom:4px}.sucuriscan-input-group>select{vertical-align:initial;margin:0}.sucuriscan-table-setup td{vertical-align:top}.sucuriscan-table-setup .sucuriscan-description{font-size:12px;margin-top:10px}.sucuriscan-dismiss-setup{font-size:10px;line-height:28px}.sucuriscan-maincontent .sucuriscan-table{margin-top:12px}.sucuriscan-maincontent .sucuriscan-table tr>th{border-top:1px solid #e5e5e5;border-bottom:1px solid #e5e5e5}.sucuriscan-maincontent .sucuriscan-table tr:first-child th{border-top:0}.sucuriscan-maincontent .sucuriscan-table td.check-column{padding:8px 10px}.sucuriscan-maincontent .sucuriscan-striped-table tr:nth-child(even){background:#f5f5f5}.sucuriscan-table-double-title tr:first-child th,.sucuriscan-table-quad-title tr:first-child th,.sucuriscan-table-quad-title tr:first-child+tr th,.sucuriscan-table-quad-title tr:first-child+tr+tr th,.sucuriscan-table-triple-title tr:first-child th,.sucuriscan-table-triple-title tr:first-child+tr th{border-bottom:0}.sucuriscan-table-description{border-left-width:1px!important;box-shadow:none}.sucuriscan-table-description .inside{border-bottom:0!important}.widefat td.td-with-button{text-align:right;padding:3px 10px}.widefat td.td-with-button button{min-width:90px}.widefat td.td-with-button select{height:initial;line-height:initial;vertical-align:top;margin:0;padding:2px 0 3px}.widefat th.check-column{line-height:36px;padding:0}.widefat th.check-column input[type=checkbox]{margin:1px 0 0 10px}.sucuriscan-list-as-table{background:#fff;border:1px solid #e5e5e5}.sucuriscan-list-as-table li{line-height:30px;word-break:break-all;margin:0;padding:0 10px}.sucuriscan-list-as-table li:nth-child(odd){background:#f5f5f5}.sucuriscan-list-as-table-scrollable{height:300px;overflow:hidden;overflow-y:scroll}.sucuriscan-maincontent .thead-with-button{padding:5px 5px 5px 10px}.sucuriscan-maincontent .thead-with-button>span{display:inline-block;line-height:28px}.sucuriscan-maincontent .thead-with-button .input-text{line-height:26px}.sucuriscan-maincontent .thead-with-button select{margin:0;padding:0}.sucuriscan-maincontent .thead-topright-action{display:inline-block;float:right}.sucuriscan-ad{color:#fff;padding:20px;margin-bottom:20px}.sucuriscan-ad .sucuriscan-ad-btn,.sucuriscan-ad h3,.sucuriscan-ad h4{font-family:Arial,Helvetica,sans-serif;color:#fff;margin:0}.sucuriscan-ad h3{font-size:18px;font-weight:300}.sucuriscan-ad h4{font-size:22px;font-weight:700;margin-top:10px}.sucuriscan-ad .sucuriscan-ad-btn{display:block;font-size:13px;font-weight:700;text-align:center;text-decoration:none;text-transform:uppercase;margin-top:20px;padding:5px;border-radius:20px}.sucuriscan-ad .sucuriscan-ad-footer{margin-top:20px;margin-bottom:0}.sucuriscan-ad .sucuriscan-ad-footer ul{margin:0}.sucuriscan-ad .sucuriscan-ad-footer li{font-size:12px;color:#fff;list-style:disc;margin:0 0 0 16px}.sucuriscan-ad .sucuriscan-ad-footer li.featured{color:#fde44c}.sucuriscan-scanner-video{width:100%;background:#fff;border:1px solid #ddd}.sucuriscan-sidebar .sucuriscan-supportbtn{width:100%;height:initial;text-align:center;line-height:36px;margin-top:15px;padding:0}.wp-core-ui .sucuriscan-hide-ads{display:block;color:#666;font-size:11px;text-decoration:underline;margin-top:15px;padding:0}.wp-core-ui .sucuriscan-hide-ads:focus{color:#000;box-shadow:none}.sucuriscan-ad-firewall{background:#606e77}.sucuriscan-ad-firewall .sucuriscan-ad-btn{background:#606e77;border:1px solid #fff}.sucuriscan-ad-firewall .sucuriscan-ad-btn:hover{background:#85929b}.sucuriscan-ad-antivirus{background:#04833e;padding-bottom:0}.sucuriscan-ad-antivirus .sucuriscan-ad-website{display:block;text-decoration:none;margin-top:20px}.sucuriscan-ad-antivirus .sucuriscan-ad-website img{display:block;max-width:100%}.sucuriscan-ad-antivirus .sucuriscan-ad-btn{background-color:#e8840a;background-image:-webkit-gradient(linear,left top,left bottom,from(#e8840a),to(#ef7f02));background-image:-webkit-linear-gradient(top,#e8840a,#ef7f02);background-image:-moz-linear-gradient(top,#e8840a,#ef7f02);background-image:-ms-linear-gradient(top,#e8840a,#ef7f02);background-image:-o-linear-gradient(top,#e8840a,#ef7f02);background-image:linear-gradient(top,#e8840a,#ef7f02);filter:"progid: DXImageTransform.Microsoft.Gradient(startColorstr=#e8840a, endColorstr=#ef7f02)";-ms-filter:"progid: DXImageTransform.Microsoft.Gradient(startColorstr=#e8840a, endColorstr=#ef7f02)";box-shadow:inset 0 1px 1px #eaac3a;border:1px solid #d17301}div.sucuriscan-alert{position:relative;margin:0 0 20px}div.sucuriscan-alert>a.close{position:absolute;top:10px;right:10px;font-size:18px;font-weight:700;text-decoration:none}.sucuriscan-inline-alert,.sucuriscan-inline-alert-error,.sucuriscan-inline-alert-info,.sucuriscan-inline-alert-updated,.sucuriscan-inline-alert-warning{background:#fff;box-shadow:0 1px 1px 0 rgba(0,0,0,.1);padding:0;border-left:4px solid #ddd}.sucuriscan-inline-alert-error>p,.sucuriscan-inline-alert-info>p,.sucuriscan-inline-alert-updated>p,.sucuriscan-inline-alert-warning>p,.sucuriscan-inline-alert>p{margin:0;padding:8px 12px;border:1px solid #ddd;border-left:0}.sucuriscan-inline-alert,.sucuriscan-inline-alert-error,.sucuriscan-inline-alert-info,.sucuriscan-inline-alert-updated,.sucuriscan-inline-alert-warning{margin-bottom:10px}.postbox .inside .sucuriscan-inline-alert-error:last-child,.postbox .inside .sucuriscan-inline-alert-info:last-child,.postbox .inside .sucuriscan-inline-alert-updated:last-child,.postbox .inside .sucuriscan-inline-alert-warning:last-child,.postbox .inside .sucuriscan-inline-alert:last-child,.sucuriscan-tabs>ul li{margin-bottom:0}.sucuriscan-inline-alert-updated{border-left-color:#7ad03a}.sucuriscan-inline-alert-warning{border-left-color:#ffba00}.sucuriscan-inline-alert-error{border-left-color:#dd3d36}.sucuriscan-inline-alert-info{border-left-color:#2ea2cc}.sucuriscan-tabs>ul{margin:0}.sucuriscan-tabs>ul li,.sucuriscan-tabs>ul li>a{display:inline-block}.sucuriscan-tabs>ul li>a{background:#e5e5e5;font-size:13px;font-weight:700;color:#333;line-height:38px;text-decoration:none;padding:0 10px}.sucuriscan-tabs>ul li>a.sucuriscan-tab-active{background:#fff;border:1px solid #e1e1e1;border-bottom:0}.sucuriscan-tabs>ul li.sucuriscan-red-tab a{background:#ff8a83;color:#fff}.sucuriscan-tabs>ul li.sucuriscan-red-tab a.sucuriscan-tab-active{background:#dd3d36;border-color:#dd3d36}.sucuriscan-maincontent .sucuriscan-tab-containers>div>#poststuff,.sucuriscan-maincontent .sucuriscan-tab-containers>div>table{margin-top:0}.sucuriscan-getapi-div{background:#fff;margin:0 0 20px;border:1px solid #e5e5e5;border-radius:3px}.sucuriscan-getapi-div p{margin:0;padding:10px}.sucuriscan-getapi-form button.button-primary{width:100%;height:initial;line-height:30px;margin:0 0 -1px;padding:0;border-radius:0 0 3px 3px}.sucuriscan-malwarescan-message{margin-bottom:20px!important}.sucuriscan-loading{background:#fff;text-align:center;padding:30px 30px 15px;border:1px solid #ddd;border-radius:4px}.sucuriscan-loading h3,.sucuriscan-loading p{margin:0;padding:0}.sucuriscan-loading .title{font-size:28px;margin-bottom:10px}.sucuriscan-loading .description{font-size:16px}.sucuriscan-sitelogo{width:190px;height:100px;background:url(https://sitecheck.sucuri.net/images/sucuri-sprite.png) no-repeat;margin:0 auto}.sucuriscan-sitecheck-form{margin:20px 0 0}.sucuriscan-sitecheck-form .button.button-hero{padding:0 46px}.sucuriscan-loading .sucuriscan-sitecheck-disclaimer{text-align:justify;padding-top:20px;border-top:1px solid #ddd}.sucuriscan-auditlogs .sucuriscan-maxper-page,.sucuriscan-scanner-results .sucuriscan-malware-link{text-align:right}.sucuriscan-loading .sucuriscan-sitecheck-disclaimer p{font-size:10px}.sucuriscan-maincontent .sucuriscan-border{border:0;border-left:4px solid #ddd}.sucuriscan-maincontent .sucuriscan-border>.inside,.sucuriscan-maincontent .sucuriscan-border>h3{border-top:1px solid #e5e5e5;border-right:1px solid #e5e5e5}.sucuriscan-maincontent .sucuriscan-border>h3{border-bottom:0}.sucuriscan-maincontent .sucuriscan-border>.inside{margin-top:0!important;border-bottom:1px solid #ddd}.sucuriscan-maincontent .sucuriscan-border-good,.sucuriscan-maincontent .sucuriscan-border-success{border-left-color:#7ad03a}.sucuriscan-maincontent .sucuriscan-border-bad,.sucuriscan-maincontent .sucuriscan-border-danger{border-left-color:#dd3d36}.sucuriscan-maincontent .sucuriscan-border-info{border-left-color:#2ea2cc}.sucuriscan-maincontent .sucuriscan-cleanup-btn{margin:20px 0 0}.sucuriscan-scanner-results .sucuriscan-scanner-details tr:nth-child(even),.sucuriscan-scanner-results .sucuriscan-scanner-links tr:nth-child(even){background:#f5f5f5}.sucuriscan-scanner-results td.sucuriscan-border-bad{border-left-width:4px;border-left-style:solid}.sucuriscan-scanner-results .sucuriscan-malware-link a:hover{color:#fff}.sucuriscan-malware-payload{background:#f5f5f5;margin:-2px -15px -15px;padding:15px}.sucuriscan-maincontent .sucuriscan-auditlogs,.sucuriscan-maincontent .sucuriscan-corefiles,.sucuriscan-maincontent .sucuriscan-wordpress-outdated{margin-top:0;margin-bottom:20px}.sucuriscan-auditlogs .sucuriscan-list-as-table,.sucuriscan-maincontent .sucuriscan-auditlogs{margin-bottom:0}.sucuriscan-auditlogs .sucuriscan-label{display:inline-block;width:18px;text-transform:uppercase;line-height:13px;cursor:pointer;border-radius:50%}.sucuriscan-auditlogs .sucuriscan-auditlog-success,.sucuriscan-label-added{background:#5cb85c}.sucuriscan-auditlogs .sucuriscan-auditlog-debug{background:#c690ec}.sucuriscan-auditlogs .sucuriscan-auditlog-info{background:#5bc0de}.sucuriscan-auditlogs .sucuriscan-auditlog-notice{background:#428bca}.sucuriscan-auditlogs .sucuriscan-auditlog-warning,.sucuriscan-label-modified{background:#f0ad4e}.sucuriscan-auditlogs .sucuriscan-auditlog-error,.sucuriscan-label-removed{background:#f27d7d}.sucuriscan-auditlogs .sucuriscan-auditlog-critical{background:#000}.sucuriscan-maincontent .sucuriscan-audit-report{border-left-width:1px}.sucuriscan-audit-report .sucuriscan-report-row{margin-bottom:10px}.sucuriscan-audit-report .sucuriscan-report-row:last-child,.sucuriscan-maincontent .sucuriscan-corefiles{margin-bottom:0}.sucuriscan-audit-report .sucuriscan-report-chart{width:49%;border:1px solid #ddd}.sucuriscan-audit-report .sucuriscan-report-chart h4,.sucuriscan-audit-report .sucuriscan-report-chart h5{font-weight:400;text-align:center;margin:0}.sucuriscan-firewall-accesslog .sucuriscan-accesslog-label,.sucuriscan-request-summary tr td:first-child{font-weight:700}.sucuriscan-audit-report .sucuriscan-report-chart h4{font-size:18px;margin-top:10px}.sucuriscan-audit-report .sucuriscan-report-chart h5{font-size:12px;margin-top:5px}.sucuriscan-firewall-auditlogs .sucuriscan-denial-type,.sucuriscan-request-summary td{font-size:14px}.sucuriscan-maincontent .sucuriscan-audit-report .sucuriscan-inline-alert-info{margin-top:10px}.sucuriscan-status-type{display:inline-block;width:20px;background:#ddd;text-align:center;text-transform:uppercase;margin-right:10px;padding:0 3px;border:1px solid transparent;border-radius:3px}.sucuriscan-maincontent .sucuriscan-corefiles .sucuriscan-label{text-transform:capitalize}.sucuriscan-maincontent .sucuriscan-ignoredfiles{margin-top:0}.sucuriscan-ignore-file form{padding:0 10px 10px;border-bottom:1px solid #ddd;border-right:1px solid #ddd}.sucuriscan-ignore-file p{border-bottom:none}.sucuriscan-ignore-file-input{width:80%}.sucuriscan-ignore-file-button{width:18%}.sucuriscan-maincontent .sucuriscan-modifiedfiles .sucuriscan-ellipsis{width:100px}.sucuriscan-maincontent .sucuriscan-firewall-apikey{margin-bottom:10px}.sucuriscan-firewall-settings .sucuriscan-list-as-table{margin-top:4px;margin-bottom:4px}.sucuriscan-firewall-auditlogs .thead-with-button .button{width:65px}.sucuriscan-firewall-auditlogs .thead-with-button .input-text,.sucuriscan-firewall-auditlogs .thead-with-button select{width:250px}.sucuriscan-firewall-auditlogs .sucuriscan-denial-type-date{font-style:italic;color:#999}.sucuriscan-firewall-auditlogs .sucuriscan-alert,.wrap .sucuriscan-firewall-auditlogs .error,.wrap .sucuriscan-firewall-auditlogs .updated{background:#eee;border:1px solid #ddd;border-left-width:4px;margin:10px}.sucuriscan-firewall-accesslog .sucuriscan-accesslog-origin img{margin-right:6px}.sucuriscan-firewall-accesslog .sucuriscan-accesslog-datetime,.sucuriscan-firewall-accesslog .sucuriscan-accesslog-origin,.sucuriscan-firewall-accesslog .sucuriscan-accesslog-referer,.sucuriscan-firewall-accesslog .sucuriscan-accesslog-request,.sucuriscan-firewall-accesslog .sucuriscan-accesslog-signature,.sucuriscan-firewall-accesslog .sucuriscan-accesslog-target,.sucuriscan-firewall-accesslog .sucuriscan-accesslog-useragent{display:block;padding-left:30px}.sucuriscan-firewall-accesslog .sucuriscan-accesslog-origin{padding-left:0}.sucuriscan-request-summary{margin:-3px -15px -15px}.sucuriscan-hstatus{position:relative;margin:0 -12px;padding:10px 12px;border:1px solid transparent}.sucuriscan-hstatus-0{background-color:#f2dede;color:#a94442;border-color:#ebccd1}.sucuriscan-hstatus-1{background-color:#dff0d8;color:#3c763d;border-color:#d6e9c6}.sucuriscan-hstatus-2{background-color:#dee4f2;color:#4263a9;border-color:#ccd0eb}.sucuriscan-hstatus .button-primary,.sucuriscan-hstatus .button-secondary{position:absolute;top:5px;right:5px}.sucuriscan-hardening .postbox .inside pre{background:#eaeaea;padding:10px}.sucuriscan-hardening-whitelist form{margin-top:15px}.sucuriscan-hardening-whitelist form label{line-height:29px;font-size:12px;background-color:#eee;padding:0 10px;display:inline-block;border:1px solid #ddd;border-right:0}.sucuriscan-hardening-whitelist form input[type=text]{margin:0;padding:5px}.sucuriscan-hardening-whitelist form select{height:initial;padding:4px;margin:0}.sucuriscan-hardening-whitelist form .button,.sucuriscan-hardening-whitelist form input[type=text],.sucuriscan-hardening-whitelist form select{margin-right:5px}.sucuriscan-maincontent .sucuriscan-table.sucuriscan-hardening-whitelist-table{margin-top:0}.sucuriscan-lastlogin-outof{font-style:italic;color:#999;margin-right:10px}.sucuriscan-admins-lastlogins .sucuriscan-ellipsis{width:170px}.sucuriscan-admins-lastlogins td{padding:4px 8px}.sucuriscan-pattern-search-inputbox{margin-top:12px}.sucuriscan-pattern-search-inputbox .input-text{width:84.7777%;line-height:30px;margin:0 6px 0 0}.sucuriscan-pattern-search-inputbox .input-button{width:14%;height:initial;line-height:35px}.sucuriscan-pattern-search .sucuriscan-cleanup-btn{margin-top:12px}.sucuriscan-pattern-search table label{color:#999}.sucuriscan-pattern-search .sucuriscan-grep-text em{color:#ea3838}.sucuriscan-about ul{margin-left:20px}.sucuriscan-about ul li{list-style:outside}.sucuriscan-about li label{font-weight:700;vertical-align:initial}.sucuriscan-apikey-registered .sucuriscan-pull-right{width:400px}.sucuriscan-apikey-registered .sucuriscan-sitelogo{background-position:0 -17px;height:83px}.sucuriscan-setup-instructions .form-table{margin-top:15px}.sucuriscan-setup-instructions .form-table td{padding:0 0 12px}.sucuriscan-setup-instructions .form-table select{max-width:400px}.sucuriscan-pagination{display:inline-block;margin:0;padding:0;border-radius:4px}.sucuriscan-pagination>li{display:inline}.c3-tooltip td>span,.sucuriscan-maincontent .sucuriscan-settings form{display:inline-block}.sucuriscan-pagination>li>a,.sucuriscan-pagination>li>span{position:relative;background:#fff;color:#428bca;line-height:1.42857143;text-decoration:none;float:left;margin-left:-1px;padding:6px 12px;border:1px solid #ddd}.sucuriscan-pagination>li:first-child>a,.sucuriscan-pagination>li:first-child>span{margin-left:0;border-radius:4px 0 0 4px}.sucuriscan-pagination>li:last-child>a,.sucuriscan-pagination>li:last-child>span{border-radius:0 4px 4px 0}.sucuriscan-pagination>li>a.sucuriscan-pagination-active,.sucuriscan-pagination>li>a:hover{background:#0074a2;color:#fff}.sucuriscan_wpconfig_keys_updated textarea{width:100%;height:250px;background:#f5f5f5;font-size:12px;resize:vertical;margin:20px 0 0}.sucuriscan-maincontent .sucuriscan-last-logins,.sucuriscan-maincontent .sucuriscan-settings{margin-top:0}.sucuriscan-maincontent .sucuriscan-last-logins .sucuriscan-ellipsis{width:150px;line-height:inherit}.sucuriscan-maincontent .sucuriscan-full-textarea{width:100%;height:400px;line-height:normal;resize:vertical;padding:10px}.sucuriscan-maincontent .sucuriscan-settings .input-text,.sucuriscan-maincontent .sucuriscan-settings select{width:220px;margin:0}.sucuriscan-maincontent .sucuriscan-infosys-htaccess .inside .sucuriscan-inline-alert-updated,.sucuriscan-maincontent .sucuriscan-monitor-fpath{margin-bottom:10px}.sucuriscan-maincontent .sucuriscan-recipient-form{margin-top:10px}.sucuriscan-maincontent .sucuriscan-settings-ignorescanning,.sucuriscan-maincontent .sucuriscan-settings-notifications,.sucuriscan-maincontent .sucuriscan-settings-trustip,.sucuriscan-maincontent .sucuriscan-wpcron-list{margin-top:0}.sucuriscan-maincontent .sucuriscan-settings-notifications .dashicons-before:before{margin-right:5px}.sucuriscan-maincontent .sucuriscan-infosys-htaccess .inside{border-bottom:1px solid #ddd!important}.sucuriscan-maincontent .sucuriscan-errorlogs .inside .sucuriscan-inline-alert-error{margin-top:10px}.sucuriscan-maincontent .sucuriscan-subject-formats{margin:0}.sucuriscan-maincontent .sucuriscan-subject-formats input[type=text]{width:40%;margin-left:10px}.sucuriscan-flag{width:16px;height:11px;background:url(../images/flags.sprite.png) no-repeat}.sucuriscan-flag-ad{background-position:-16px 0}.sucuriscan-flag-ae{background-position:-32px 0}.sucuriscan-flag-af{background-position:-48px 0}.sucuriscan-flag-ag{background-position:-64px 0}.sucuriscan-flag-ai{background-position:-80px 0}.sucuriscan-flag-al{background-position:-96px 0}.sucuriscan-flag-am{background-position:-112px 0}.sucuriscan-flag-an{background-position:-128px 0}.sucuriscan-flag-ao{background-position:-144px 0}.sucuriscan-flag-ar{background-position:-160px 0}.sucuriscan-flag-as{background-position:-176px 0}.sucuriscan-flag-at{background-position:-192px 0}.sucuriscan-flag-au{background-position:-208px 0}.sucuriscan-flag-aw{background-position:-224px 0}.sucuriscan-flag-az{background-position:-240px 0}.sucuriscan-flag-ba{background-position:0 -11px}.sucuriscan-flag-bb{background-position:-16px -11px}.sucuriscan-flag-bd{background-position:-32px -11px}.sucuriscan-flag-be{background-position:-48px -11px}.sucuriscan-flag-bf{background-position:-64px -11px}.sucuriscan-flag-bg{background-position:-80px -11px}.sucuriscan-flag-bh{background-position:-96px -11px}.sucuriscan-flag-bi{background-position:-112px -11px}.sucuriscan-flag-bj{background-position:-128px -11px}.sucuriscan-flag-bm{background-position:-144px -11px}.sucuriscan-flag-bn{background-position:-160px -11px}.sucuriscan-flag-bo{background-position:-176px -11px}.sucuriscan-flag-br{background-position:-192px -11px}.sucuriscan-flag-bs{background-position:-208px -11px}.sucuriscan-flag-bt{background-position:-224px -11px}.sucuriscan-flag-bv{background-position:-240px -11px}.sucuriscan-flag-bw{background-position:0 -22px}.sucuriscan-flag-by{background-position:-16px -22px}.sucuriscan-flag-bz{background-position:-32px -22px}.sucuriscan-flag-ca{background-position:-48px -22px}.sucuriscan-flag-catalonia{background-position:-64px -22px}.sucuriscan-flag-cd{background-position:-80px -22px}.sucuriscan-flag-cf{background-position:-96px -22px}.sucuriscan-flag-cg{background-position:-112px -22px}.sucuriscan-flag-ch{background-position:-128px -22px}.sucuriscan-flag-ci{background-position:-144px -22px}.sucuriscan-flag-ck{background-position:-160px -22px}.sucuriscan-flag-cl{background-position:-176px -22px}.sucuriscan-flag-cm{background-position:-192px -22px}.sucuriscan-flag-cn{background-position:-208px -22px}.sucuriscan-flag-co{background-position:-224px -22px}.sucuriscan-flag-cr{background-position:-240px -22px}.sucuriscan-flag-cu{background-position:0 -33px}.sucuriscan-flag-cv{background-position:-16px -33px}.sucuriscan-flag-cw{background-position:-32px -33px}.sucuriscan-flag-cy{background-position:-48px -33px}.sucuriscan-flag-cz{background-position:-64px -33px}.sucuriscan-flag-de{background-position:-80px -33px}.sucuriscan-flag-dj{background-position:-96px -33px}.sucuriscan-flag-dk{background-position:-112px -33px}.sucuriscan-flag-dm{background-position:-128px -33px}.sucuriscan-flag-do{background-position:-144px -33px}.sucuriscan-flag-dz{background-position:-160px -33px}.sucuriscan-flag-ec{background-position:-176px -33px}.sucuriscan-flag-ee{background-position:-192px -33px}.sucuriscan-flag-eg{background-position:-208px -33px}.sucuriscan-flag-eh{background-position:-224px -33px}.sucuriscan-flag-england{background-position:-240px -33px}.sucuriscan-flag-er{background-position:0 -44px}.sucuriscan-flag-es{background-position:-16px -44px}.sucuriscan-flag-et{background-position:-32px -44px}.sucuriscan-flag-eu{background-position:-48px -44px}.sucuriscan-flag-fi{background-position:-64px -44px}.sucuriscan-flag-fj{background-position:-80px -44px}.sucuriscan-flag-fk{background-position:-96px -44px}.sucuriscan-flag-fm{background-position:-112px -44px}.sucuriscan-flag-fo{background-position:-128px -44px}.sucuriscan-flag-fr{background-position:-144px -44px}.sucuriscan-flag-ga{background-position:-160px -44px}.sucuriscan-flag-gb{background-position:-176px -44px}.sucuriscan-flag-gd{background-position:-192px -44px}.sucuriscan-flag-ge{background-position:-208px -44px}.sucuriscan-flag-gf{background-position:-224px -44px}.sucuriscan-flag-gg{background-position:-240px -44px}.sucuriscan-flag-gh{background-position:0 -55px}.sucuriscan-flag-gi{background-position:-16px -55px}.sucuriscan-flag-gl{background-position:-32px -55px}.sucuriscan-flag-gm{background-position:-48px -55px}.sucuriscan-flag-gn{background-position:-64px -55px}.sucuriscan-flag-gp{background-position:-80px -55px}.sucuriscan-flag-gq{background-position:-96px -55px}.sucuriscan-flag-gr{background-position:-112px -55px}.sucuriscan-flag-gs{background-position:-128px -55px}.sucuriscan-flag-gt{background-position:-144px -55px}.sucuriscan-flag-gu{background-position:-160px -55px}.sucuriscan-flag-gw{background-position:-176px -55px}.sucuriscan-flag-gy{background-position:-192px -55px}.sucuriscan-flag-hk{background-position:-208px -55px}.sucuriscan-flag-hm{background-position:-224px -55px}.sucuriscan-flag-hn{background-position:-240px -55px}.sucuriscan-flag-hr{background-position:0 -66px}.sucuriscan-flag-ht{background-position:-16px -66px}.sucuriscan-flag-hu{background-position:-32px -66px}.sucuriscan-flag-ic{background-position:-48px -66px}.sucuriscan-flag-id{background-position:-64px -66px}.sucuriscan-flag-ie{background-position:-80px -66px}.sucuriscan-flag-il{background-position:-96px -66px}.sucuriscan-flag-im{background-position:-112px -66px}.sucuriscan-flag-in{background-position:-128px -66px}.sucuriscan-flag-io{background-position:-144px -66px}.sucuriscan-flag-iq{background-position:-160px -66px}.sucuriscan-flag-ir{background-position:-176px -66px}.sucuriscan-flag-is{background-position:-192px -66px}.sucuriscan-flag-it{background-position:-208px -66px}.sucuriscan-flag-je{background-position:-224px -66px}.sucuriscan-flag-jm{background-position:-240px -66px}.sucuriscan-flag-jo{background-position:0 -77px}.sucuriscan-flag-jp{background-position:-16px -77px}.sucuriscan-flag-ke{background-position:-32px -77px}.sucuriscan-flag-kg{background-position:-48px -77px}.sucuriscan-flag-kh{background-position:-64px -77px}.sucuriscan-flag-ki{background-position:-80px -77px}.sucuriscan-flag-km{background-position:-96px -77px}.sucuriscan-flag-kn{background-position:-112px -77px}.sucuriscan-flag-kp{background-position:-128px -77px}.sucuriscan-flag-kr{background-position:-144px -77px}.sucuriscan-flag-kurdistan{background-position:-160px -77px}.sucuriscan-flag-kw{background-position:-176px -77px}.sucuriscan-flag-ky{background-position:-192px -77px}.sucuriscan-flag-kz{background-position:-208px -77px}.sucuriscan-flag-la{background-position:-224px -77px}.sucuriscan-flag-lb{background-position:-240px -77px}.sucuriscan-flag-lc{background-position:0 -88px}.sucuriscan-flag-li{background-position:-16px -88px}.sucuriscan-flag-lk{background-position:-32px -88px}.sucuriscan-flag-lr{background-position:-48px -88px}.sucuriscan-flag-ls{background-position:-64px -88px}.sucuriscan-flag-lt{background-position:-80px -88px}.sucuriscan-flag-lu{background-position:-96px -88px}.sucuriscan-flag-lv{background-position:-112px -88px}.sucuriscan-flag-ly{background-position:-128px -88px}.sucuriscan-flag-ma{background-position:-144px -88px}.sucuriscan-flag-mc{background-position:-160px -88px}.sucuriscan-flag-md{background-position:-176px -88px}.sucuriscan-flag-me{background-position:-192px -88px}.sucuriscan-flag-mg{background-position:-208px -88px}.sucuriscan-flag-mh{background-position:-224px -88px}.sucuriscan-flag-mk{background-position:-240px -88px}.sucuriscan-flag-ml{background-position:0 -99px}.sucuriscan-flag-mm{background-position:-16px -99px}.sucuriscan-flag-mn{background-position:-32px -99px}.sucuriscan-flag-mo{background-position:-48px -99px}.sucuriscan-flag-mp{background-position:-64px -99px}.sucuriscan-flag-mq{background-position:-80px -99px}.sucuriscan-flag-mr{background-position:-96px -99px}.sucuriscan-flag-ms{background-position:-112px -99px}.sucuriscan-flag-mt{background-position:-128px -99px}.sucuriscan-flag-mu{background-position:-144px -99px}.sucuriscan-flag-mv{background-position:-160px -99px}.sucuriscan-flag-mw{background-position:-176px -99px}.sucuriscan-flag-mx{background-position:-192px -99px}.sucuriscan-flag-my{background-position:-208px -99px}.sucuriscan-flag-mz{background-position:-224px -99px}.sucuriscan-flag-na{background-position:-240px -99px}.sucuriscan-flag-nc{background-position:0 -110px}.sucuriscan-flag-ne{background-position:-16px -110px}.sucuriscan-flag-nf{background-position:-32px -110px}.sucuriscan-flag-ng{background-position:-48px -110px}.sucuriscan-flag-ni{background-position:-64px -110px}.sucuriscan-flag-nl{background-position:-80px -110px}.sucuriscan-flag-no{background-position:-96px -110px}.sucuriscan-flag-np{background-position:-112px -110px}.sucuriscan-flag-nr{background-position:-128px -110px}.sucuriscan-flag-nu{background-position:-144px -110px}.sucuriscan-flag-nz{background-position:-160px -110px}.sucuriscan-flag-om{background-position:-176px -110px}.sucuriscan-flag-pa{background-position:-192px -110px}.sucuriscan-flag-pe{background-position:-208px -110px}.sucuriscan-flag-pf{background-position:-224px -110px}.sucuriscan-flag-pg{background-position:-240px -110px}.sucuriscan-flag-ph{background-position:0 -121px}.sucuriscan-flag-pk{background-position:-16px -121px}.sucuriscan-flag-pl{background-position:-32px -121px}.sucuriscan-flag-pm{background-position:-48px -121px}.sucuriscan-flag-pn{background-position:-64px -121px}.sucuriscan-flag-pr{background-position:-80px -121px}.sucuriscan-flag-ps{background-position:-96px -121px}.sucuriscan-flag-pt{background-position:-112px -121px}.sucuriscan-flag-pw{background-position:-128px -121px}.sucuriscan-flag-py{background-position:-144px -121px}.sucuriscan-flag-qa{background-position:-160px -121px}.sucuriscan-flag-re{background-position:-176px -121px}.sucuriscan-flag-ro{background-position:-192px -121px}.sucuriscan-flag-rs{background-position:-208px -121px}.sucuriscan-flag-ru{background-position:-224px -121px}.sucuriscan-flag-rw{background-position:-240px -121px}.sucuriscan-flag-sa{background-position:0 -132px}.sucuriscan-flag-sb{background-position:-16px -132px}.sucuriscan-flag-sc{background-position:-32px -132px}.sucuriscan-flag-scotland{background-position:-48px -132px}.sucuriscan-flag-sd{background-position:-64px -132px}.sucuriscan-flag-se{background-position:-80px -132px}.sucuriscan-flag-sg{background-position:-96px -132px}.sucuriscan-flag-sh{background-position:-112px -132px}.sucuriscan-flag-si{background-position:-128px -132px}.sucuriscan-flag-sk{background-position:-144px -132px}.sucuriscan-flag-sl{background-position:-160px -132px}.sucuriscan-flag-sm{background-position:-176px -132px}.sucuriscan-flag-sn{background-position:-192px -132px}.sucuriscan-flag-so{background-position:-208px -132px}.sucuriscan-flag-somaliland{background-position:-224px -132px}.sucuriscan-flag-sr{background-position:-240px -132px}.sucuriscan-flag-ss{background-position:0 -143px}.sucuriscan-flag-st{background-position:-16px -143px}.sucuriscan-flag-sv{background-position:-32px -143px}.sucuriscan-flag-sx{background-position:-48px -143px}.sucuriscan-flag-sy{background-position:-64px -143px}.sucuriscan-flag-sz{background-position:-80px -143px}.sucuriscan-flag-tc{background-position:-96px -143px}.sucuriscan-flag-td{background-position:-112px -143px}.sucuriscan-flag-tf{background-position:-128px -143px}.sucuriscan-flag-tg{background-position:-144px -143px}.sucuriscan-flag-th{background-position:-160px -143px}.sucuriscan-flag-tj{background-position:-176px -143px}.sucuriscan-flag-tk{background-position:-192px -143px}.sucuriscan-flag-tl{background-position:-208px -143px}.sucuriscan-flag-tm{background-position:-224px -143px}.sucuriscan-flag-tn{background-position:-240px -143px}.sucuriscan-flag-to{background-position:0 -154px}.sucuriscan-flag-tr{background-position:-16px -154px}.sucuriscan-flag-tt{background-position:-32px -154px}.sucuriscan-flag-tv{background-position:-48px -154px}.sucuriscan-flag-tw{background-position:-64px -154px}.sucuriscan-flag-tz{background-position:-80px -154px}.sucuriscan-flag-ua{background-position:-96px -154px}.sucuriscan-flag-ug{background-position:-112px -154px}.sucuriscan-flag-um{background-position:-128px -154px}.sucuriscan-flag-us{background-position:-144px -154px}.sucuriscan-flag-uy{background-position:-160px -154px}.sucuriscan-flag-uz{background-position:-176px -154px}.sucuriscan-flag-va{background-position:-192px -154px}.sucuriscan-flag-vc{background-position:-208px -154px}.sucuriscan-flag-ve{background-position:-224px -154px}.sucuriscan-flag-vg{background-position:-240px -154px}.sucuriscan-flag-vi{background-position:0 -165px}.sucuriscan-flag-vn{background-position:-16px -165px}.sucuriscan-flag-vu{background-position:-32px -165px}.sucuriscan-flag-wales{background-position:-48px -165px}.sucuriscan-flag-wf{background-position:-64px -165px}.sucuriscan-flag-ws{background-position:-80px -165px}.sucuriscan-flag-ye{background-position:-96px -165px}.sucuriscan-flag-yt{background-position:-112px -165px}.sucuriscan-flag-za{background-position:-128px -165px}.sucuriscan-flag-zanzibar{background-position:-144px -165px}.sucuriscan-flag-zm{background-position:-160px -165px}.sucuriscan-flag-zw{background-position:-176px -165px}.c3 svg{font:10px sans-serif}.c3 line,.c3 path{fill:none;stroke:#000}.c3 text{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.c3-bars path,.c3-event-rect,.c3-legend-item-tile,.c3-xgrid-focus,.c3-ygrid{shape-rendering:crispEdges}.c3-chart-arc path{stroke:#fff}.c3-chart-arc text{fill:#fff;font-size:13px}.c3-grid line{stroke:#aaa}.c3-grid text{fill:#aaa}.c3-xgrid,.c3-ygrid{stroke-dasharray:3 3}.c3-text.c3-empty{fill:gray;font-size:2em}.c3-line{stroke-width:1px}.c3-circle._expanded_{stroke-width:1px;stroke:#fff}.c3-selected-circle{fill:#fff;stroke-width:2px}.c3-bar{stroke-width:0}.c3-bar._expanded_{fill-opacity:.75}.c3-chart-arcs-title{dominant-baseline:middle;font-size:1.3em}.c3-target.c3-focused{opacity:1}.c3-target.c3-focused path.c3-line,.c3-target.c3-focused path.c3-step{stroke-width:2px}.c3-target.c3-defocused{opacity:.3!important}.c3-region{fill:#4682b4;fill-opacity:.1}.c3-brush .extent{fill-opacity:.1}.c3-legend-item{font-size:12px}.c3-legend-item-hidden{opacity:.15}.c3-legend-background{opacity:.75;fill:#fff;stroke:#d3d3d3;stroke-width:1}.c3-tooltip-container{z-index:10}.c3-tooltip{border-collapse:collapse;border-spacing:0;background-color:#fff;empty-cells:show;-webkit-box-shadow:7px 7px 12px -9px #777;-moz-box-shadow:7px 7px 12px -9px #777;box-shadow:7px 7px 12px -9px #777}.c3-tooltip tr{border:1px solid #CCC}.c3-tooltip th{background-color:#aaa;font-size:14px;padding:2px 5px;text-align:left;color:#FFF}.c3-tooltip td{font-size:13px;padding:3px 6px;background-color:#fff;border-left:1px dotted #999}.c3-tooltip td>span{width:10px;height:10px;margin-right:6px}.c3-tooltip td.value{text-align:right}.c3-area{stroke-width:0;opacity:.2}.c3-chart-arcs .c3-chart-arcs-background{fill:#e0e0e0;stroke:none}.c3-chart-arcs .c3-chart-arcs-gauge-unit{fill:#000;font-size:16px}.c3-chart-arcs .c3-chart-arcs-gauge-max,.c3-chart-arcs .c3-chart-arcs-gauge-min{fill:#777}.c3-chart-arc .c3-gauge-value{fill:#000}@media (max-width:510px){.wp-core-ui .button.sucuriscan-review-hero,.wp-core-ui .sucuriscan-review-hero{display:none}}@media (max-width:620px){.sucuriscan-tabs>ul li,.sucuriscan-tabs>ul li>a{display:block}.sucuriscan-getapi-form button.button-primary{line-height:40px}}@media (max-width:768px){.sucuriscan-wrap .sucuriscan-footer .sucuriscan-help,.sucuriscan-wrap .sucuriscan-footer .sucuriscan-logo,.sucuriscan-wrap .sucuriscan-leftside,.sucuriscan-wrap .sucuriscan-sidebar{float:none}.sucuriscan-wrap .sucuriscan-leftside,.sucuriscan-wrap .sucuriscan-sidebar{width:100%}.sucuriscan-wrap .sucuriscan-sidebar{margin-top:20px}.sucuriscan-wrap .sucuriscan-footer .sucuriscan-logo{display:table;margin:0 auto}}@media (max-width:920px){.sucuriscan-wrap .sucuriscan-navbar{padding-left:0;padding-right:0}.sucuriscan-wrap .sucuriscan-navbar .nav-tab{display:block;line-height:20px;margin:0}.sucuriscan-wrap .sucuriscan-navbar .nav-tab:last-child{border-bottom:1px solid #ccc}}@media (min-width:600px) and (max-width:1060px){.sucuriscan-wrap .sucuriscan-leftside,.sucuriscan-wrap .sucuriscan-sidebar{width:initial;float:none}.sucuriscan-wrap .sucuriscan-sidebar{margin-top:20px}.sucuriscan-wrap .sucuriscan-sidebar>div{width:49%;float:left;min-height:339px}.sucuriscan-wrap .sucuriscan-sidebar .sucuriscan-ad-antivirus{margin-left:2%}.sucuriscan-wrap .sucuriscan-scanner-video{height:450px}}.sucuriscan-maincontent #poststuff{min-width:initial;padding-top:0}.sucuriscan-maincontent .widefat tbody th.check-column{padding:6px 0 3px}.sucuriscan-maincontent .hardening-box .primary-secondary{margin:0 0 0 10px}.sucuriscan-maincontent hr{border:none;border-top:1px solid #999}.sucuriscan-maincontent table td>table{background:#fff}.sucuriscan-maincontent table td>table th{padding:4px 8px}
|
1 |
+
.sucuriscan-malware-payload,.sucuriscan-request-summary td+td,.sucuriscan-wraptext{word-break:break-all}.sucuriscan-wrap *,.sucuriscan-wrap:after,.sucuriscan-wrap:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.sucuriscan-clearfix:after,.sucuriscan-clearfix:before{display:table;content:' '}.sucuriscan-clearfix:after{clear:both}.sucuriscan-hidden{display:none!important}.sucuriscan-opacity{opacity:.6}.sucuriscan-monospace{font-family:Menlo,Monaco,monospace,courier}.sucuriscan-ellipsis{overflow:hidden;display:inline-block;white-space:nowrap;text-overflow:ellipsis}.sucuriscan-pull-left{float:left}.sucuriscan-pull-right{float:right}.sucuriscan-list li{list-style:disc;margin:0 0 5px 15px}.sucuriscan-gradient,.sucuriscan-leftside #poststuff h3,.sucuriscan-leftside .sucuriscan-panelstuff h3,.sucuriscan-maincontent .sucuriscan-table tr>th,.sucuriscan-modal-header{background-color:#f1f1f1;background-image:-webkit-gradient(linear,left top,left bottom,from(#f9f9f9),to(#ececec));background-image:-webkit-linear-gradient(top,#f9f9f9,#ececec);background-image:-moz-linear-gradient(top,#f9f9f9,#ececec);background-image:-ms-linear-gradient(top,#f9f9f9,#ececec);background-image:-o-linear-gradient(top,#f9f9f9,#ececec);background-image:linear-gradient(top,#f9f9f9,#ececec);filter:"progid: DXImageTransform.Microsoft.Gradient(startColorstr=#f9f9f9, endColorstr=#ececec)";-ms-filter:"progid: DXImageTransform.Microsoft.Gradient(startColorstr=#f9f9f9, endColorstr=#ececec)"}.wp-core-ui .button-success,.wp-core-ui .button-success.focus,.wp-core-ui .button-success.hover,.wp-core-ui .button-success:focus,.wp-core-ui .button-success:hover,.wp-core-ui .button.button-success.button-hero{-webkit-box-shadow:0 1px 0 #109900;-moz-box-shadow:0 1px 0 #109900;box-shadow:0 1px 0 #109900}.wp-core-ui .button-success,.wp-core-ui .button-success.focus,.wp-core-ui .button-success.hover,.wp-core-ui .button-success:focus,.wp-core-ui .button-success:hover{background:#8dcd5a;border-color:#48a325;box-shadow:0 1px 0 #109900;text-shadow:0 -1px 1px #109900,1px 0 1px #109900,0 1px 1px #109900,-1px 0 1px #109900}.wp-core-ui .button-success.focus,.wp-core-ui .button-success.hover,.wp-core-ui .button-success:focus,.wp-core-ui .button-success:hover{background:#69be48}.wp-core-ui .button-success.focus,.wp-core-ui .button-success:focus{border-color:#23500e}.wp-core-ui .button-success.active,.wp-core-ui .button-success.active:focus,.wp-core-ui .button-success.active:hover,.wp-core-ui .button-success:active{background:#47a61b;border-color:#358400}.wp-core-ui .button-success-disabled,.wp-core-ui .button-success.disabled,.wp-core-ui .button-success:disabled,.wp-core-ui .button-success[disabled]{color:#b2e794!important;background:#74ba29!important;border-color:#3f7f1b!important}.wp-core-ui .button-danger,.wp-core-ui .button-danger.focus,.wp-core-ui .button-danger.hover,.wp-core-ui .button-danger:focus,.wp-core-ui .button-danger:hover,.wp-core-ui .button.button-danger.button-hero{-webkit-box-shadow:0 1px 0 #99000e;-moz-box-shadow:0 1px 0 #99000e;box-shadow:0 1px 0 #99000e}.wp-core-ui .button-danger,.wp-core-ui .button-danger.focus,.wp-core-ui .button-danger.hover,.wp-core-ui .button-danger:focus,.wp-core-ui .button-danger:hover{background:#cd5050;border-color:#a52121;text-shadow:0 -1px 1px #99000e,1px 0 1px #99000e,0 1px 1px #99000e,-1px 0 1px #99000e}.wp-core-ui .button-danger.focus,.wp-core-ui .button-danger.hover,.wp-core-ui .button-danger:focus,.wp-core-ui .button-danger:hover{background:#be4242}.wp-core-ui .button-danger.focus,.wp-core-ui .button-danger:focus{border-color:#500e0e}.wp-core-ui .button-danger.active,.wp-core-ui .button-danger.active:focus,.wp-core-ui .button-danger.active:hover,.wp-core-ui .button-danger:active{background:#a61b1b;border-color:#840000}.wp-core-ui .button-danger-disabled,.wp-core-ui .button-danger.disabled,.wp-core-ui .button-danger:disabled,.wp-core-ui .button-danger[disabled]{color:#e79494!important;background:#ba2929!important;border-color:#7f1b1b!important}.wp-core-ui .sucuriscan-btnblock{display:block;width:100%;text-align:center}.sucuriscan-overlay{position:fixed;top:0;left:0;bottom:0;right:0;z-index:9990;background:#666;background:rgba(0,0,0,.5)}.sucuriscan-modal{position:absolute;top:25px;left:15%;z-index:9990;width:65%}.sucuriscan-modal-outside{position:relative;left:0;border:1px solid #ddd}.sucuriscan-modal-inside{background:#fff;padding:20px}.sucuriscan-modal-header{padding:0;border-bottom:1px solid #ddd}#poststuff h3.sucuriscan-modal-title,.sucuriscan-leftside #poststuff h3.sucuriscan-modal-title,.sucuriscan-modal-header .sucuriscan-modal-title{margin:0 0 0 10px;padding:0;float:left;line-height:38px;border-bottom:0}.sucuriscan-modal-header .sucuriscan-modal-logo{display:inline-block;float:left;margin-top:8px;margin-left:18px}.sucuriscan-modal-header .sucuriscan-modal-logo img{height:22px}.sucuriscan-modal-close{display:inline-block;position:absolute;top:0;right:0;font-size:16px;font-weight:700;text-decoration:none;line-height:38px;padding:0 15px;border-left:1px solid #ddd}.sucuriscan-modal-inside p:first-child{margin-top:0}.sucuriscan-panelstuff .inside{margin:6px 0 0}.postbox .inside p:last-child,.sucuriscan-modal-inside p:last-child{margin-bottom:0}.sucuriscan-label,.sucuriscan-label-danger,.sucuriscan-label-default,.sucuriscan-label-error,.sucuriscan-label-info,.sucuriscan-label-notice,.sucuriscan-label-primary,.sucuriscan-label-success,.sucuriscan-label-unknown,.sucuriscan-label-warning{display:inline;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;padding:.2em .6em .3em;border-radius:.25em}.sucuriscan-label-default,.sucuriscan-label-unknown{background:#777}.sucuriscan-label-danger,.sucuriscan-label-error{background:#d9534f}.sucuriscan-label-info,.sucuriscan-label-notice{background:#5bc0de}.sucuriscan-label-warning{background:#f0ad4e}.sucuriscan-label-success{background:#5cb85c}.sucuriscan-label-primary{background:#428bca}.sucuriscan-wrap{margin-top:20px}.sucuriscan-wrap .sucuriscan-maincontent{margin:20px 0}.sucuriscan-wrap .sucuriscan-leftside{width:73.5%;float:left}.sucuriscan-wrap .sucuriscan-onecolumn{width:100%}.sucuriscan-wrap .sucuriscan-sidebar{width:25%;float:right}.sucuriscan-wrap #warnings_hook{line-height:normal;padding:0}.sucuriscan-wrap .sucuriscan-navbar{padding-top:20px;padding-left:6px}.sucuriscan-wrap .sucuriscan-navbar .nav-tab{margin-right:0}.sucuriscan-footer,.sucuriscan-header{position:relative;min-width:255px;background:#333;margin:0;padding:10px;border-radius:4px}.sucuriscan-footer .sucuriscan-help{color:#fff;float:right;text-align:right}.sucuriscan-footer .sucuriscan-help p{line-height:38px;margin:0 10px 0 0;padding:0}.sucuriscan-wrap .sucuriscan-footer h2,.sucuriscan-wrap .sucuriscan-header h2,.sucuriscan-wrap .sucuriscan-logo{float:left;margin:0;padding:0}.sucuriscan-wrap .sucuriscan-logo{display:inline-block}.sucuriscan-wrap .sucuriscan-logo img{display:block}.sucuriscan-wrap .sucuriscan-footer h2,.sucuriscan-wrap .sucuriscan-header h2{color:#fff;line-height:38px;margin-left:10px;text-shadow:#000 0 1px 0}.sucuriscan-leftside #poststuff .postbox:last-child,.sucuriscan-leftside .sucuriscan-panelstuff .postbox:last-child{margin-bottom:0}.sucuriscan-leftside #poststuff .postbox h3,.sucuriscan-leftside .sucuriscan-panelstuff .postbox h3{margin:0;padding:10px;border-bottom:1px solid #ddd}.sucuriscan-maincontent abbr{text-decoration:underline;cursor:help}.wrap div.sucuriscan-setup-notice{background:#bbe8f5;margin:0 0 20px;padding:0;border:1px solid #bbb;border-radius:3px;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.wrap div.sucuriscan-setup-notice .sucuriscan-setup-image,.wrap div.sucuriscan-setup-notice .sucuriscan-setup-image img{border-radius:3px 0 0 3px}.wrap div.sucuriscan-setup-notice .sucuriscan-setup-image{background:#333;margin:-1px 0 -1px -1px;padding:7px 10px;border-right:1px solid transparent}.wrap div.sucuriscan-setup-notice .sucuriscan-setup-form{padding:4px 4px 4px 0}.wrap div.sucuriscan-setup-notice p{font-size:14px;line-height:20px;margin:0 0 0 10px;padding:7px 0}.wrap div.sucuriscan-setup-notice,.wrap div.sucuriscan-setup-notice .sucuriscan-setup-image{border-color:#4393ac}.wp-core-ui .button.sucuriscan-review-hero,.wp-core-ui .sucuriscan-review-hero{height:initial;line-height:36px;float:right;padding:0 20px}.sucuriscan-input-group>label{display:inline-block;border:1px solid #ddd;border-right:0;line-height:26px;float:left;padding:0 10px;background:#eee}.sucuriscan-input-group>input[type=text]{margin:0;padding-bottom:4px}.sucuriscan-input-group>select{vertical-align:initial;margin:0}.sucuriscan-table-setup td{vertical-align:top}.sucuriscan-table-setup .sucuriscan-description{font-size:12px;margin-top:10px}.sucuriscan-dismiss-setup{font-size:10px;line-height:28px}.sucuriscan-maincontent .sucuriscan-table{margin-top:12px}.sucuriscan-maincontent .sucuriscan-table tr>th{border-top:1px solid #e5e5e5;border-bottom:1px solid #e5e5e5}.sucuriscan-maincontent .sucuriscan-table tr:first-child th{border-top:0}.sucuriscan-maincontent .sucuriscan-table td.check-column{padding:8px 10px}.sucuriscan-maincontent .sucuriscan-striped-table tr:nth-child(even){background:#f5f5f5}.sucuriscan-table-double-title tr:first-child th,.sucuriscan-table-quad-title tr:first-child th,.sucuriscan-table-quad-title tr:first-child+tr th,.sucuriscan-table-quad-title tr:first-child+tr+tr th,.sucuriscan-table-triple-title tr:first-child th,.sucuriscan-table-triple-title tr:first-child+tr th{border-bottom:0}.sucuriscan-table-description{border-left-width:1px!important;box-shadow:none}.sucuriscan-table-description .inside{border-bottom:0!important}.widefat td.td-with-button{text-align:right;padding:3px 10px}.widefat td.td-with-button button{min-width:90px}.widefat td.td-with-button select{height:initial;line-height:initial;vertical-align:top;margin:0;padding:2px 0 3px}.widefat th.check-column{line-height:36px;padding:0}.widefat th.check-column input[type=checkbox]{margin:1px 0 0 10px}.sucuriscan-list-as-table{background:#fff;border:1px solid #e5e5e5}.sucuriscan-list-as-table li{line-height:30px;word-break:break-all;margin:0;padding:0 10px}.sucuriscan-list-as-table li:nth-child(odd){background:#f5f5f5}.sucuriscan-list-as-table-scrollable{height:300px;overflow:hidden;overflow-y:scroll}.sucuriscan-maincontent .thead-with-button{padding:5px 5px 5px 10px}.sucuriscan-maincontent .thead-with-button>span{display:inline-block;line-height:28px}.sucuriscan-maincontent .thead-with-button .input-text{line-height:26px}.sucuriscan-maincontent .thead-with-button select{margin:0;padding:0}.sucuriscan-maincontent .thead-topright-action{display:inline-block;float:right}.sucuriscan-ad{color:#fff;padding:20px;margin-bottom:20px}.sucuriscan-ad .sucuriscan-ad-btn,.sucuriscan-ad h3,.sucuriscan-ad h4{font-family:Arial,Helvetica,sans-serif;color:#fff;margin:0}.sucuriscan-ad h3{font-size:18px;font-weight:300}.sucuriscan-ad h4{font-size:22px;font-weight:700;margin-top:10px}.sucuriscan-ad .sucuriscan-ad-btn{display:block;font-size:13px;font-weight:700;text-align:center;text-decoration:none;text-transform:uppercase;margin-top:20px;padding:5px;border-radius:20px}.sucuriscan-ad .sucuriscan-ad-footer{margin-top:20px;margin-bottom:0}.sucuriscan-ad .sucuriscan-ad-footer ul{margin:0}.sucuriscan-ad .sucuriscan-ad-footer li{font-size:12px;color:#fff;list-style:disc;margin:0 0 0 16px}.sucuriscan-ad .sucuriscan-ad-footer li.featured{color:#fde44c}.sucuriscan-scanner-video{width:100%;background:#fff;border:1px solid #ddd}.sucuriscan-sidebar .sucuriscan-supportbtn{width:100%;height:initial;text-align:center;line-height:36px;margin-top:15px;padding:0}.sucuriscan-hide-ads{min-height:initial!important;margin-top:15px}.sucuriscan-hide-ads .button-link{text-decoration:underline}.sucuriscan-hide-ads-instructions{border:1px solid #ddd;background:#fff;margin-top:15px;padding:10px}.sucuriscan-hide-ads .button-link,.sucuriscan-hide-ads-instructions,.sucuriscan-hide-ads-instructions code{font-size:11px}.sucuriscan-hide-ads-instructions code{display:block;margin-top:5px}.sucuriscan-ad-firewall{background:#606e77}.sucuriscan-ad-firewall .sucuriscan-ad-btn{background:#606e77;border:1px solid #fff}.sucuriscan-ad-firewall .sucuriscan-ad-btn:hover{background:#85929b}.sucuriscan-ad-antivirus{background:#04833e;padding-bottom:0}.sucuriscan-ad-antivirus .sucuriscan-ad-website{display:block;text-decoration:none;margin-top:20px}.sucuriscan-ad-antivirus .sucuriscan-ad-website img{display:block;max-width:100%}.sucuriscan-ad-antivirus .sucuriscan-ad-btn{background-color:#e8840a;background-image:-webkit-gradient(linear,left top,left bottom,from(#e8840a),to(#ef7f02));background-image:-webkit-linear-gradient(top,#e8840a,#ef7f02);background-image:-moz-linear-gradient(top,#e8840a,#ef7f02);background-image:-ms-linear-gradient(top,#e8840a,#ef7f02);background-image:-o-linear-gradient(top,#e8840a,#ef7f02);background-image:linear-gradient(top,#e8840a,#ef7f02);filter:"progid: DXImageTransform.Microsoft.Gradient(startColorstr=#e8840a, endColorstr=#ef7f02)";-ms-filter:"progid: DXImageTransform.Microsoft.Gradient(startColorstr=#e8840a, endColorstr=#ef7f02)";box-shadow:inset 0 1px 1px #eaac3a;border:1px solid #d17301}div.sucuriscan-alert{position:relative;margin:0 0 20px}div.sucuriscan-alert>a.close{position:absolute;top:10px;right:10px;font-size:18px;font-weight:700;text-decoration:none}.sucuriscan-inline-alert,.sucuriscan-inline-alert-error,.sucuriscan-inline-alert-info,.sucuriscan-inline-alert-updated,.sucuriscan-inline-alert-warning{background:#fff;box-shadow:0 1px 1px 0 rgba(0,0,0,.1);padding:0;border-left:4px solid #ddd}.sucuriscan-inline-alert-error>p,.sucuriscan-inline-alert-info>p,.sucuriscan-inline-alert-updated>p,.sucuriscan-inline-alert-warning>p,.sucuriscan-inline-alert>p{margin:0;padding:8px 12px;border:1px solid #ddd;border-left:0}.sucuriscan-inline-alert,.sucuriscan-inline-alert-error,.sucuriscan-inline-alert-info,.sucuriscan-inline-alert-updated,.sucuriscan-inline-alert-warning{margin-bottom:10px}.postbox .inside .sucuriscan-inline-alert-error:last-child,.postbox .inside .sucuriscan-inline-alert-info:last-child,.postbox .inside .sucuriscan-inline-alert-updated:last-child,.postbox .inside .sucuriscan-inline-alert-warning:last-child,.postbox .inside .sucuriscan-inline-alert:last-child,.sucuriscan-tabs>ul li{margin-bottom:0}.sucuriscan-inline-alert-updated{border-left-color:#7ad03a}.sucuriscan-inline-alert-warning{border-left-color:#ffba00}.sucuriscan-inline-alert-error{border-left-color:#dd3d36}.sucuriscan-inline-alert-info{border-left-color:#2ea2cc}.sucuriscan-tabs>ul{margin:0}.sucuriscan-tabs>ul li,.sucuriscan-tabs>ul li>a{display:inline-block}.sucuriscan-tabs>ul li>a{background:#e5e5e5;font-size:13px;font-weight:700;color:#333;line-height:38px;text-decoration:none;padding:0 10px}.sucuriscan-tabs>ul li>a.sucuriscan-tab-active{background:#fff;border:1px solid #e1e1e1;border-bottom:0}.sucuriscan-tabs>ul li.sucuriscan-red-tab a{background:#ff8a83;color:#fff}.sucuriscan-tabs>ul li.sucuriscan-red-tab a.sucuriscan-tab-active{background:#dd3d36;border-color:#dd3d36}.sucuriscan-maincontent .sucuriscan-tab-containers>div>#poststuff,.sucuriscan-maincontent .sucuriscan-tab-containers>div>table,.sucuriscan-panelstuff{margin-top:0}.sucuriscan-getapi-div{background:#fff;margin:0 0 20px;border:1px solid #e5e5e5;border-radius:3px}.sucuriscan-getapi-div p{margin:0;padding:10px}.sucuriscan-getapi-form button.button-primary{width:100%;height:initial;line-height:30px;margin:0 0 -1px;padding:0;border-radius:0 0 3px 3px}.sucuriscan-malwarescan-message{margin-bottom:20px!important}.sucuriscan-loading{background:#fff;text-align:center;padding:30px 30px 15px;border:1px solid #ddd;border-radius:4px}.sucuriscan-loading h3,.sucuriscan-loading p{margin:0;padding:0}.sucuriscan-loading .title{font-size:28px;margin-bottom:10px}.sucuriscan-loading .description{font-size:16px}.sucuriscan-sitelogo{width:190px;height:100px;background:url(https://sitecheck.sucuri.net/images/sucuri-sprite.png) no-repeat;margin:0 auto}.sucuriscan-sitecheck-form{margin:20px 0 0}.sucuriscan-sitecheck-form .button.button-hero{padding:0 46px}.sucuriscan-loading .sucuriscan-sitecheck-disclaimer{text-align:justify;padding-top:20px;border-top:1px solid #ddd}.sucuriscan-auditlogs .sucuriscan-maxper-page,.sucuriscan-scanner-results .sucuriscan-malware-link{text-align:right}.sucuriscan-loading .sucuriscan-sitecheck-disclaimer p{font-size:10px}.sucuriscan-maincontent .sucuriscan-border{border:0;border-left:4px solid #ddd}.sucuriscan-maincontent .sucuriscan-border>.inside,.sucuriscan-maincontent .sucuriscan-border>h3{border-top:1px solid #e5e5e5;border-right:1px solid #e5e5e5}.sucuriscan-maincontent .sucuriscan-border>h3{border-bottom:0}.sucuriscan-maincontent .sucuriscan-border>.inside{margin-top:0!important;border-bottom:1px solid #ddd}.sucuriscan-maincontent .sucuriscan-border-good,.sucuriscan-maincontent .sucuriscan-border-success{border-left-color:#7ad03a}.sucuriscan-maincontent .sucuriscan-border-bad,.sucuriscan-maincontent .sucuriscan-border-danger{border-left-color:#dd3d36}.sucuriscan-maincontent .sucuriscan-border-info{border-left-color:#2ea2cc}.sucuriscan-maincontent .sucuriscan-cleanup-btn{margin:20px 0 0}.sucuriscan-scanner-results .sucuriscan-scanner-details tr:nth-child(even),.sucuriscan-scanner-results .sucuriscan-scanner-links tr:nth-child(even){background:#f5f5f5}.sucuriscan-scanner-results td.sucuriscan-border-bad{border-left-width:4px;border-left-style:solid}.sucuriscan-scanner-results .sucuriscan-malware-link a:hover{color:#fff}.sucuriscan-malware-payload{background:#f5f5f5;margin:-2px -15px -15px;padding:15px}.sucuriscan-maincontent .sucuriscan-auditlogs,.sucuriscan-maincontent .sucuriscan-corefiles,.sucuriscan-maincontent .sucuriscan-wordpress-outdated{margin-top:0;margin-bottom:20px}.sucuriscan-auditlogs .sucuriscan-list-as-table,.sucuriscan-maincontent .sucuriscan-auditlogs{margin-bottom:0}.sucuriscan-auditlogs .sucuriscan-pagination-loading{line-height:32px;color:#666}.sucuriscan-auditlogs .sucuriscan-label{display:inline-block;width:18px;text-transform:uppercase;line-height:13px;cursor:pointer;border-radius:50%}.sucuriscan-auditlogs .sucuriscan-auditlog-success,.sucuriscan-label-added{background:#5cb85c}.sucuriscan-auditlogs .sucuriscan-auditlog-debug{background:#c690ec}.sucuriscan-auditlogs .sucuriscan-auditlog-info{background:#5bc0de}.sucuriscan-auditlogs .sucuriscan-auditlog-notice{background:#428bca}.sucuriscan-auditlogs .sucuriscan-auditlog-warning,.sucuriscan-label-modified{background:#f0ad4e}.sucuriscan-auditlogs .sucuriscan-auditlog-error,.sucuriscan-label-removed{background:#f27d7d}.sucuriscan-auditlogs .sucuriscan-auditlog-critical{background:#000}.sucuriscan-maincontent .sucuriscan-audit-report{border-left-width:1px}.sucuriscan-audit-report .sucuriscan-report-row{margin-bottom:10px}.sucuriscan-audit-report .sucuriscan-report-row:last-child,.sucuriscan-maincontent .sucuriscan-corefiles{margin-bottom:0}.sucuriscan-audit-report .sucuriscan-report-chart{width:49%;border:1px solid #ddd}.sucuriscan-audit-report .sucuriscan-report-chart h4,.sucuriscan-audit-report .sucuriscan-report-chart h5{font-weight:400;text-align:center;margin:0}.sucuriscan-firewall-accesslog .sucuriscan-accesslog-label,.sucuriscan-request-summary tr td:first-child{font-weight:700}.sucuriscan-audit-report .sucuriscan-report-chart h4{font-size:18px;margin-top:10px}.sucuriscan-audit-report .sucuriscan-report-chart h5{font-size:12px;margin-top:5px}.sucuriscan-firewall-auditlogs .sucuriscan-denial-type,.sucuriscan-request-summary td{font-size:14px}.sucuriscan-maincontent .sucuriscan-audit-report .sucuriscan-inline-alert-info{margin-top:10px}.sucuriscan-status-type{display:inline-block;width:20px;background:#ddd;text-align:center;text-transform:uppercase;margin-right:10px;padding:0 3px;border:1px solid transparent;border-radius:3px}.sucuriscan-maincontent .sucuriscan-corefiles .sucuriscan-label{text-transform:capitalize}.sucuriscan-maincontent .sucuriscan-ignoredfiles{margin-top:0}.sucuriscan-maincontent .sucuriscan-modifiedfiles .sucuriscan-ellipsis{width:100px}.sucuriscan-maincontent .sucuriscan-firewall-apikey{margin-bottom:10px}.sucuriscan-firewall-settings .sucuriscan-list-as-table{margin-top:4px;margin-bottom:4px}.sucuriscan-firewall-auditlogs .thead-with-button .button{width:65px}.sucuriscan-firewall-auditlogs .thead-with-button .input-text,.sucuriscan-firewall-auditlogs .thead-with-button select{width:250px}.sucuriscan-firewall-auditlogs .sucuriscan-denial-type-date{font-style:italic;color:#999}.sucuriscan-firewall-auditlogs .sucuriscan-alert,.wrap .sucuriscan-firewall-auditlogs .error,.wrap .sucuriscan-firewall-auditlogs .updated{background:#eee;border:1px solid #ddd;border-left-width:4px;margin:10px}.sucuriscan-firewall-accesslog .sucuriscan-accesslog-origin img{margin-right:6px}.sucuriscan-firewall-accesslog .sucuriscan-accesslog-datetime,.sucuriscan-firewall-accesslog .sucuriscan-accesslog-origin,.sucuriscan-firewall-accesslog .sucuriscan-accesslog-referer,.sucuriscan-firewall-accesslog .sucuriscan-accesslog-request,.sucuriscan-firewall-accesslog .sucuriscan-accesslog-signature,.sucuriscan-firewall-accesslog .sucuriscan-accesslog-target,.sucuriscan-firewall-accesslog .sucuriscan-accesslog-useragent{display:block;padding-left:30px}.sucuriscan-firewall-accesslog .sucuriscan-accesslog-origin{padding-left:0}.sucuriscan-request-summary{margin:-3px -15px -15px}.sucuriscan-hstatus{position:relative;margin:0 -12px;padding:10px 12px;border:1px solid transparent}.sucuriscan-hstatus-0{background-color:#f2dede;color:#a94442;border-color:#ebccd1}.sucuriscan-hstatus-1{background-color:#dff0d8;color:#3c763d;border-color:#d6e9c6}.sucuriscan-hstatus-2{background-color:#dee4f2;color:#4263a9;border-color:#ccd0eb}.sucuriscan-hstatus .button-primary,.sucuriscan-hstatus .button-secondary{position:absolute;top:5px;right:5px}.sucuriscan-hardening-whitelist form{margin-top:15px}.sucuriscan-hardening-whitelist form label{line-height:29px;font-size:12px;background-color:#eee;padding:0 10px;display:inline-block;border:1px solid #ddd;border-right:0}.sucuriscan-hardening-whitelist form input[type=text]{margin:0;padding:5px}.sucuriscan-hardening-whitelist form select{height:initial;padding:4px;margin:0}.sucuriscan-hardening-whitelist form .button,.sucuriscan-hardening-whitelist form input[type=text],.sucuriscan-hardening-whitelist form select{margin-right:5px}.sucuriscan-maincontent .sucuriscan-table.sucuriscan-hardening-whitelist-table{margin-top:0}.sucuriscan-lastlogin-outof{font-style:italic;color:#999;margin-right:10px}.sucuriscan-admins-lastlogins .sucuriscan-ellipsis{width:170px}.sucuriscan-admins-lastlogins td{padding:4px 8px}.sucuriscan-pattern-search-inputbox{margin-top:12px}.sucuriscan-pattern-search-inputbox .input-text{width:84.7777%;line-height:30px;margin:0 6px 0 0}.sucuriscan-pattern-search-inputbox .input-button{width:14%;height:initial;line-height:35px}.sucuriscan-pattern-search .sucuriscan-cleanup-btn{margin-top:12px}.sucuriscan-pattern-search table label{color:#999}.sucuriscan-pattern-search .sucuriscan-grep-text em{color:#ea3838}.sucuriscan-updates .dashicons-before:before{margin-right:10px}.sucuriscan-updates .dashicons-admin-plugins{color:#32373c}.sucuriscan-updates .dashicons-admin-appearance{color:#d54e21}.sucuriscan-about ul{margin-left:20px}.sucuriscan-about ul li{list-style:outside}.sucuriscan-about li label{font-weight:700;vertical-align:initial}.sucuriscan-apikey-registered .sucuriscan-pull-right{width:400px}.sucuriscan-apikey-registered .sucuriscan-sitelogo{background-position:0 -17px;height:83px}.sucuriscan-setup-instructions .form-table{margin-top:15px}.sucuriscan-setup-instructions .form-table td{padding:0 0 12px}.sucuriscan-setup-instructions .form-table select{max-width:400px}.sucuriscan-pagination{display:inline-block;margin:0;padding:0;border-radius:4px}.sucuriscan-pagination>li{display:inline}.c3-tooltip td>span,.sucuriscan-maincontent .sucuriscan-settings form{display:inline-block}.sucuriscan-pagination>li>a,.sucuriscan-pagination>li>span{position:relative;background:#fff;color:#428bca;line-height:1.42857143;text-decoration:none;float:left;margin-left:-1px;padding:6px 12px;border:1px solid #ddd}.sucuriscan-pagination>li:first-child>a,.sucuriscan-pagination>li:first-child>span{margin-left:0;border-radius:4px 0 0 4px}.sucuriscan-pagination>li:last-child>a,.sucuriscan-pagination>li:last-child>span{border-radius:0 4px 4px 0}.sucuriscan-pagination>li>a.sucuriscan-pagination-active,.sucuriscan-pagination>li>a:hover{background:#0074a2;color:#fff}.sucuriscan_wpconfig_keys_updated textarea{width:100%;height:250px;background:#f5f5f5;font-size:12px;resize:vertical;margin:20px 0 0}.sucuriscan-maincontent .sucuriscan-last-logins,.sucuriscan-maincontent .sucuriscan-settings{margin-top:0}.sucuriscan-maincontent .sucuriscan-last-logins .sucuriscan-ellipsis{width:150px;line-height:inherit}.sucuriscan-maincontent .sucuriscan-full-textarea{width:100%;height:400px;line-height:normal;resize:vertical;padding:10px}.sucuriscan-maincontent .sucuriscan-settings .input-text,.sucuriscan-maincontent .sucuriscan-settings select{width:220px;margin:0}.sucuriscan-maincontent .sucuriscan-infosys-htaccess .inside .sucuriscan-inline-alert-updated,.sucuriscan-maincontent .sucuriscan-monitor-fpath{margin-bottom:10px}.sucuriscan-maincontent .sucuriscan-recipient-form{margin-top:10px}.sucuriscan-maincontent .sucuriscan-settings-ignorescanning,.sucuriscan-maincontent .sucuriscan-settings-notifications,.sucuriscan-maincontent .sucuriscan-settings-trustip,.sucuriscan-maincontent .sucuriscan-wpcron-list{margin-top:0}.sucuriscan-maincontent .sucuriscan-settings-notifications .dashicons-before:before{margin-right:5px}.sucuriscan-maincontent .sucuriscan-infosys-htaccess .inside{border-bottom:1px solid #ddd!important}.sucuriscan-maincontent .sucuriscan-errorlogs .inside .sucuriscan-inline-alert-error{margin-top:10px}.sucuriscan-maincontent .sucuriscan-subject-formats{margin:0}.sucuriscan-maincontent .sucuriscan-subject-formats input[type=text]{width:40%;margin-left:10px}.sucuriscan-flag{width:16px;height:11px;background:url(../images/flags.sprite.png) no-repeat}.sucuriscan-flag-ad{background-position:-16px 0}.sucuriscan-flag-ae{background-position:-32px 0}.sucuriscan-flag-af{background-position:-48px 0}.sucuriscan-flag-ag{background-position:-64px 0}.sucuriscan-flag-ai{background-position:-80px 0}.sucuriscan-flag-al{background-position:-96px 0}.sucuriscan-flag-am{background-position:-112px 0}.sucuriscan-flag-an{background-position:-128px 0}.sucuriscan-flag-ao{background-position:-144px 0}.sucuriscan-flag-ar{background-position:-160px 0}.sucuriscan-flag-as{background-position:-176px 0}.sucuriscan-flag-at{background-position:-192px 0}.sucuriscan-flag-au{background-position:-208px 0}.sucuriscan-flag-aw{background-position:-224px 0}.sucuriscan-flag-az{background-position:-240px 0}.sucuriscan-flag-ba{background-position:0 -11px}.sucuriscan-flag-bb{background-position:-16px -11px}.sucuriscan-flag-bd{background-position:-32px -11px}.sucuriscan-flag-be{background-position:-48px -11px}.sucuriscan-flag-bf{background-position:-64px -11px}.sucuriscan-flag-bg{background-position:-80px -11px}.sucuriscan-flag-bh{background-position:-96px -11px}.sucuriscan-flag-bi{background-position:-112px -11px}.sucuriscan-flag-bj{background-position:-128px -11px}.sucuriscan-flag-bm{background-position:-144px -11px}.sucuriscan-flag-bn{background-position:-160px -11px}.sucuriscan-flag-bo{background-position:-176px -11px}.sucuriscan-flag-br{background-position:-192px -11px}.sucuriscan-flag-bs{background-position:-208px -11px}.sucuriscan-flag-bt{background-position:-224px -11px}.sucuriscan-flag-bv{background-position:-240px -11px}.sucuriscan-flag-bw{background-position:0 -22px}.sucuriscan-flag-by{background-position:-16px -22px}.sucuriscan-flag-bz{background-position:-32px -22px}.sucuriscan-flag-ca{background-position:-48px -22px}.sucuriscan-flag-catalonia{background-position:-64px -22px}.sucuriscan-flag-cd{background-position:-80px -22px}.sucuriscan-flag-cf{background-position:-96px -22px}.sucuriscan-flag-cg{background-position:-112px -22px}.sucuriscan-flag-ch{background-position:-128px -22px}.sucuriscan-flag-ci{background-position:-144px -22px}.sucuriscan-flag-ck{background-position:-160px -22px}.sucuriscan-flag-cl{background-position:-176px -22px}.sucuriscan-flag-cm{background-position:-192px -22px}.sucuriscan-flag-cn{background-position:-208px -22px}.sucuriscan-flag-co{background-position:-224px -22px}.sucuriscan-flag-cr{background-position:-240px -22px}.sucuriscan-flag-cu{background-position:0 -33px}.sucuriscan-flag-cv{background-position:-16px -33px}.sucuriscan-flag-cw{background-position:-32px -33px}.sucuriscan-flag-cy{background-position:-48px -33px}.sucuriscan-flag-cz{background-position:-64px -33px}.sucuriscan-flag-de{background-position:-80px -33px}.sucuriscan-flag-dj{background-position:-96px -33px}.sucuriscan-flag-dk{background-position:-112px -33px}.sucuriscan-flag-dm{background-position:-128px -33px}.sucuriscan-flag-do{background-position:-144px -33px}.sucuriscan-flag-dz{background-position:-160px -33px}.sucuriscan-flag-ec{background-position:-176px -33px}.sucuriscan-flag-ee{background-position:-192px -33px}.sucuriscan-flag-eg{background-position:-208px -33px}.sucuriscan-flag-eh{background-position:-224px -33px}.sucuriscan-flag-england{background-position:-240px -33px}.sucuriscan-flag-er{background-position:0 -44px}.sucuriscan-flag-es{background-position:-16px -44px}.sucuriscan-flag-et{background-position:-32px -44px}.sucuriscan-flag-eu{background-position:-48px -44px}.sucuriscan-flag-fi{background-position:-64px -44px}.sucuriscan-flag-fj{background-position:-80px -44px}.sucuriscan-flag-fk{background-position:-96px -44px}.sucuriscan-flag-fm{background-position:-112px -44px}.sucuriscan-flag-fo{background-position:-128px -44px}.sucuriscan-flag-fr{background-position:-144px -44px}.sucuriscan-flag-ga{background-position:-160px -44px}.sucuriscan-flag-gb{background-position:-176px -44px}.sucuriscan-flag-gd{background-position:-192px -44px}.sucuriscan-flag-ge{background-position:-208px -44px}.sucuriscan-flag-gf{background-position:-224px -44px}.sucuriscan-flag-gg{background-position:-240px -44px}.sucuriscan-flag-gh{background-position:0 -55px}.sucuriscan-flag-gi{background-position:-16px -55px}.sucuriscan-flag-gl{background-position:-32px -55px}.sucuriscan-flag-gm{background-position:-48px -55px}.sucuriscan-flag-gn{background-position:-64px -55px}.sucuriscan-flag-gp{background-position:-80px -55px}.sucuriscan-flag-gq{background-position:-96px -55px}.sucuriscan-flag-gr{background-position:-112px -55px}.sucuriscan-flag-gs{background-position:-128px -55px}.sucuriscan-flag-gt{background-position:-144px -55px}.sucuriscan-flag-gu{background-position:-160px -55px}.sucuriscan-flag-gw{background-position:-176px -55px}.sucuriscan-flag-gy{background-position:-192px -55px}.sucuriscan-flag-hk{background-position:-208px -55px}.sucuriscan-flag-hm{background-position:-224px -55px}.sucuriscan-flag-hn{background-position:-240px -55px}.sucuriscan-flag-hr{background-position:0 -66px}.sucuriscan-flag-ht{background-position:-16px -66px}.sucuriscan-flag-hu{background-position:-32px -66px}.sucuriscan-flag-ic{background-position:-48px -66px}.sucuriscan-flag-id{background-position:-64px -66px}.sucuriscan-flag-ie{background-position:-80px -66px}.sucuriscan-flag-il{background-position:-96px -66px}.sucuriscan-flag-im{background-position:-112px -66px}.sucuriscan-flag-in{background-position:-128px -66px}.sucuriscan-flag-io{background-position:-144px -66px}.sucuriscan-flag-iq{background-position:-160px -66px}.sucuriscan-flag-ir{background-position:-176px -66px}.sucuriscan-flag-is{background-position:-192px -66px}.sucuriscan-flag-it{background-position:-208px -66px}.sucuriscan-flag-je{background-position:-224px -66px}.sucuriscan-flag-jm{background-position:-240px -66px}.sucuriscan-flag-jo{background-position:0 -77px}.sucuriscan-flag-jp{background-position:-16px -77px}.sucuriscan-flag-ke{background-position:-32px -77px}.sucuriscan-flag-kg{background-position:-48px -77px}.sucuriscan-flag-kh{background-position:-64px -77px}.sucuriscan-flag-ki{background-position:-80px -77px}.sucuriscan-flag-km{background-position:-96px -77px}.sucuriscan-flag-kn{background-position:-112px -77px}.sucuriscan-flag-kp{background-position:-128px -77px}.sucuriscan-flag-kr{background-position:-144px -77px}.sucuriscan-flag-kurdistan{background-position:-160px -77px}.sucuriscan-flag-kw{background-position:-176px -77px}.sucuriscan-flag-ky{background-position:-192px -77px}.sucuriscan-flag-kz{background-position:-208px -77px}.sucuriscan-flag-la{background-position:-224px -77px}.sucuriscan-flag-lb{background-position:-240px -77px}.sucuriscan-flag-lc{background-position:0 -88px}.sucuriscan-flag-li{background-position:-16px -88px}.sucuriscan-flag-lk{background-position:-32px -88px}.sucuriscan-flag-lr{background-position:-48px -88px}.sucuriscan-flag-ls{background-position:-64px -88px}.sucuriscan-flag-lt{background-position:-80px -88px}.sucuriscan-flag-lu{background-position:-96px -88px}.sucuriscan-flag-lv{background-position:-112px -88px}.sucuriscan-flag-ly{background-position:-128px -88px}.sucuriscan-flag-ma{background-position:-144px -88px}.sucuriscan-flag-mc{background-position:-160px -88px}.sucuriscan-flag-md{background-position:-176px -88px}.sucuriscan-flag-me{background-position:-192px -88px}.sucuriscan-flag-mg{background-position:-208px -88px}.sucuriscan-flag-mh{background-position:-224px -88px}.sucuriscan-flag-mk{background-position:-240px -88px}.sucuriscan-flag-ml{background-position:0 -99px}.sucuriscan-flag-mm{background-position:-16px -99px}.sucuriscan-flag-mn{background-position:-32px -99px}.sucuriscan-flag-mo{background-position:-48px -99px}.sucuriscan-flag-mp{background-position:-64px -99px}.sucuriscan-flag-mq{background-position:-80px -99px}.sucuriscan-flag-mr{background-position:-96px -99px}.sucuriscan-flag-ms{background-position:-112px -99px}.sucuriscan-flag-mt{background-position:-128px -99px}.sucuriscan-flag-mu{background-position:-144px -99px}.sucuriscan-flag-mv{background-position:-160px -99px}.sucuriscan-flag-mw{background-position:-176px -99px}.sucuriscan-flag-mx{background-position:-192px -99px}.sucuriscan-flag-my{background-position:-208px -99px}.sucuriscan-flag-mz{background-position:-224px -99px}.sucuriscan-flag-na{background-position:-240px -99px}.sucuriscan-flag-nc{background-position:0 -110px}.sucuriscan-flag-ne{background-position:-16px -110px}.sucuriscan-flag-nf{background-position:-32px -110px}.sucuriscan-flag-ng{background-position:-48px -110px}.sucuriscan-flag-ni{background-position:-64px -110px}.sucuriscan-flag-nl{background-position:-80px -110px}.sucuriscan-flag-no{background-position:-96px -110px}.sucuriscan-flag-np{background-position:-112px -110px}.sucuriscan-flag-nr{background-position:-128px -110px}.sucuriscan-flag-nu{background-position:-144px -110px}.sucuriscan-flag-nz{background-position:-160px -110px}.sucuriscan-flag-om{background-position:-176px -110px}.sucuriscan-flag-pa{background-position:-192px -110px}.sucuriscan-flag-pe{background-position:-208px -110px}.sucuriscan-flag-pf{background-position:-224px -110px}.sucuriscan-flag-pg{background-position:-240px -110px}.sucuriscan-flag-ph{background-position:0 -121px}.sucuriscan-flag-pk{background-position:-16px -121px}.sucuriscan-flag-pl{background-position:-32px -121px}.sucuriscan-flag-pm{background-position:-48px -121px}.sucuriscan-flag-pn{background-position:-64px -121px}.sucuriscan-flag-pr{background-position:-80px -121px}.sucuriscan-flag-ps{background-position:-96px -121px}.sucuriscan-flag-pt{background-position:-112px -121px}.sucuriscan-flag-pw{background-position:-128px -121px}.sucuriscan-flag-py{background-position:-144px -121px}.sucuriscan-flag-qa{background-position:-160px -121px}.sucuriscan-flag-re{background-position:-176px -121px}.sucuriscan-flag-ro{background-position:-192px -121px}.sucuriscan-flag-rs{background-position:-208px -121px}.sucuriscan-flag-ru{background-position:-224px -121px}.sucuriscan-flag-rw{background-position:-240px -121px}.sucuriscan-flag-sa{background-position:0 -132px}.sucuriscan-flag-sb{background-position:-16px -132px}.sucuriscan-flag-sc{background-position:-32px -132px}.sucuriscan-flag-scotland{background-position:-48px -132px}.sucuriscan-flag-sd{background-position:-64px -132px}.sucuriscan-flag-se{background-position:-80px -132px}.sucuriscan-flag-sg{background-position:-96px -132px}.sucuriscan-flag-sh{background-position:-112px -132px}.sucuriscan-flag-si{background-position:-128px -132px}.sucuriscan-flag-sk{background-position:-144px -132px}.sucuriscan-flag-sl{background-position:-160px -132px}.sucuriscan-flag-sm{background-position:-176px -132px}.sucuriscan-flag-sn{background-position:-192px -132px}.sucuriscan-flag-so{background-position:-208px -132px}.sucuriscan-flag-somaliland{background-position:-224px -132px}.sucuriscan-flag-sr{background-position:-240px -132px}.sucuriscan-flag-ss{background-position:0 -143px}.sucuriscan-flag-st{background-position:-16px -143px}.sucuriscan-flag-sv{background-position:-32px -143px}.sucuriscan-flag-sx{background-position:-48px -143px}.sucuriscan-flag-sy{background-position:-64px -143px}.sucuriscan-flag-sz{background-position:-80px -143px}.sucuriscan-flag-tc{background-position:-96px -143px}.sucuriscan-flag-td{background-position:-112px -143px}.sucuriscan-flag-tf{background-position:-128px -143px}.sucuriscan-flag-tg{background-position:-144px -143px}.sucuriscan-flag-th{background-position:-160px -143px}.sucuriscan-flag-tj{background-position:-176px -143px}.sucuriscan-flag-tk{background-position:-192px -143px}.sucuriscan-flag-tl{background-position:-208px -143px}.sucuriscan-flag-tm{background-position:-224px -143px}.sucuriscan-flag-tn{background-position:-240px -143px}.sucuriscan-flag-to{background-position:0 -154px}.sucuriscan-flag-tr{background-position:-16px -154px}.sucuriscan-flag-tt{background-position:-32px -154px}.sucuriscan-flag-tv{background-position:-48px -154px}.sucuriscan-flag-tw{background-position:-64px -154px}.sucuriscan-flag-tz{background-position:-80px -154px}.sucuriscan-flag-ua{background-position:-96px -154px}.sucuriscan-flag-ug{background-position:-112px -154px}.sucuriscan-flag-um{background-position:-128px -154px}.sucuriscan-flag-us{background-position:-144px -154px}.sucuriscan-flag-uy{background-position:-160px -154px}.sucuriscan-flag-uz{background-position:-176px -154px}.sucuriscan-flag-va{background-position:-192px -154px}.sucuriscan-flag-vc{background-position:-208px -154px}.sucuriscan-flag-ve{background-position:-224px -154px}.sucuriscan-flag-vg{background-position:-240px -154px}.sucuriscan-flag-vi{background-position:0 -165px}.sucuriscan-flag-vn{background-position:-16px -165px}.sucuriscan-flag-vu{background-position:-32px -165px}.sucuriscan-flag-wales{background-position:-48px -165px}.sucuriscan-flag-wf{background-position:-64px -165px}.sucuriscan-flag-ws{background-position:-80px -165px}.sucuriscan-flag-ye{background-position:-96px -165px}.sucuriscan-flag-yt{background-position:-112px -165px}.sucuriscan-flag-za{background-position:-128px -165px}.sucuriscan-flag-zanzibar{background-position:-144px -165px}.sucuriscan-flag-zm{background-position:-160px -165px}.sucuriscan-flag-zw{background-position:-176px -165px}.c3 svg{font:10px sans-serif}.c3 line,.c3 path{fill:none;stroke:#000}.c3 text{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.c3-bars path,.c3-event-rect,.c3-legend-item-tile,.c3-xgrid-focus,.c3-ygrid{shape-rendering:crispEdges}.c3-chart-arc path{stroke:#fff}.c3-chart-arc text{fill:#fff;font-size:13px}.c3-grid line{stroke:#aaa}.c3-grid text{fill:#aaa}.c3-xgrid,.c3-ygrid{stroke-dasharray:3 3}.c3-text.c3-empty{fill:gray;font-size:2em}.c3-line{stroke-width:1px}.c3-circle._expanded_{stroke-width:1px;stroke:#fff}.c3-selected-circle{fill:#fff;stroke-width:2px}.c3-bar{stroke-width:0}.c3-bar._expanded_{fill-opacity:.75}.c3-chart-arcs-title{dominant-baseline:middle;font-size:1.3em}.c3-target.c3-focused{opacity:1}.c3-target.c3-focused path.c3-line,.c3-target.c3-focused path.c3-step{stroke-width:2px}.c3-target.c3-defocused{opacity:.3!important}.c3-region{fill:#4682b4;fill-opacity:.1}.c3-brush .extent{fill-opacity:.1}.c3-legend-item{font-size:12px}.c3-legend-item-hidden{opacity:.15}.c3-legend-background{opacity:.75;fill:#fff;stroke:#d3d3d3;stroke-width:1}.c3-tooltip-container{z-index:10}.c3-tooltip{border-collapse:collapse;border-spacing:0;background-color:#fff;empty-cells:show;-webkit-box-shadow:7px 7px 12px -9px #777;-moz-box-shadow:7px 7px 12px -9px #777;box-shadow:7px 7px 12px -9px #777}.c3-tooltip tr{border:1px solid #CCC}.c3-tooltip th{background-color:#aaa;font-size:14px;padding:2px 5px;text-align:left;color:#FFF}.c3-tooltip td{font-size:13px;padding:3px 6px;background-color:#fff;border-left:1px dotted #999}.c3-tooltip td>span{width:10px;height:10px;margin-right:6px}.c3-tooltip td.value{text-align:right}.c3-area{stroke-width:0;opacity:.2}.c3-chart-arcs .c3-chart-arcs-background{fill:#e0e0e0;stroke:none}.c3-chart-arcs .c3-chart-arcs-gauge-unit{fill:#000;font-size:16px}.c3-chart-arcs .c3-chart-arcs-gauge-max,.c3-chart-arcs .c3-chart-arcs-gauge-min{fill:#777}.c3-chart-arc .c3-gauge-value{fill:#000}@media (max-width:510px){.wp-core-ui .button.sucuriscan-review-hero,.wp-core-ui .sucuriscan-review-hero{display:none}}@media (max-width:620px){.sucuriscan-tabs>ul li,.sucuriscan-tabs>ul li>a{display:block}.sucuriscan-getapi-form button.button-primary{line-height:40px}}@media (max-width:768px){.sucuriscan-wrap .sucuriscan-footer .sucuriscan-help,.sucuriscan-wrap .sucuriscan-footer .sucuriscan-logo,.sucuriscan-wrap .sucuriscan-leftside,.sucuriscan-wrap .sucuriscan-sidebar{float:none}.sucuriscan-wrap .sucuriscan-leftside,.sucuriscan-wrap .sucuriscan-sidebar{width:100%}.sucuriscan-wrap .sucuriscan-sidebar{margin-top:20px}.sucuriscan-wrap .sucuriscan-footer .sucuriscan-logo{display:table;margin:0 auto}}@media (max-width:920px){.sucuriscan-wrap .sucuriscan-navbar{padding-left:0;padding-right:0}.sucuriscan-wrap .sucuriscan-navbar .nav-tab{display:block;line-height:20px;margin:0}.sucuriscan-wrap .sucuriscan-navbar .nav-tab:last-child{border-bottom:1px solid #ccc}}@media (max-width:1170px){.sucuriscan-modal{width:76%;left:10%}}@media (min-width:600px) and (max-width:1060px){.sucuriscan-wrap .sucuriscan-leftside,.sucuriscan-wrap .sucuriscan-sidebar{width:initial;float:none}.sucuriscan-wrap .sucuriscan-sidebar{margin-top:20px}.sucuriscan-wrap .sucuriscan-sidebar>div{width:49%;float:left;min-height:339px}.sucuriscan-wrap .sucuriscan-sidebar .sucuriscan-ad-antivirus{margin-left:2%}.sucuriscan-wrap .sucuriscan-scanner-video{height:450px}}.sucuriscan-maincontent #poststuff,.sucuriscan-panelstuff{min-width:initial;padding-top:0}.sucuriscan-maincontent .widefat tbody th.check-column{padding:6px 0 3px}.sucuriscan-maincontent .hardening-box .primary-secondary{margin:0 0 0 10px}.sucuriscan-maincontent hr{border:none;border-top:1px solid #999}.sucuriscan-maincontent table td>table{background:#fff}.sucuriscan-maincontent table td>table th{padding:4px 8px}
|
inc/js/sucuri-scanner.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
function sucuriscan_alert_close(
|
1 |
+
function sucuriscan_alert_close(c){var b=document.getElementById("sucuriscan-alert-"+c);b.parentNode.removeChild(b)}jQuery(document).ready(function(f){f(".sucuriscan-modal-btn").on("click",function(a){a.preventDefault();var b=f(this).data("modalid");f("div."+b).removeClass("sucuriscan-hidden")});f(".sucuriscan-overlay, .sucuriscan-modal-close").on("click",function(a){a.preventDefault();f(".sucuriscan-overlay").addClass("sucuriscan-hidden");f(".sucuriscan-modal").addClass("sucuriscan-hidden")});if(f(".sucuriscan-tabs").length){var g="sucuriscan-hidden";var c="sucuriscan-tab-active";var e=location.href.split("#")[1];f(".sucuriscan-tabs > ul a").on("click",function(h){h.preventDefault();var a=f(this);var k=a.data("tabname");var j=f(".sucuriscan-tab-containers > #sucuriscan-"+k);if(j.length){var d=location.href.replace(location.hash,"");var b=d+"#"+k;window.history.pushState({},document.title,b);f(".sucuriscan-tabs > ul a").removeClass(c);f(".sucuriscan-tab-containers > div").addClass(g);a.addClass(c);j.removeClass(g)}});f(".sucuriscan-tab-containers > div").addClass(g);if(e!==undefined){f(".sucuriscan-tabs > ul li a").each(function(b,a){if(f(a).data("tabname")===e){f(a).trigger("click")}})}else{f(".sucuriscan-tabs > ul li:first-child a").trigger("click")}}f("body").on("click",".sucuriscan-reveal",function(a){a.preventDefault();var b=f(this).attr("data-target");f(".sucuriscan-"+b).removeClass("sucuriscan-hidden")});f("body").on("click",".sucuriscan-corefiles .manage-column :checkbox",function(){f(".sucuriscan-corefiles tbody :checkbox").each(function(b,a){var d=f(a).is(":checked");f(a).attr("checked",!d)})})});
|
inc/tpl/bsidebar.html.tpl
CHANGED
@@ -58,10 +58,13 @@
|
|
58 |
<a href="https://wordpress.org/support/plugin/sucuri-scanner" target="_blank"
|
59 |
class="button button-primary sucuriscan-supportbtn">Visit Support Forum</a>
|
60 |
|
61 |
-
<
|
62 |
-
<
|
63 |
-
|
64 |
-
<
|
65 |
-
|
|
|
|
|
|
|
66 |
|
67 |
</div>
|
58 |
<a href="https://wordpress.org/support/plugin/sucuri-scanner" target="_blank"
|
59 |
class="button button-primary sucuriscan-supportbtn">Visit Support Forum</a>
|
60 |
|
61 |
+
<div class="sucuriscan-hide-ads">
|
62 |
+
<button class="button-link sucuriscan-reveal"
|
63 |
+
data-target="hide-ads-instructions">Hide this column</button>
|
64 |
+
<div class="sucuriscan-hidden sucuriscan-hide-ads-instructions">
|
65 |
+
Add this to your wp-config.php file:<br>
|
66 |
+
<code>define('SUCURISCAN_HIDE_ADS', true);</code>
|
67 |
+
</div>
|
68 |
+
</div>
|
69 |
|
70 |
</div>
|
inc/tpl/corefiles.html.tpl
CHANGED
@@ -12,6 +12,12 @@
|
|
12 |
</p>
|
13 |
</div>
|
14 |
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
<div class="sucuriscan-inline-alert-error sucuriscan-%%SUCURI.CoreFiles.FailureVisibility%%">
|
16 |
<p>
|
17 |
Error retrieving the <a href="%%SUCURI.CoreFiles.RemoteChecksumsURL%%" target="_blank">
|
12 |
</p>
|
13 |
</div>
|
14 |
|
15 |
+
<div class="sucuriscan-inline-alert-error sucuriscan-%%SUCURI.CoreFiles.DisabledVisibility%%">
|
16 |
+
<p>
|
17 |
+
The file scanner to check the integrity of the project is disabled.
|
18 |
+
</p>
|
19 |
+
</div>
|
20 |
+
|
21 |
<div class="sucuriscan-inline-alert-error sucuriscan-%%SUCURI.CoreFiles.FailureVisibility%%">
|
22 |
<p>
|
23 |
Error retrieving the <a href="%%SUCURI.CoreFiles.RemoteChecksumsURL%%" target="_blank">
|
inc/tpl/firewall-auditlogs.html.tpl
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
|
2 |
-
<div
|
3 |
<div class="postbox">
|
4 |
<h3>Firewall Audit Logs</h3>
|
5 |
|
1 |
|
2 |
+
<div class="sucuriscan-panelstuff">
|
3 |
<div class="postbox">
|
4 |
<h3>Firewall Audit Logs</h3>
|
5 |
|
inc/tpl/firewall-clearcache.html.tpl
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
|
2 |
-
<div
|
3 |
<div class="postbox">
|
4 |
<h3>Clear Cache</h3>
|
5 |
|
1 |
|
2 |
+
<div class="sucuriscan-panelstuff">
|
3 |
<div class="postbox">
|
4 |
<h3>Clear Cache</h3>
|
5 |
|
inc/tpl/firewall-settings.html.tpl
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
|
2 |
-
<div
|
3 |
<div class="postbox">
|
4 |
<h3>Firewall Settings</h3>
|
5 |
|
1 |
|
2 |
+
<div class="sucuriscan-panelstuff">
|
3 |
<div class="postbox">
|
4 |
<h3>Firewall Settings</h3>
|
5 |
|
inc/tpl/hardening-panel.html.tpl
CHANGED
@@ -1,12 +1,14 @@
|
|
1 |
|
2 |
-
<div
|
3 |
<form method="post">
|
4 |
<input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
|
5 |
<input type="hidden" name="sucuriscan_run_hardening" value="1" />
|
6 |
|
|
|
|
|
7 |
%%%SUCURI.Hardening.Version%%%
|
8 |
|
9 |
-
%%%SUCURI.Hardening.
|
10 |
|
11 |
%%%SUCURI.Hardening.RemoveGenerator%%%
|
12 |
|
@@ -18,8 +20,6 @@
|
|
18 |
|
19 |
%%%SUCURI.Hardening.WpIncludes%%%
|
20 |
|
21 |
-
%%%SUCURI.Hardening.PhpVersion%%%
|
22 |
-
|
23 |
%%%SUCURI.Hardening.SecretKeys%%%
|
24 |
|
25 |
%%%SUCURI.Hardening.Readme%%%
|
1 |
|
2 |
+
<div class="sucuriscan-panelstuff sucuriscan-hardening-boxes">
|
3 |
<form method="post">
|
4 |
<input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
|
5 |
<input type="hidden" name="sucuriscan_run_hardening" value="1" />
|
6 |
|
7 |
+
%%%SUCURI.Hardening.CloudProxy%%%
|
8 |
+
|
9 |
%%%SUCURI.Hardening.Version%%%
|
10 |
|
11 |
+
%%%SUCURI.Hardening.PhpVersion%%%
|
12 |
|
13 |
%%%SUCURI.Hardening.RemoveGenerator%%%
|
14 |
|
20 |
|
21 |
%%%SUCURI.Hardening.WpIncludes%%%
|
22 |
|
|
|
|
|
23 |
%%%SUCURI.Hardening.SecretKeys%%%
|
24 |
|
25 |
%%%SUCURI.Hardening.Readme%%%
|
inc/tpl/hardening-whitelist.html.tpl
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
|
2 |
-
<div
|
3 |
<div class="postbox sucuriscan-border sucuriscan-table-description">
|
4 |
<h3>Whitelist Blocked PHP Files</h3>
|
5 |
|
1 |
|
2 |
+
<div class="sucuriscan-panelstuff sucuriscan-hardening-whitelist">
|
3 |
<div class="postbox sucuriscan-border sucuriscan-table-description">
|
4 |
<h3>Whitelist Blocked PHP Files</h3>
|
5 |
|
inc/tpl/hardening.html.tpl
CHANGED
@@ -1,8 +1,24 @@
|
|
1 |
|
2 |
<div class="sucuriscan-tabs">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
<ul>
|
4 |
<li>
|
5 |
-
<a href="#hardening" data-tabname="hardening">
|
|
|
|
|
|
|
6 |
</li>
|
7 |
<li>
|
8 |
<a href="#whitelist" data-tabname="whitelist">Whitelist Blocked PHP Files</a>
|
1 |
|
2 |
<div class="sucuriscan-tabs">
|
3 |
+
<script type="text/javascript">
|
4 |
+
jQuery(document).ready(function ($) {
|
5 |
+
var total = $('.sucuriscan-hardening-boxes .postbox').length;
|
6 |
+
var applied = $('.sucuriscan-hardening-boxes .postbox .sucuriscan-hstatus-1').length;
|
7 |
+
|
8 |
+
$('#sucuriscan-hardening-stats').html(
|
9 |
+
'({{APPLIED}}/{{TOTAL}})'
|
10 |
+
.replace('{{TOTAL}}', total)
|
11 |
+
.replace('{{APPLIED}}', applied)
|
12 |
+
);
|
13 |
+
});
|
14 |
+
</script>
|
15 |
+
|
16 |
<ul>
|
17 |
<li>
|
18 |
+
<a href="#hardening" data-tabname="hardening">
|
19 |
+
<span>Hardening Options</span>
|
20 |
+
<em id="sucuriscan-hardening-stats">(Loading...)</em>
|
21 |
+
</a>
|
22 |
</li>
|
23 |
<li>
|
24 |
<a href="#whitelist" data-tabname="whitelist">Whitelist Blocked PHP Files</a>
|
inc/tpl/hardening.snippet.tpl
CHANGED
@@ -5,7 +5,7 @@
|
|
5 |
<div class="inside">
|
6 |
%%%SUCURI.Hardening.Description%%%
|
7 |
|
8 |
-
<div class="sucuriscan-hstatus sucuriscan-hstatus-%%SUCURI.Hardening.Status%%">
|
9 |
<input type="submit" name="%%SUCURI.Hardening.FieldName%%"
|
10 |
value="%%SUCURI.Hardening.FieldValue%%"
|
11 |
%%SUCURI.Hardening.FieldAttributes%%
|
5 |
<div class="inside">
|
6 |
%%%SUCURI.Hardening.Description%%%
|
7 |
|
8 |
+
<div class="sucuriscan-hstatus sucuriscan-hstatus-%%SUCURI.Hardening.Status%% sucuriscan-%%SUCURI.Hardening.StatusVisibility%%">
|
9 |
<input type="submit" name="%%SUCURI.Hardening.FieldName%%"
|
10 |
value="%%SUCURI.Hardening.FieldValue%%"
|
11 |
%%SUCURI.Hardening.FieldAttributes%%
|
inc/tpl/infosys-cronjobs.html.tpl
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
|
2 |
-
<div
|
3 |
-
<div class="postbox sucuriscan-border sucuriscan-table-description
|
4 |
<h3>Scheduled Tasks (%%SUCURI.Cronjobs.Total%% tasks)</h3>
|
5 |
|
6 |
<div class="inside">
|
@@ -20,34 +20,30 @@
|
|
20 |
required by the site to work correctly.
|
21 |
</p>
|
22 |
</div>
|
23 |
-
</div>
|
24 |
-
</div>
|
25 |
-
</div>
|
26 |
-
|
27 |
-
<form action="%%SUCURI.URL.Infosys%%#wordpress-cronjobs" method="post">
|
28 |
-
<input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
|
29 |
-
|
30 |
-
<table class="wp-list-table widefat sucuriscan-table sucuriscan-wpcron-list">
|
31 |
-
<thead>
|
32 |
-
<tr>
|
33 |
-
<th class="manage-column column-cb check-column">
|
34 |
-
<label class="screen-reader-text" for="cb-select-all-1">Select All</label>
|
35 |
-
<input id="cb-select-all-1" type="checkbox">
|
36 |
-
</th>
|
37 |
-
<th>Task</th>
|
38 |
-
<th>Schedule</th>
|
39 |
-
<th>Next due</th>
|
40 |
-
<th>Arguments</th>
|
41 |
-
</tr>
|
42 |
-
</thead>
|
43 |
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
<label>
|
52 |
<select name="sucuriscan_cronjob_action">
|
53 |
<option value="">Choose action</option>
|
@@ -59,9 +55,8 @@
|
|
59 |
</select>
|
60 |
</label>
|
61 |
<button type="submit" class="button button-primary">Send action</button>
|
62 |
-
</
|
63 |
-
</
|
64 |
-
</
|
65 |
-
</
|
66 |
-
|
67 |
-
</form>
|
1 |
|
2 |
+
<div class="sucuriscan-panelstuff">
|
3 |
+
<div class="postbox sucuriscan-border sucuriscan-table-description">
|
4 |
<h3>Scheduled Tasks (%%SUCURI.Cronjobs.Total%% tasks)</h3>
|
5 |
|
6 |
<div class="inside">
|
20 |
required by the site to work correctly.
|
21 |
</p>
|
22 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
|
24 |
+
<form action="%%SUCURI.URL.Infosys%%#wordpress-cronjobs" method="post">
|
25 |
+
<input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
|
26 |
+
|
27 |
+
<table class="wp-list-table widefat sucuriscan-table sucuriscan-wpcron-list">
|
28 |
+
<thead>
|
29 |
+
<tr>
|
30 |
+
<th class="manage-column column-cb check-column">
|
31 |
+
<label class="screen-reader-text" for="cb-select-all-1">Select All</label>
|
32 |
+
<input id="cb-select-all-1" type="checkbox">
|
33 |
+
</th>
|
34 |
+
<th>Task</th>
|
35 |
+
<th>Schedule</th>
|
36 |
+
<th>Next due</th>
|
37 |
+
<th>Arguments</th>
|
38 |
+
</tr>
|
39 |
+
</thead>
|
40 |
+
|
41 |
+
<tbody>
|
42 |
+
%%%SUCURI.Cronjobs.List%%%
|
43 |
+
</tbody>
|
44 |
+
</table>
|
45 |
+
|
46 |
+
<div class="sucuriscan-recipient-form">
|
47 |
<label>
|
48 |
<select name="sucuriscan_cronjob_action">
|
49 |
<option value="">Choose action</option>
|
55 |
</select>
|
56 |
</label>
|
57 |
<button type="submit" class="button button-primary">Send action</button>
|
58 |
+
</div>
|
59 |
+
</form>
|
60 |
+
</div>
|
61 |
+
</div>
|
62 |
+
</div>
|
|
inc/tpl/infosys-errorlogs-flimit.html.tpl
ADDED
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
<div class="postbox">
|
3 |
+
<h3>Error Logs - File Limit</h3>
|
4 |
+
|
5 |
+
<div class="inside">
|
6 |
+
<p>
|
7 |
+
If you are a developer, you may want to check the latest errors encountered by
|
8 |
+
the server before delete the log file, that way you can see where the application
|
9 |
+
is failing and fix the errors. Note that a log file may have thousand of lines,
|
10 |
+
so to prevent an overflow in the memory of the PHP interpreter the plugin limits
|
11 |
+
the process to the <strong>latest %%SUCURI.ErrorLogs.LogsLimit%% lines</strong>
|
12 |
+
inserted in the log file.
|
13 |
+
</p>
|
14 |
+
|
15 |
+
<form action="%%SUCURI.URL.Infosys%%#error-logs" method="post">
|
16 |
+
<input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
|
17 |
+
<span class="sucuriscan-input-group">
|
18 |
+
<label>Error Logs - File Limit:</label>
|
19 |
+
<input type="text" name="sucuriscan_errorlogs_limit" class="input-text" placeholder="e.g. 30" />
|
20 |
+
</span>
|
21 |
+
<button type="submit" class="button-primary">Save</button>
|
22 |
+
</form>
|
23 |
+
</div>
|
24 |
+
</div>
|
inc/tpl/infosys-errorlogs-freader.html.tpl
ADDED
@@ -0,0 +1,61 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
<div class="postbox">
|
3 |
+
<h3>Error Logs - File Reader</h3>
|
4 |
+
|
5 |
+
<div class="inside">
|
6 |
+
<p>
|
7 |
+
Note that if the log file is not empty but the table is, it means that the
|
8 |
+
format of the logs used by the web server is not supported by the scanner,
|
9 |
+
you can try to increase the number of lines processed or ask your hosting
|
10 |
+
provider to change the format of the PHP error log generator.
|
11 |
+
</p>
|
12 |
+
|
13 |
+
<div class="sucuriscan-inline-alert-warning">
|
14 |
+
<p>
|
15 |
+
Note that only the main error log file <em>(usually located in the document
|
16 |
+
root)</em> will be read, parsed, and listed below, if there are more log files
|
17 |
+
in sub-directories they will be ignored.
|
18 |
+
</p>
|
19 |
+
</div>
|
20 |
+
|
21 |
+
<script type="text/javascript">
|
22 |
+
jQuery(function($){
|
23 |
+
$('.sucuriscan-errorlogs-list tbody').html(
|
24 |
+
'<tr><td colspan="5"><span>Loading <em>(may take '
|
25 |
+
+ 'several seconds)</em>...</span></td></tr>'
|
26 |
+
);
|
27 |
+
$.post('%%SUCURI.AjaxURL.Settings%%', {
|
28 |
+
action: 'sucuriscan_infosys_ajax',
|
29 |
+
sucuriscan_page_nonce: '%%SUCURI.PageNonce%%',
|
30 |
+
form_action: 'get_error_logs',
|
31 |
+
}, function(data){
|
32 |
+
$('.sucuriscan-errorlogs-list tbody').html(data);
|
33 |
+
});
|
34 |
+
});
|
35 |
+
</script>
|
36 |
+
|
37 |
+
<table class="wp-list-table widefat sucuriscan-table sucuriscan-errorlogs-list">
|
38 |
+
<thead>
|
39 |
+
<tr>
|
40 |
+
<th width="100">Date Time</th>
|
41 |
+
<th width="50">Type</th>
|
42 |
+
<th>Error Message</th>
|
43 |
+
<th width="300">File</th>
|
44 |
+
<th width="50">Line</th>
|
45 |
+
</tr>
|
46 |
+
</thead>
|
47 |
+
|
48 |
+
<tbody>
|
49 |
+
</tbody>
|
50 |
+
</table>
|
51 |
+
|
52 |
+
<div class="sucuriscan-recipient-form">
|
53 |
+
<form action="%%SUCURI.URL.Hardening%%" method="post">
|
54 |
+
<input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
|
55 |
+
<input type="hidden" name="sucuriscan_run_hardening" value="1" />
|
56 |
+
<input type="hidden" name="sucuriscan_harden_errorlog" value="Harden" />
|
57 |
+
<button type="submit" class="button-primary">Delete Logs</button>
|
58 |
+
</form>
|
59 |
+
</div>
|
60 |
+
</div>
|
61 |
+
</div>
|
inc/tpl/infosys-errorlogs-status.html.tpl
ADDED
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
<div class="postbox">
|
3 |
+
<h3>Error Logs</h3>
|
4 |
+
|
5 |
+
<div class="inside">
|
6 |
+
<p>
|
7 |
+
Web servers like Apache, Nginx and others use files to record errors encountered
|
8 |
+
during the execution of a dynamic language or the server processes. Depending on
|
9 |
+
the configuration of the server, these files may be accessible from the web
|
10 |
+
opening a hole in your site to allow an attacker to gather sensitive information
|
11 |
+
of your project, so it is highly recommended to delete them.
|
12 |
+
</p>
|
13 |
+
|
14 |
+
<div class="sucuriscan-hstatus sucuriscan-hstatus-2">
|
15 |
+
<span>Ignore Scanning is %%SUCURI.ErrorLogs.Status%%</span>
|
16 |
+
<form action="%%SUCURI.URL.Infosys%%#error-logs" method="post">
|
17 |
+
<input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
|
18 |
+
<input type="hidden" name="sucuriscan_parse_errorlogs" value="%%SUCURI.ErrorLogs.SwitchValue%%" />
|
19 |
+
<button type="submit" class="button-primary %%SUCURI.ErrorLogs.SwitchCssClass%%">%%SUCURI.ErrorLogs.SwitchText%%</button>
|
20 |
+
</form>
|
21 |
+
</div>
|
22 |
+
</div>
|
23 |
+
</div>
|
inc/tpl/infosys-errorlogs.html.tpl
CHANGED
@@ -1,88 +1,8 @@
|
|
1 |
|
2 |
-
<div
|
3 |
-
|
4 |
-
<h3>Error Logs</h3>
|
5 |
|
6 |
-
|
7 |
|
8 |
-
|
9 |
-
Web servers like Apache, Nginx and others use files to record errors encountered
|
10 |
-
during the execution of a dynamic language or the server processes. Depending on
|
11 |
-
the configuration of the server, these files may be accessible from the web
|
12 |
-
opening a hole in your site to allow an attacker to gather sensitive information
|
13 |
-
of your project, so it is highly recommended to delete them.
|
14 |
-
</p>
|
15 |
-
|
16 |
-
<div class="sucuriscan-inline-alert-info">
|
17 |
-
<p>
|
18 |
-
If you are a developer, you may want to check the latest errors encountered by
|
19 |
-
the server before delete the log file, that way you can see where the
|
20 |
-
application is failing and fix the errors. Note that a log file may have
|
21 |
-
thousand of lines, so to prevent an overflow in the memory of the PHP
|
22 |
-
interpreter the plugin limits the process to the <strong>latest
|
23 |
-
%%SUCURI.ErrorLog.LogsLimit%% lines</strong> inserted in the log file.
|
24 |
-
</p>
|
25 |
-
</div>
|
26 |
-
|
27 |
-
<div class="sucuriscan-inline-alert-error sucuriscan-%%SUCURI.ErrorLog.DisabledVisibility%%">
|
28 |
-
<p>
|
29 |
-
The analysis of error logs is disabled, go to the <em>Scanner Settings</em>
|
30 |
-
panel in the <em>Settings</em> page to enable it.
|
31 |
-
</p>
|
32 |
-
</div>
|
33 |
-
|
34 |
-
<div class="sucuriscan-inline-alert-warning sucuriscan-%%SUCURI.ErrorLog.InvalidFormatVisibility%%">
|
35 |
-
<p>
|
36 |
-
Note that if the log file is not empty but the table is, it means that the
|
37 |
-
format of the logs used by the web server is not supported by the scanner,
|
38 |
-
you can try to increase the number of lines processed though from
|
39 |
-
<a href="%%SUCURI.URL.Settings%%#scanner">here</a> in case that
|
40 |
-
other lines have a different format which is very common on servers with
|
41 |
-
mixed configurations.
|
42 |
-
</p>
|
43 |
-
</div>
|
44 |
-
|
45 |
-
</div>
|
46 |
-
</div>
|
47 |
</div>
|
48 |
-
|
49 |
-
<table class="wp-list-table widefat sucuriscan-table sucuriscan-table-double-title sucuriscan-errorlogs-list">
|
50 |
-
<thead>
|
51 |
-
<tr>
|
52 |
-
<th colspan="5" class="thead-with-button">
|
53 |
-
<span>Error Logs (%%SUCURI.ErrorLog.FileSize%%)</span>
|
54 |
-
|
55 |
-
<form action="%%SUCURI.URL.Hardening%%#error-logs" method="post" class="thead-topright-action">
|
56 |
-
<input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
|
57 |
-
<input type="hidden" name="sucuriscan_run_hardening" value="1" />
|
58 |
-
<input type="hidden" name="sucuriscan_harden_errorlog" value="Harden" />
|
59 |
-
<button type="submit" class="button-primary">Delete logs</button>
|
60 |
-
</form>
|
61 |
-
</th>
|
62 |
-
</tr>
|
63 |
-
|
64 |
-
<tr>
|
65 |
-
<th width="100">Date Time</th>
|
66 |
-
<th width="50">Type</th>
|
67 |
-
<th>Error Message</th>
|
68 |
-
<th width="300">File</th>
|
69 |
-
<th width="50">Line</th>
|
70 |
-
</tr>
|
71 |
-
</thead>
|
72 |
-
|
73 |
-
<tbody>
|
74 |
-
%%%SUCURI.ErrorLog.List%%%
|
75 |
-
|
76 |
-
<tr class="sucuriscan-%%SUCURI.ErrorLog.InvalidFormatVisibility%%">
|
77 |
-
<td colspan="5">
|
78 |
-
<em>No valid logs in the last %%SUCURI.ErrorLog.LogsLimit%% lines of the error log file.</em>
|
79 |
-
</td>
|
80 |
-
</tr>
|
81 |
-
|
82 |
-
<tr class="sucuriscan-%%SUCURI.ErrorLog.NoItemsVisibility%%">
|
83 |
-
<td colspan="5">
|
84 |
-
<em>No logs so far.</em>
|
85 |
-
</td>
|
86 |
-
</tr>
|
87 |
-
</tbody>
|
88 |
-
</table>
|
1 |
|
2 |
+
<div class="sucuriscan-panelstuff sucuriscan-general-errorlogs">
|
3 |
+
%%%SUCURI.ErrorLogs.Status%%%
|
|
|
4 |
|
5 |
+
%%%SUCURI.ErrorLogs.FileLimit%%%
|
6 |
|
7 |
+
%%%SUCURI.ErrorLogs.FileReader%%%
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
inc/tpl/infosys-htaccess.html.tpl
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
|
2 |
-
<div
|
3 |
<div class="postbox sucuriscan-border sucuriscan-table-description">
|
4 |
<h3>Access File Integrity</h3>
|
5 |
|
1 |
|
2 |
+
<div class="sucuriscan-panelstuff sucuriscan-infosys-htaccess">
|
3 |
<div class="postbox sucuriscan-border sucuriscan-table-description">
|
4 |
<h3>Access File Integrity</h3>
|
5 |
|
inc/tpl/integrity-auditlogs.html.tpl
CHANGED
@@ -1,11 +1,67 @@
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
<table class="wp-list-table widefat sucuriscan-table sucuriscan-table-double-title sucuriscan-auditlogs">
|
3 |
<thead>
|
4 |
<tr>
|
5 |
<th colspan="5" class="thead-with-button">
|
6 |
-
<span>Audit Logs
|
|
|
|
|
7 |
<form action="%%SUCURI.URL.Settings%%" method="post"
|
8 |
-
class="thead-topright-action sucuriscan
|
9 |
<input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
|
10 |
<input type="hidden" name="sucuriscan_audit_report" value="enable" />
|
11 |
<button type="submit" class="button-primary">Enable Audit Report</button>
|
@@ -23,20 +79,24 @@
|
|
23 |
</thead>
|
24 |
|
25 |
<tbody>
|
26 |
-
|
27 |
-
|
28 |
-
<tr class="sucuriscan-%%SUCURI.AuditLogs.NoItemsVisibility%%">
|
29 |
<td colspan="5">
|
30 |
-
<em>
|
31 |
</td>
|
32 |
</tr>
|
|
|
33 |
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
|
|
38 |
</ul>
|
39 |
-
|
40 |
-
|
41 |
-
|
|
|
|
|
|
|
|
|
42 |
</table>
|
1 |
|
2 |
+
<script type="text/javascript">
|
3 |
+
jQuery(function ($) {
|
4 |
+
var sucuriscanLoadAuditLogs = function (page, reset) {
|
5 |
+
var url = '%%SUCURI.AjaxURL.Home%%';
|
6 |
+
|
7 |
+
if (page !== undefined && page > 0) {
|
8 |
+
url += '&paged=' + page;
|
9 |
+
}
|
10 |
+
|
11 |
+
if (reset === true) {
|
12 |
+
var loading = '<tr><td colspan="5"><em>Loading...</em></td></tr>';
|
13 |
+
$('.sucuriscan-auditlogs tbody').html(loading);
|
14 |
+
}
|
15 |
+
|
16 |
+
$('.sucuriscan-pagination-loading').html('Loading...');
|
17 |
+
|
18 |
+
$.post(url, {
|
19 |
+
action: 'sucuriscan_ajax',
|
20 |
+
sucuriscan_page_nonce: '%%SUCURI.PageNonce%%',
|
21 |
+
form_action: 'get_audit_logs',
|
22 |
+
}, function (data) {
|
23 |
+
if (data.content) {
|
24 |
+
$('.sucuriscan-auditlogs tbody').html(data.content);
|
25 |
+
$('.sucuriscan-pagination-loading').html('');
|
26 |
+
$('.sucuriscan-auditlogs-count').html('(' + data.count + ' latest logs)');
|
27 |
+
|
28 |
+
if (data.pagination !== '') {
|
29 |
+
$('.sucuriscan-auditlogs .sucuriscan-pagination').html(data.pagination);
|
30 |
+
}
|
31 |
+
|
32 |
+
if (data.enable_report) {
|
33 |
+
$('.sucuriscan-audit-report').removeClass('sucuriscan-hidden');
|
34 |
+
}
|
35 |
+
} else if (typeof data === 'object') {
|
36 |
+
$('.sucuriscan-auditlogs tbody').html(
|
37 |
+
'<tr><td colspan="5">Unrecoverable error</td></tr>');
|
38 |
+
} else {
|
39 |
+
$('.sucuriscan-auditlogs tbody').html(
|
40 |
+
'<tr><td colspan="5">' + data + '</td></tr>');
|
41 |
+
}
|
42 |
+
});
|
43 |
+
}
|
44 |
+
|
45 |
+
setTimeout(function () {
|
46 |
+
sucuriscanLoadAuditLogs(0, true);
|
47 |
+
}, 100);
|
48 |
+
|
49 |
+
$('.sucuriscan-auditlogs').on('click', '.sucuriscan-pagination-link', function (event) {
|
50 |
+
event.preventDefault();
|
51 |
+
sucuriscanLoadAuditLogs($(this).attr('data-page'));
|
52 |
+
});
|
53 |
+
});
|
54 |
+
</script>
|
55 |
+
|
56 |
<table class="wp-list-table widefat sucuriscan-table sucuriscan-table-double-title sucuriscan-auditlogs">
|
57 |
<thead>
|
58 |
<tr>
|
59 |
<th colspan="5" class="thead-with-button">
|
60 |
+
<span>Audit Logs</span>
|
61 |
+
<span class="sucuriscan-auditlogs-count">(Loading...)</span>
|
62 |
+
|
63 |
<form action="%%SUCURI.URL.Settings%%" method="post"
|
64 |
+
class="thead-topright-action sucuriscan-hidden sucuriscan-audit-report">
|
65 |
<input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
|
66 |
<input type="hidden" name="sucuriscan_audit_report" value="enable" />
|
67 |
<button type="submit" class="button-primary">Enable Audit Report</button>
|
79 |
</thead>
|
80 |
|
81 |
<tbody>
|
82 |
+
<tr>
|
|
|
|
|
83 |
<td colspan="5">
|
84 |
+
<em>Loading...</em>
|
85 |
</td>
|
86 |
</tr>
|
87 |
+
</tbody>
|
88 |
|
89 |
+
<tfoot>
|
90 |
+
<td colspan="5">
|
91 |
+
<div class="sucuriscan-clearfix">
|
92 |
+
<ul class="sucuriscan-pull-left sucuriscan-pagination">
|
93 |
+
<!-- Populated via JavaScript -->
|
94 |
</ul>
|
95 |
+
|
96 |
+
<div class="sucuriscan-pull-right sucuriscan-pagination-loading">
|
97 |
+
<!-- Populated via JavaScript -->
|
98 |
+
</div>
|
99 |
+
</div>
|
100 |
+
</td>
|
101 |
+
</tfoot>
|
102 |
</table>
|
inc/tpl/integrity-modifiedfiles.html.tpl
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
|
2 |
-
<div
|
3 |
<div class="postbox sucuriscan-border sucuriscan-table-description">
|
4 |
<h3>Modified Files</h3>
|
5 |
|
1 |
|
2 |
+
<div class="sucuriscan-panelstuff">
|
3 |
<div class="postbox sucuriscan-border sucuriscan-table-description">
|
4 |
<h3>Modified Files</h3>
|
5 |
|
inc/tpl/integrity.html.tpl
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
|
2 |
-
<div
|
3 |
%%%SUCURI.WordpressVersion%%%
|
4 |
|
5 |
%%%SUCURI.CoreFiles%%%
|
1 |
|
2 |
+
<div class="sucuriscan-panelstuff">
|
3 |
%%%SUCURI.WordpressVersion%%%
|
4 |
|
5 |
%%%SUCURI.CoreFiles%%%
|
inc/tpl/lastlogins-all.html.tpl
CHANGED
@@ -34,7 +34,7 @@
|
|
34 |
<tr class="sucuriscan-%%SUCURI.UserList.PaginationVisibility%%">
|
35 |
<td colspan="6">
|
36 |
<ul class="sucuriscan-pagination">
|
37 |
-
|
38 |
</ul>
|
39 |
</td>
|
40 |
</tr>
|
34 |
<tr class="sucuriscan-%%SUCURI.UserList.PaginationVisibility%%">
|
35 |
<td colspan="6">
|
36 |
<ul class="sucuriscan-pagination">
|
37 |
+
%%%SUCURI.UserList.Pagination%%%
|
38 |
</ul>
|
39 |
</td>
|
40 |
</tr>
|
inc/tpl/lastlogins-blockedusers.html.tpl
ADDED
@@ -0,0 +1,65 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
<div class="sucuriscan-panelstuff">
|
3 |
+
<div class="postbox sucuriscan-border sucuriscan-table-description">
|
4 |
+
<h3>Blocked Users</h3>
|
5 |
+
|
6 |
+
<div class="inside">
|
7 |
+
<p>
|
8 |
+
Any user login passing accross the built-in mechanism that WordPress provides to
|
9 |
+
authentication the session will be intercepted by the plugin and analyzed to see
|
10 |
+
if the username is in the list of blocked accounts, if yes then the request will
|
11 |
+
be stopped. No logs will be registered and no alerts will be sent to your email.
|
12 |
+
</p>
|
13 |
+
|
14 |
+
<div class="sucuriscan-inline-alert-info">
|
15 |
+
<p>
|
16 |
+
Take in consideration that this is not a 100% bulletproof mechanism
|
17 |
+
to block unwanted user authentications from malicious users. Depending
|
18 |
+
on the configuration of your website, installed plugins, installed
|
19 |
+
themes, and even the version of WordPress there might still be weak
|
20 |
+
points that automated tools can take advantage of to brute force the
|
21 |
+
user accounts registered in your website. <a target="_blank"
|
22 |
+
href="https://sucuri.net/website-firewall/?wp=bu">Install a firewall</a>
|
23 |
+
to have full protection and mitigate this and a myriad of other attacks.
|
24 |
+
</p>
|
25 |
+
</div>
|
26 |
+
|
27 |
+
<div class="sucuriscan-inline-alert-warning">
|
28 |
+
<p>Do not block existent accounts, they will lose access forever.</p>
|
29 |
+
</div>
|
30 |
+
|
31 |
+
<form method="post">
|
32 |
+
<input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
|
33 |
+
|
34 |
+
<table class="wp-list-table widefat sucuriscan-table">
|
35 |
+
<thead>
|
36 |
+
<tr>
|
37 |
+
<th class="manage-column column-cb check-column">
|
38 |
+
<label class="screen-reader-text" for="cb-select-all-1">Select All</label>
|
39 |
+
<input id="cb-select-all-1" type="checkbox">
|
40 |
+
</th>
|
41 |
+
<th class="manage-column">Username</th>
|
42 |
+
<th class="manage-column">Blocked At</th>
|
43 |
+
<th class="manage-column">First Attempt</th>
|
44 |
+
<th class="manage-column">Last Attempt</th>
|
45 |
+
</tr>
|
46 |
+
</thead>
|
47 |
+
|
48 |
+
<tbody>
|
49 |
+
%%%SUCURI.BlockedUsers.List%%%
|
50 |
+
|
51 |
+
<tr class="sucuriscan-%%SUCURI.BlockedUsers.NoItemsVisibility%%">
|
52 |
+
<td colspan="5">
|
53 |
+
<em>The table is empty.</em>
|
54 |
+
</td>
|
55 |
+
</tr>
|
56 |
+
</tbody>
|
57 |
+
</table>
|
58 |
+
|
59 |
+
<div class="sucuriscan-recipient-form">
|
60 |
+
<button type="submit" class="button button-primary">Unblock User</button>
|
61 |
+
</div>
|
62 |
+
</form>
|
63 |
+
</div>
|
64 |
+
</div>
|
65 |
+
</div>
|
inc/tpl/lastlogins-blockedusers.snippet.tpl
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
<tr class="%%SUCURI.BlockedUsers.CssClass%%">
|
3 |
+
<td class="check-column">
|
4 |
+
<input type="checkbox" name="sucuriscan_unblock_user[]" value="%%SUCURI.BlockedUsers.Username%%">
|
5 |
+
</td>
|
6 |
+
<td><span class="sucuriscan-monospace">%%SUCURI.BlockedUsers.Username%%</span></td>
|
7 |
+
<td><em>%%SUCURI.BlockedUsers.BlockedAt%%</em></td>
|
8 |
+
<td><em>%%SUCURI.BlockedUsers.FirstAttempt%%</em></td>
|
9 |
+
<td><em>%%SUCURI.BlockedUsers.LastAttempt%%</em></td>
|
10 |
+
</tr>
|
inc/tpl/lastlogins-failedlogins.html.tpl
CHANGED
@@ -1,7 +1,16 @@
|
|
1 |
|
2 |
-
<div
|
3 |
<div class="postbox sucuriscan-border sucuriscan-table-description">
|
4 |
-
<h3
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
|
6 |
<div class="inside">
|
7 |
<p>
|
@@ -37,37 +46,48 @@
|
|
37 |
href="%%SUCURI.URL.Settings%%#general">general settings</a>
|
38 |
</p>
|
39 |
</div>
|
40 |
-
</div>
|
41 |
-
</div>
|
42 |
-
</div>
|
43 |
|
44 |
-
<
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
55 |
|
56 |
-
|
57 |
-
|
58 |
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
</table>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
2 |
+
<div class="sucuriscan-panelstuff">
|
3 |
<div class="postbox sucuriscan-border sucuriscan-table-description">
|
4 |
+
<h3 class="thead-with-button">
|
5 |
+
<span>Failed logins</span>
|
6 |
+
<span class="thead-topright-action">
|
7 |
+
<form action="%%SUCURI.URL.Settings%%#scanner" method="post">
|
8 |
+
<input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
|
9 |
+
<input type="hidden" name="sucuriscan_reset_logfile" value="failedlogins" />
|
10 |
+
<button type="submit" class="button button-primary">Reset logs</button>
|
11 |
+
</form>
|
12 |
+
</span>
|
13 |
+
</h3>
|
14 |
|
15 |
<div class="inside">
|
16 |
<p>
|
46 |
href="%%SUCURI.URL.Settings%%#general">general settings</a>
|
47 |
</p>
|
48 |
</div>
|
|
|
|
|
|
|
49 |
|
50 |
+
<form method="post">
|
51 |
+
<input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
|
52 |
+
|
53 |
+
<table class="wp-list-table widefat sucuriscan-table sucuriscan-lastlogins-failed">
|
54 |
+
<thead>
|
55 |
+
<tr>
|
56 |
+
<th class="manage-column column-cb check-column">
|
57 |
+
<label class="screen-reader-text" for="cb-select-all-1">Select All</label>
|
58 |
+
<input id="cb-select-all-1" type="checkbox">
|
59 |
+
</th>
|
60 |
+
<th class="manage-column">User</th>
|
61 |
+
<th class="manage-column">Password</th>
|
62 |
+
<th class="manage-column">IP Address</th>
|
63 |
+
<th class="manage-column">Date/Time</th>
|
64 |
+
<th class="manage-column" width="300">User-Agent</th>
|
65 |
+
</tr>
|
66 |
+
</thead>
|
67 |
|
68 |
+
<tbody>
|
69 |
+
%%%SUCURI.FailedLogins.List%%%
|
70 |
|
71 |
+
<tr class="sucuriscan-%%SUCURI.FailedLogins.NoItemsVisibility%%">
|
72 |
+
<td colspan="6">
|
73 |
+
<em>No logs so far.</em>
|
74 |
+
</td>
|
75 |
+
</tr>
|
76 |
|
77 |
+
<tr class="sucuriscan-%%SUCURI.FailedLogins.PaginationVisibility%%">
|
78 |
+
<td colspan="6">
|
79 |
+
<ul class="sucuriscan-pagination">
|
80 |
+
%%%SUCURI.FailedLogins.PaginationLinks%%%
|
81 |
+
</ul>
|
82 |
+
</td>
|
83 |
+
</tr>
|
84 |
+
</tbody>
|
85 |
+
</table>
|
86 |
+
|
87 |
+
<div class="sucuriscan-recipient-form">
|
88 |
+
<button type="submit" class="button button-primary">Block Selected Users</button>
|
89 |
+
</div>
|
90 |
+
</form>
|
91 |
+
</div>
|
92 |
+
</div>
|
93 |
+
</div>
|
inc/tpl/lastlogins-failedlogins.snippet.tpl
CHANGED
@@ -1,6 +1,8 @@
|
|
1 |
|
2 |
<tr class="%%SUCURI.FailedLogins.CssClass%%">
|
3 |
-
<td
|
|
|
|
|
4 |
<td><span class="sucuriscan-monospace">%%SUCURI.FailedLogins.Username%%</span></td>
|
5 |
<td><span class="sucuriscan-label-%%SUCURI.FailedLogins.PasswordColor%%">%%SUCURI.FailedLogins.Password%%</span></td>
|
6 |
<td><span class="sucuriscan-monospace">%%SUCURI.FailedLogins.RemoteAddr%%</span></td>
|
1 |
|
2 |
<tr class="%%SUCURI.FailedLogins.CssClass%%">
|
3 |
+
<td class="check-column">
|
4 |
+
<input type="checkbox" name="sucuriscan_block_user[]" value="%%SUCURI.FailedLogins.Username%%">
|
5 |
+
</td>
|
6 |
<td><span class="sucuriscan-monospace">%%SUCURI.FailedLogins.Username%%</span></td>
|
7 |
<td><span class="sucuriscan-label-%%SUCURI.FailedLogins.PasswordColor%%">%%SUCURI.FailedLogins.Password%%</span></td>
|
8 |
<td><span class="sucuriscan-monospace">%%SUCURI.FailedLogins.RemoteAddr%%</span></td>
|
inc/tpl/lastlogins.html.tpl
CHANGED
@@ -13,6 +13,9 @@
|
|
13 |
<li>
|
14 |
<a href="#failed-logins" data-tabname="failed-logins">Failed Logins</a>
|
15 |
</li>
|
|
|
|
|
|
|
16 |
</ul>
|
17 |
|
18 |
<div class="sucuriscan-tab-containers">
|
@@ -31,5 +34,9 @@
|
|
31 |
<div id="sucuriscan-failed-logins">
|
32 |
%%%SUCURI.FailedLogins%%%
|
33 |
</div>
|
|
|
|
|
|
|
|
|
34 |
</div>
|
35 |
</div>
|
13 |
<li>
|
14 |
<a href="#failed-logins" data-tabname="failed-logins">Failed Logins</a>
|
15 |
</li>
|
16 |
+
<li>
|
17 |
+
<a href="#blocked-users" data-tabname="blocked-users">Blocked Users</a>
|
18 |
+
</li>
|
19 |
</ul>
|
20 |
|
21 |
<div class="sucuriscan-tab-containers">
|
34 |
<div id="sucuriscan-failed-logins">
|
35 |
%%%SUCURI.FailedLogins%%%
|
36 |
</div>
|
37 |
+
|
38 |
+
<div id="sucuriscan-blocked-users">
|
39 |
+
%%%SUCURI.BlockedUsers%%%
|
40 |
+
</div>
|
41 |
</div>
|
42 |
</div>
|
inc/tpl/notification-resetpwd.html.tpl
CHANGED
@@ -7,5 +7,5 @@ has been reset for security reasons.<br>
|
|
7 |
You can use this temporary password to log in:
|
8 |
<span style="display:inline-block;background:#f5f5f5;padding:2px 6px;
|
9 |
font-family:Menlo, Monaco, monospace, serif;border:1px solid #ddd">
|
10 |
-
|
11 |
Please change your password after you log in.
|
7 |
You can use this temporary password to log in:
|
8 |
<span style="display:inline-block;background:#f5f5f5;padding:2px 6px;
|
9 |
font-family:Menlo, Monaco, monospace, serif;border:1px solid #ddd">
|
10 |
+
%%%SUCURI.ResetPassword.Password%%%</span><br>
|
11 |
Please change your password after you log in.
|
inc/tpl/posthack-resetpassword.html.tpl
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
|
2 |
-
<div
|
3 |
<div class="postbox">
|
4 |
<div class="inside">
|
5 |
<form method="post">
|
1 |
|
2 |
+
<div class="sucuriscan-panelstuff sucuriscan-reset-users-password">
|
3 |
<div class="postbox">
|
4 |
<div class="inside">
|
5 |
<form method="post">
|
inc/tpl/posthack-resetplugins.html.tpl
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
|
2 |
-
<div
|
3 |
<div class="postbox">
|
4 |
<div class="inside">
|
5 |
<form action="%%SUCURI.URL.Posthack%%#reset-plugins" method="post">
|
1 |
|
2 |
+
<div class="sucuriscan-panelstuff sucuriscan-reset-plugins">
|
3 |
<div class="postbox">
|
4 |
<div class="inside">
|
5 |
<form action="%%SUCURI.URL.Posthack%%#reset-plugins" method="post">
|
inc/tpl/posthack-resetplugins.snippet.tpl
CHANGED
@@ -3,7 +3,9 @@
|
|
3 |
<td class="check-column">
|
4 |
<input type="checkbox" name="plugin_path[]" value="%%SUCURI.ResetPlugin.PluginPath%%" %%SUCURI.ResetPlugin.Disabled%% />
|
5 |
</td>
|
6 |
-
<td
|
|
|
|
|
7 |
<td><span class="sucuriscan-monospace">%%SUCURI.ResetPlugin.Version%%</span></td>
|
8 |
<td><span class="sucuriscan-label-%%SUCURI.ResetPlugin.TypeClass%%">%%SUCURI.ResetPlugin.Type%%</span></td>
|
9 |
<td><span class="sucuriscan-label-%%SUCURI.ResetPlugin.StatusClass%%">%%SUCURI.ResetPlugin.Status%%</span></td>
|
3 |
<td class="check-column">
|
4 |
<input type="checkbox" name="plugin_path[]" value="%%SUCURI.ResetPlugin.PluginPath%%" %%SUCURI.ResetPlugin.Disabled%% />
|
5 |
</td>
|
6 |
+
<td>
|
7 |
+
<a href="%%SUCURI.ResetPlugin.Repository%%" target="_blank">%%SUCURI.ResetPlugin.Plugin%%</a>
|
8 |
+
</td>
|
9 |
<td><span class="sucuriscan-monospace">%%SUCURI.ResetPlugin.Version%%</span></td>
|
10 |
<td><span class="sucuriscan-label-%%SUCURI.ResetPlugin.TypeClass%%">%%SUCURI.ResetPlugin.Type%%</span></td>
|
11 |
<td><span class="sucuriscan-label-%%SUCURI.ResetPlugin.StatusClass%%">%%SUCURI.ResetPlugin.Status%%</span></td>
|
inc/tpl/posthack-updates-notification.html.tpl
ADDED
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
<p>
|
3 |
+
WordPress has a big user base in the public Internet, this brings interest to
|
4 |
+
malicious people to find vulnerabilities in the code code, 3rd-party extensions,
|
5 |
+
and themes that other companies develop. You should keep every piece of code
|
6 |
+
installed in your website update to prevent attacks as soon as disclosed
|
7 |
+
vulnerabilities are patched.
|
8 |
+
</p>
|
9 |
+
|
10 |
+
<table border="1" cellspacing="1" cellpadding="5">
|
11 |
+
<thead>
|
12 |
+
<tr>
|
13 |
+
<th>Extension</th>
|
14 |
+
<th>Installed</th>
|
15 |
+
<th>Available</th>
|
16 |
+
<th>Tested With</th>
|
17 |
+
<th> </th>
|
18 |
+
</tr>
|
19 |
+
</thead>
|
20 |
+
|
21 |
+
<tbody>
|
22 |
+
%%%SUCURI.AvailableUpdates.Content%%%
|
23 |
+
</tbody>
|
24 |
+
|
25 |
+
<tfoot>
|
26 |
+
<tr>
|
27 |
+
<td colspan="5">
|
28 |
+
<p>
|
29 |
+
Update all extensions from your website's <a href="%%SUCURI.URL.Home%%">
|
30 |
+
admin panel</a>, and/or disable the email notifications for available
|
31 |
+
updates from the <a href="%%SUCURI.URL.Settings%%">settings</a> page.
|
32 |
+
</p>
|
33 |
+
</td>
|
34 |
+
</tr>
|
35 |
+
</tfoot>
|
36 |
+
</table>
|
inc/tpl/posthack-updates.html.tpl
ADDED
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
<div class="sucuriscan-panelstuff sucuriscan-updates">
|
3 |
+
<div class="postbox">
|
4 |
+
<div class="inside">
|
5 |
+
<p>
|
6 |
+
WordPress has a big user base in the public Internet, this brings interest to
|
7 |
+
malicious people to find vulnerabilities in the code code, 3rd-party extensions,
|
8 |
+
and themes that other companies develop. You should keep every piece of code
|
9 |
+
installed in your website update to prevent attacks as soon as disclosed
|
10 |
+
vulnerabilities are patched.
|
11 |
+
</p>
|
12 |
+
|
13 |
+
<table class="wp-list-table widefat sucuriscan-table sucuriscan-updates-table">
|
14 |
+
<thead>
|
15 |
+
<tr>
|
16 |
+
<th class="manage-column">Extension</th>
|
17 |
+
<th class="manage-column">Installed</th>
|
18 |
+
<th class="manage-column">Available</th>
|
19 |
+
<th class="manage-column">Tested With</th>
|
20 |
+
<th class="manage-column"> </th>
|
21 |
+
</tr>
|
22 |
+
</thead>
|
23 |
+
|
24 |
+
<tbody>
|
25 |
+
<tr>
|
26 |
+
<td colspan="5">
|
27 |
+
<span>Loading <em>(may take several seconds)</em>...</span>
|
28 |
+
</td>
|
29 |
+
</tr>
|
30 |
+
</tbody>
|
31 |
+
</table>
|
32 |
+
|
33 |
+
<script type="text/javascript">
|
34 |
+
jQuery(function($){
|
35 |
+
$.post('%%SUCURI.AjaxURL.Posthack%%', {
|
36 |
+
action: 'sucuriscan_posthack_ajax',
|
37 |
+
sucuriscan_page_nonce: '%%SUCURI.PageNonce%%',
|
38 |
+
form_action: 'get_available_updates',
|
39 |
+
}, function(data){
|
40 |
+
$('.sucuriscan-updates-table tbody').html(data);
|
41 |
+
});
|
42 |
+
});
|
43 |
+
</script>
|
44 |
+
</div>
|
45 |
+
</div>
|
46 |
+
</div>
|
inc/tpl/posthack-updates.snippet.tpl
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
<tr class="%%SUCURI.Update.CssClass%%">
|
3 |
+
<td>
|
4 |
+
<span class="dashicons-before dashicons-admin-%%SUCURI.Update.IconType%%">
|
5 |
+
<a href="%%SUCURI.Update.MarketUrl%%" target="_blank">%%SUCURI.Update.Extension%%</a>
|
6 |
+
</span>
|
7 |
+
</td>
|
8 |
+
<td><span class="sucuriscan-monospace">%%SUCURI.Update.Version%%</span></td>
|
9 |
+
<td><span class="sucuriscan-monospace">%%SUCURI.Update.NewVersion%%</span></td>
|
10 |
+
<td>%%SUCURI.Update.TestedWith%%</td>
|
11 |
+
<td><a href="%%SUCURI.Update.ArchiveUrl%%" target="_blank">download</a></td>
|
12 |
+
</tr>
|
inc/tpl/posthack-updatesecretkeys.html.tpl
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
|
2 |
-
<div
|
3 |
<div class="postbox">
|
4 |
<div class="inside">
|
5 |
<p>
|
1 |
|
2 |
+
<div class="sucuriscan-panelstuff sucuriscan-update-security-keys">
|
3 |
<div class="postbox">
|
4 |
<div class="inside">
|
5 |
<p>
|
inc/tpl/posthack.html.tpl
CHANGED
@@ -10,6 +10,9 @@
|
|
10 |
<li>
|
11 |
<a href="#reset-plugins" data-tabname="reset-plugins">Reset Plugins</a>
|
12 |
</li>
|
|
|
|
|
|
|
13 |
</ul>
|
14 |
|
15 |
<div class="sucuriscan-tab-containers">
|
@@ -24,5 +27,9 @@
|
|
24 |
<div id="sucuriscan-reset-plugins">
|
25 |
%%%SUCURI.ResetPlugins%%%
|
26 |
</div>
|
|
|
|
|
|
|
|
|
27 |
</div>
|
28 |
</div>
|
10 |
<li>
|
11 |
<a href="#reset-plugins" data-tabname="reset-plugins">Reset Plugins</a>
|
12 |
</li>
|
13 |
+
<li>
|
14 |
+
<a href="#updates" data-tabname="updates">Available Updates</a>
|
15 |
+
</li>
|
16 |
</ul>
|
17 |
|
18 |
<div class="sucuriscan-tab-containers">
|
27 |
<div id="sucuriscan-reset-plugins">
|
28 |
%%%SUCURI.ResetPlugins%%%
|
29 |
</div>
|
30 |
+
|
31 |
+
<div id="sucuriscan-updates">
|
32 |
+
%%%SUCURI.AvailableUpdates%%%
|
33 |
+
</div>
|
34 |
</div>
|
35 |
</div>
|
inc/tpl/settings-alert.html.tpl
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
|
2 |
-
<div
|
3 |
%%%SUCURI.AlertSettings.Recipients%%%
|
4 |
|
5 |
%%%SUCURI.AlertSettings.Subject%%%
|
1 |
|
2 |
+
<div class="sucuriscan-panelstuff">
|
3 |
%%%SUCURI.AlertSettings.Recipients%%%
|
4 |
|
5 |
%%%SUCURI.AlertSettings.Subject%%%
|
inc/tpl/settings-apiservice-protocol.html.tpl
ADDED
@@ -0,0 +1,105 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
<div class="postbox">
|
3 |
+
<h3>API Communication Protocol</h3>
|
4 |
+
|
5 |
+
<div class="inside">
|
6 |
+
<p>
|
7 |
+
HTTPS is a protocol for secure communication over a computer network which is
|
8 |
+
widely used on the Internet. HTTPS consists of communication over Hypertext
|
9 |
+
Transfer Protocol (HTTP) within a connection encrypted by Transport Layer
|
10 |
+
Security or its predecessor, Secure Sockets Layer. The main motivation for HTTPS
|
11 |
+
is authentication of the visited website and protection of the privacy and
|
12 |
+
integrity of the exchanged data.
|
13 |
+
</p>
|
14 |
+
|
15 |
+
<div class="sucuriscan-inline-alert-info">
|
16 |
+
<p>
|
17 |
+
HTTPS provides authentication of the website and associated web server with
|
18 |
+
which one is communicating, which protects against <a target="_blank"
|
19 |
+
href="https://en.wikipedia.org/wiki/Man-in-the-middle_attack">man-in-the-middle
|
20 |
+
attacks</a>. Additionally, it provides bidirectional encryption of communications
|
21 |
+
between a client and server, which protects against eavesdropping and tampering
|
22 |
+
with and/or forging the contents of the communication. In practice, this provides
|
23 |
+
a reasonable guarantee that one is communicating with precisely the website that
|
24 |
+
one intended to communicate with (as opposed to an impostor), as well as ensuring
|
25 |
+
that the contents of communications between the user and site cannot be read or
|
26 |
+
forged by any third party.
|
27 |
+
</p>
|
28 |
+
</div>
|
29 |
+
|
30 |
+
<p>
|
31 |
+
More info at <a href="https://en.wikipedia.org/wiki/HTTPS" target="_blank">WikiPedia HTTPS</a>
|
32 |
+
</p>
|
33 |
+
|
34 |
+
<div class="sucuriscan-hstatus sucuriscan-hstatus-%%SUCURI.ApiProtocol.StatusNum%%">
|
35 |
+
<span>API Communication via HTTPS is %%SUCURI.ApiProtocol.Status%%</span>
|
36 |
+
<form action="%%SUCURI.URL.Settings%%#apiservice" method="post">
|
37 |
+
<input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
|
38 |
+
<input type="hidden" name="sucuriscan_api_protocol" value="%%SUCURI.ApiProtocol.SwitchValue%%" />
|
39 |
+
<button type="submit" class="button-primary %%SUCURI.ApiProtocol.SwitchCssClass%%">%%SUCURI.ApiProtocol.SwitchText%%</button>
|
40 |
+
</form>
|
41 |
+
</div>
|
42 |
+
|
43 |
+
<script type="text/javascript">
|
44 |
+
jQuery(function ($) {
|
45 |
+
$('body').on('click', '#sucuriscan-debug-api-calls button', function (ev) {
|
46 |
+
ev.preventDefault();
|
47 |
+
var apiUnique;
|
48 |
+
var testedUrls = 0;
|
49 |
+
var button = $(this);
|
50 |
+
var apiUrls = $('#sucuriscan-debug-api-calls tbody :checkbox:checked');
|
51 |
+
var totalApiUrls = apiUrls.length;
|
52 |
+
|
53 |
+
button.attr('disabled', true);
|
54 |
+
button.html('Test API Calls — Loading...');
|
55 |
+
$('#sucuriscan-debug-api-calls tbody td > div').html('');
|
56 |
+
|
57 |
+
apiUrls.each(function (key, el) {
|
58 |
+
apiUnique = $(el).val();
|
59 |
+
$('#sucuriscan-api-' + apiUnique).html('Loading...');
|
60 |
+
|
61 |
+
$.post('%%SUCURI.AjaxURL.Settings%%', {
|
62 |
+
action: 'sucuriscan_settings_ajax',
|
63 |
+
sucuriscan_page_nonce: '%%SUCURI.PageNonce%%',
|
64 |
+
form_action: 'debug_api_call',
|
65 |
+
api_unique: apiUnique
|
66 |
+
}, function (data) {
|
67 |
+
testedUrls++;
|
68 |
+
$('#sucuriscan-api-' + data.unique).html(data.output);
|
69 |
+
|
70 |
+
if (testedUrls === totalApiUrls) {
|
71 |
+
button.attr('disabled', false);
|
72 |
+
button.html('Test API Calls');
|
73 |
+
}
|
74 |
+
});
|
75 |
+
});
|
76 |
+
});
|
77 |
+
});
|
78 |
+
</script>
|
79 |
+
|
80 |
+
<form id="sucuriscan-debug-api-calls" action="%%SUCURI.URL.Settings%%#apiservice" method="post">
|
81 |
+
<input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
|
82 |
+
|
83 |
+
<table class="wp-list-table widefat sucuriscan-table">
|
84 |
+
<thead>
|
85 |
+
<tr>
|
86 |
+
<th class="manage-column column-cb check-column">
|
87 |
+
<label class="screen-reader-text" for="cb-select-all-1">Select All</label>
|
88 |
+
<input id="cb-select-all-1" type="checkbox">
|
89 |
+
</th>
|
90 |
+
<th class="manage-column" colspan="2">API URL <em>(URLs affected by this setting)</em></th>
|
91 |
+
</tr>
|
92 |
+
</thead>
|
93 |
+
|
94 |
+
<tbody>
|
95 |
+
%%%SUCURI.ApiProtocol.AffectedUrls%%%
|
96 |
+
</tbody>
|
97 |
+
</table>
|
98 |
+
|
99 |
+
<div class="sucuriscan-recipient-form">
|
100 |
+
<button type="submit" name="sucuriscan_debug_api_calls"
|
101 |
+
value="1" class="button-primary">Test API Calls</button>
|
102 |
+
</div>
|
103 |
+
</form>
|
104 |
+
</div>
|
105 |
+
</div>
|
inc/tpl/settings-apiservice-protocol.snippet.tpl
ADDED
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
<tr class="%%SUCURI.ApiProtocol.CssClass%%">
|
3 |
+
<td class="check-column">
|
4 |
+
<input type="checkbox" name="sucuriscan_api_ids[]" value="%%SUCURI.ApiProtocol.ID%%" />
|
5 |
+
</td>
|
6 |
+
<td><span class="sucuriscan-monospace">%%SUCURI.ApiProtocol.URL%%</span></td>
|
7 |
+
<td><div id="sucuriscan-api-%%SUCURI.ApiProtocol.ID%%"> </div></td>
|
8 |
+
</tr>
|
inc/tpl/settings-apiservice.html.tpl
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
|
2 |
-
<div
|
3 |
%%%SUCURI.SettingsSection.ApiStatus%%%
|
4 |
|
5 |
%%%SUCURI.SettingsSection.ApiProxy%%%
|
@@ -7,4 +7,6 @@
|
|
7 |
%%%SUCURI.SettingsSection.ApiSSL%%%
|
8 |
|
9 |
%%%SUCURI.SettingsSection.ApiTimeout%%%
|
|
|
|
|
10 |
</div>
|
1 |
|
2 |
+
<div class="sucuriscan-panelstuff sucuriscan-general-apiservice">
|
3 |
%%%SUCURI.SettingsSection.ApiStatus%%%
|
4 |
|
5 |
%%%SUCURI.SettingsSection.ApiProxy%%%
|
7 |
%%%SUCURI.SettingsSection.ApiSSL%%%
|
8 |
|
9 |
%%%SUCURI.SettingsSection.ApiTimeout%%%
|
10 |
+
|
11 |
+
%%%SUCURI.SettingsSection.ApiProtocol%%%
|
12 |
</div>
|
inc/tpl/settings-corefiles-cache.html.tpl
ADDED
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
<div class="postbox">
|
3 |
+
<h3>Core Integrity Checks - Marked As Fixed</h3>
|
4 |
+
|
5 |
+
<div class="inside">
|
6 |
+
<p>
|
7 |
+
The scanner is prone to inconsistencies due to the diversity of configurations
|
8 |
+
that a hosting provider may have in their servers, many of them add files in the
|
9 |
+
document root of the websites with information associated to 3rd-party services
|
10 |
+
that they offer or programs that they are running in their system. These files
|
11 |
+
will be flagged by the plugin as <em>"added"</em> because they are not part of
|
12 |
+
the official WordPress packages, but it is clear that they are false/positives.
|
13 |
+
Some of these files are being ignored by the plugin to reduce the noise in the
|
14 |
+
integrity checks, but there are many others that are not, you will have to
|
15 |
+
select them and mark them as fixed if you believe they are harmless, this action
|
16 |
+
will force the plugin to ignore them in future scans.
|
17 |
+
</p>
|
18 |
+
|
19 |
+
<div class="sucuriscan-hstatus sucuriscan-hstatus-2">
|
20 |
+
<span>Core Files Marked As Fixed: %%SUCURI.CoreFiles.CacheSize%% of data</span>
|
21 |
+
<form action="%%SUCURI.URL.Settings%%#scanner" method="post">
|
22 |
+
<input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
|
23 |
+
<input type="hidden" name="sucuriscan_corefiles_cache" value="1" />
|
24 |
+
<button type="submit" class="button-primary">Reset Cache</button>
|
25 |
+
</form>
|
26 |
+
</div>
|
27 |
+
|
28 |
+
<table class="wp-list-table widefat sucuriscan-table sucuriscan-%%SUCURI.CoreFiles.TableVisibility%%">
|
29 |
+
<thead>
|
30 |
+
<tr>
|
31 |
+
<th>Reason</th>
|
32 |
+
<th>Ignored At</th>
|
33 |
+
<th>Line</th>
|
34 |
+
</tr>
|
35 |
+
</thead>
|
36 |
+
|
37 |
+
<tbody>
|
38 |
+
%%%SUCURI.CoreFiles.IgnoredFiles%%%
|
39 |
+
</tbody>
|
40 |
+
</table>
|
41 |
+
</div>
|
42 |
+
</div>
|
inc/tpl/settings-corefiles-cache.snippet.tpl
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
<tr class="%%SUCURI.IgnoredFile.CssClass%% sucuriscan-corefiles-%%SUCURI.IgnoredFile.UniqueId%%">
|
3 |
+
<td><span class="sucuriscan-label sucuriscan-label-%%SUCURI.IgnoredFile.StatusType%%">%%SUCURI.IgnoredFile.StatusType%%</span></td>
|
4 |
+
<td>%%SUCURI.IgnoredFile.IgnoredAt%%</td>
|
5 |
+
<td><span class="sucuriscan-monospace sucuriscan-wraptext">%%SUCURI.IgnoredFile.FilePath%%</span></td>
|
6 |
+
</tr>
|
inc/tpl/settings-corefiles-language.html.tpl
ADDED
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
<div class="postbox">
|
3 |
+
<h3>Core Integrity Checks - Language</h3>
|
4 |
+
|
5 |
+
<div class="inside">
|
6 |
+
<p>
|
7 |
+
The information necessary to check the integrity of the core files is obtained
|
8 |
+
from the official <a href="http://codex.wordpress.org/WordPress.org_API"
|
9 |
+
target="_blank">WordPress API</a> using an endpoint that returns the checksums
|
10 |
+
of all the files associated to a version number. By default the API returns the
|
11 |
+
checksums for the English installation, and there is an optional parameter named
|
12 |
+
locale that accepts a valid abbreviation for a supported language. If your website
|
13 |
+
was not installed using the English package please choose the appropriate language
|
14 |
+
below.
|
15 |
+
</p>
|
16 |
+
|
17 |
+
<p>
|
18 |
+
<strong>Note:</strong> Not all the international language codes are supported by
|
19 |
+
WordPress's API, you must expect incompatibilities with the results of the core
|
20 |
+
integrity checks, if you see files that are being flagged as added even when they
|
21 |
+
are part of the official releases, files that are being flagged as deleted even
|
22 |
+
when they are part of the official releases, and/or files that are being flagged
|
23 |
+
as modified even when their content has not been modified please consider to
|
24 |
+
select the English locale, if the false positives are persistent then fill a
|
25 |
+
ticket reporting the issue.
|
26 |
+
</p>
|
27 |
+
|
28 |
+
<form action="%%SUCURI.URL.Settings%%#scanner" method="post">
|
29 |
+
<input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
|
30 |
+
<span class="sucuriscan-input-group">
|
31 |
+
<label>WordPress Locale:</label>
|
32 |
+
<select name="sucuriscan_set_language">
|
33 |
+
%%%SUCURI.Integrity.LanguageDropdown%%%
|
34 |
+
</select>
|
35 |
+
</span>
|
36 |
+
<button type="submit" class="button-primary">Proceed</button>
|
37 |
+
<em>(WordPress Locale %%SUCURI.Integrity.WordPressLocale%%)</em>
|
38 |
+
</form>
|
39 |
+
</div>
|
40 |
+
</div>
|
inc/tpl/settings-corefiles-status.html.tpl
ADDED
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
<div class="postbox">
|
3 |
+
<h3>Core Integrity Checks</h3>
|
4 |
+
|
5 |
+
<div class="inside">
|
6 |
+
<p>
|
7 |
+
This tool allows you to scan the core directories searching for added, modified,
|
8 |
+
and deleted files, there is no need to touch any of these core files so any
|
9 |
+
inconsistency notified after the scan must be considered as a high severity
|
10 |
+
warning as it may be a sign that a malicious person got access to the website
|
11 |
+
and was able to add malicious code, modify files to inject malware, and/or delete
|
12 |
+
important parts of the project.
|
13 |
+
</p>
|
14 |
+
|
15 |
+
<div class="sucuriscan-inline-alert-info">
|
16 |
+
<p>
|
17 |
+
Note that this tool does not checks for malicious code, for that you have to
|
18 |
+
use the <a href="%%SUCURI.URL.Scanner%%">Malware Scanner</a> instead.
|
19 |
+
</p>
|
20 |
+
</div>
|
21 |
+
|
22 |
+
<p>
|
23 |
+
This tool detects changes in the project core files using a list of checksums
|
24 |
+
that WordPress provides via their official API service, if a file in the website
|
25 |
+
has a different checksum then the plugin displays a warning saying that the file
|
26 |
+
was modified. If the file is listed in the data provided by WordPress but does
|
27 |
+
not exists in the website then the plugin displays a warning saying that the
|
28 |
+
file was deleted. If the plugin finds a file in one of the core directories that
|
29 |
+
is not listed in the checksums then it displays a warning saying that the file
|
30 |
+
was added.
|
31 |
+
</p>
|
32 |
+
|
33 |
+
<div class="sucuriscan-hstatus sucuriscan-hstatus-%%SUCURI.Integrity.StatusNum%%">
|
34 |
+
<span>Core Integrity Checks are %%SUCURI.Integrity.Status%%</span>
|
35 |
+
<form action="%%SUCURI.URL.Settings%%#scanner" method="post">
|
36 |
+
<input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
|
37 |
+
<input type="hidden" name="sucuriscan_scan_checksums" value="%%SUCURI.Integrity.SwitchValue%%" />
|
38 |
+
<button type="submit" class="button-primary %%SUCURI.Integrity.SwitchCssClass%%">%%SUCURI.Integrity.SwitchText%%</button>
|
39 |
+
</form>
|
40 |
+
</div>
|
41 |
+
</div>
|
42 |
+
</div>
|
inc/tpl/settings-general-apikey.html.tpl
CHANGED
@@ -40,12 +40,22 @@
|
|
40 |
</p>
|
41 |
</div>
|
42 |
|
43 |
-
<div class="sucuriscan
|
44 |
-
<div class="sucuriscan-
|
45 |
-
|
46 |
-
<
|
47 |
-
|
48 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
</div>
|
50 |
|
51 |
<div class="sucuriscan-hstatus sucuriscan-hstatus-1 sucuriscan-%%SUCURI.APIKey.RemoveVisibility%%">
|
40 |
</p>
|
41 |
</div>
|
42 |
|
43 |
+
<div class="sucuriscan-%%SUCURI.APIKey.RecoverVisibility%%">
|
44 |
+
<div class="sucuriscan-hstatus sucuriscan-hstatus-0">
|
45 |
+
<div class="sucuriscan-monospace">Plugin API Key: %%SUCURI.APIKey%%</div>
|
46 |
+
<form action="%%SUCURI.URL.Settings%%" method="post">
|
47 |
+
<input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
|
48 |
+
<button type="submit" name="sucuriscan_recover_key" class="button-primary">Recover Via E-mail</button>
|
49 |
+
</form>
|
50 |
+
</div>
|
51 |
+
|
52 |
+
<p>
|
53 |
+
If you don't have access to the e-mail address used to generate the
|
54 |
+
API key, but have a copy of the key at hand you can <a target="_self"
|
55 |
+
href="%%SUCURI.URL.Settings%%&recover">click this link</a> to activate
|
56 |
+
the plugin manually. Be aware that if the key is invalid the plugin will
|
57 |
+
delete it afterwards.
|
58 |
+
</p>
|
59 |
</div>
|
60 |
|
61 |
<div class="sucuriscan-hstatus sucuriscan-hstatus-1 sucuriscan-%%SUCURI.APIKey.RemoveVisibility%%">
|
inc/tpl/settings-general-datastorage.html.tpl
CHANGED
@@ -32,6 +32,14 @@
|
|
32 |
</p>
|
33 |
</div>
|
34 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
35 |
<div class="sucuriscan-hstatus sucuriscan-hstatus-2">
|
36 |
<span class="sucuriscan-monospace">%%SUCURI.DatastorePath%%</span>
|
37 |
</div>
|
32 |
</p>
|
33 |
</div>
|
34 |
|
35 |
+
<div class="sucuriscan-inline-alert-info">
|
36 |
+
<p>
|
37 |
+
An alternative to this setting you can opt to set the directory path from the
|
38 |
+
WordPress configuration file using a constant named <em>"SUCURI_DATA_STORAGE"</em>
|
39 |
+
it must contain a valid and existing absolute directory path.
|
40 |
+
</p>
|
41 |
+
</div>
|
42 |
+
|
43 |
<div class="sucuriscan-hstatus sucuriscan-hstatus-2">
|
44 |
<span class="sucuriscan-monospace">%%SUCURI.DatastorePath%%</span>
|
45 |
</div>
|
inc/tpl/settings-general.html.tpl
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
|
2 |
-
<div
|
3 |
%%%SUCURI.SettingsSection.ApiKey%%%
|
4 |
|
5 |
%%%SUCURI.SettingsSection.DataStorage%%%
|
1 |
|
2 |
+
<div class="sucuriscan-panelstuff sucuriscan-general-settings">
|
3 |
%%%SUCURI.SettingsSection.ApiKey%%%
|
4 |
|
5 |
%%%SUCURI.SettingsSection.DataStorage%%%
|
inc/tpl/settings-heartbeat.html.tpl
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
|
2 |
-
<div
|
3 |
<div class="postbox sucuriscan-border sucuriscan-table-description">
|
4 |
<h3>Heartbeat</h3>
|
5 |
|
1 |
|
2 |
+
<div class="sucuriscan-panelstuff">
|
3 |
<div class="postbox sucuriscan-border sucuriscan-table-description">
|
4 |
<h3>Heartbeat</h3>
|
5 |
|
inc/tpl/settings-ignorerules.html.tpl
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
|
2 |
-
<div
|
3 |
<div class="postbox sucuriscan-border sucuriscan-border-bad sucuriscan-%%SUCURI.IgnoreRules.MessageVisibility%%">
|
4 |
<h3>Ignore Alerts</h3>
|
5 |
|
@@ -15,7 +15,7 @@
|
|
15 |
</div>
|
16 |
</div>
|
17 |
|
18 |
-
<div
|
19 |
<div class="postbox sucuriscan-border sucuriscan-table-description sucuriscan-%%SUCURI.IgnoreRules.TableVisibility%%">
|
20 |
<h3>Ignore Alerts</h3>
|
21 |
|
1 |
|
2 |
+
<div class="sucuriscan-panelstuff">
|
3 |
<div class="postbox sucuriscan-border sucuriscan-border-bad sucuriscan-%%SUCURI.IgnoreRules.MessageVisibility%%">
|
4 |
<h3>Ignore Alerts</h3>
|
5 |
|
15 |
</div>
|
16 |
</div>
|
17 |
|
18 |
+
<div class="sucuriscan-panelstuff">
|
19 |
<div class="postbox sucuriscan-border sucuriscan-table-description sucuriscan-%%SUCURI.IgnoreRules.TableVisibility%%">
|
20 |
<h3>Ignore Alerts</h3>
|
21 |
|
inc/tpl/settings-ignorescan-files.html.tpl
ADDED
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
<div class="postbox">
|
3 |
+
<h3>Ignore Scanning for Files</h3>
|
4 |
+
|
5 |
+
<div class="inside">
|
6 |
+
<p>
|
7 |
+
By default the file system scanner ignore the directories listed here. You can
|
8 |
+
use this panel to insert individual files or symbolic links in the list using
|
9 |
+
their absolute path. By aware that the form only accepts valid file paths,
|
10 |
+
wildcards are not allowed to prevent the misuse of this tool.
|
11 |
+
</p>
|
12 |
+
|
13 |
+
<form action="%%SUCURI.URL.Settings%%#ignorescanning" method="post">
|
14 |
+
<input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
|
15 |
+
<input type="hidden" name="sucuriscan_ignorescanning_action" value="ignore" />
|
16 |
+
<input type="text" name="sucuriscan_ignorescanning_file" placeholder="e.g. /private/cert.crt" />
|
17 |
+
<button type="submit" class="button button-primary">Proceed</button>
|
18 |
+
</form>
|
19 |
+
</div>
|
20 |
+
</div>
|
inc/tpl/settings-ignorescan-folders.html.tpl
ADDED
@@ -0,0 +1,59 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
<div class="postbox">
|
3 |
+
<h3>Ignore Scanning for Folders</h3>
|
4 |
+
|
5 |
+
<div class="inside">
|
6 |
+
<p>
|
7 |
+
Selecting one or more directories from the list will force the plugin to ignore
|
8 |
+
the monitoring of the sub-folders and files inside these directories during the
|
9 |
+
execution of any of the file system scanners. This will applies to all the scanners
|
10 |
+
<em>(general scanner, modified files, integrity checks, error logs)</em>.
|
11 |
+
</p>
|
12 |
+
|
13 |
+
<script type="text/javascript">
|
14 |
+
jQuery(function($){
|
15 |
+
$('.sucuriscan-ignorescanning tbody').html(
|
16 |
+
'<tr><td colspan="3"><span>Loading <em>(may take '
|
17 |
+
+ 'several seconds)</em>...</span></td></tr>'
|
18 |
+
);
|
19 |
+
$.post('%%SUCURI.AjaxURL.Settings%%', {
|
20 |
+
action: 'sucuriscan_settings_ajax',
|
21 |
+
sucuriscan_page_nonce: '%%SUCURI.PageNonce%%',
|
22 |
+
form_action: 'get_ignored_files',
|
23 |
+
}, function(data){
|
24 |
+
$('.sucuriscan-ignorescanning tbody').html(data);
|
25 |
+
});
|
26 |
+
});
|
27 |
+
</script>
|
28 |
+
|
29 |
+
<form action="%%SUCURI.URL.Settings%%#ignorescanning" method="post">
|
30 |
+
<input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
|
31 |
+
|
32 |
+
<table class="wp-list-table widefat sucuriscan-table sucuriscan-ignorescanning">
|
33 |
+
<thead>
|
34 |
+
<th class="manage-column column-cb check-column">
|
35 |
+
<label class="screen-reader-text" for="cb-select-all-1">Select All</label>
|
36 |
+
<input id="cb-select-all-1" type="checkbox">
|
37 |
+
</th>
|
38 |
+
<th class="manage-column">Directory or File Path</th>
|
39 |
+
<th class="manage-column">Status</th>
|
40 |
+
</thead>
|
41 |
+
|
42 |
+
<tbody>
|
43 |
+
</tbody>
|
44 |
+
</table>
|
45 |
+
|
46 |
+
<div class="sucuriscan-recipient-form">
|
47 |
+
<label>
|
48 |
+
<select name="sucuriscan_ignorescanning_action">
|
49 |
+
<option value="">Choose action</option>
|
50 |
+
<option value="ignore">Ignore items</option>
|
51 |
+
<option value="unignore">Un-ignore items</option>
|
52 |
+
</select>
|
53 |
+
</label>
|
54 |
+
|
55 |
+
<button type="submit" class="button button-primary">Proceed</button>
|
56 |
+
</div>
|
57 |
+
</form>
|
58 |
+
</div>
|
59 |
+
</div>
|
inc/tpl/settings-ignorescan-status.html.tpl
ADDED
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
<div class="postbox">
|
3 |
+
<h3>Ignore Scanning</h3>
|
4 |
+
|
5 |
+
<div class="inside">
|
6 |
+
<p>
|
7 |
+
If your project has too many directories and/or files it may cause the file
|
8 |
+
system scanners to fail, you may want to increase the maximum execution time of
|
9 |
+
the PHP scripts and the memory limit to allow the functions executed during the
|
10 |
+
file system scans to finish successfully. If you do not want or do not have
|
11 |
+
sufficient privileges to increase these values then you may want to skip some
|
12 |
+
directories, this will force the plugin to ignore the files inside these
|
13 |
+
folders.
|
14 |
+
</p>
|
15 |
+
|
16 |
+
<div class="sucuriscan-hstatus sucuriscan-hstatus-2">
|
17 |
+
<span>Ignore Scanning is %%SUCURI.IgnoreScan.Status%%</span>
|
18 |
+
<form action="%%SUCURI.URL.Settings%%#ignorescanning" method="post">
|
19 |
+
<input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
|
20 |
+
<input type="hidden" name="sucuriscan_ignore_scanning" value="%%SUCURI.IgnoreScan.SwitchValue%%" />
|
21 |
+
<button type="submit" class="button-primary %%SUCURI.IgnoreScan.SwitchCssClass%%">%%SUCURI.IgnoreScan.SwitchText%%</button>
|
22 |
+
</form>
|
23 |
+
</div>
|
24 |
+
</div>
|
25 |
+
</div>
|
inc/tpl/settings-ignorescan.html.tpl
ADDED
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
<div class="sucuriscan-panelstuff sucuriscan-general-scanner">
|
3 |
+
%%%SUCURI.SettingsSection.IgnoreScanStatus%%%
|
4 |
+
|
5 |
+
%%%SUCURI.SettingsSection.IgnoreScanFiles%%%
|
6 |
+
|
7 |
+
%%%SUCURI.SettingsSection.IgnoreScanFolders%%%
|
8 |
+
</div>
|
inc/tpl/settings-ignorescan.snippet.tpl
ADDED
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
<tr class="%%SUCURI.IgnoreScan.CssClass%%">
|
3 |
+
<td class="check-column">
|
4 |
+
<input type="checkbox" name="sucuriscan_ignorescanning_dirs[]" value="%%SUCURI.IgnoreScan.DirectoryPath%%" />
|
5 |
+
</td>
|
6 |
+
<td><span class="sucuriscan-monospace sucuriscan-wraptext">%%SUCURI.IgnoreScan.DirectoryPath%%</span></td>
|
7 |
+
<td><span class="sucuriscan-label-%%SUCURI.IgnoreScan.IgnoredCssClass%%">%%SUCURI.IgnoreScan.IgnoredAtText%%</span></td>
|
8 |
+
</tr>
|
inc/tpl/settings-ignorescanning.html.tpl
DELETED
@@ -1,95 +0,0 @@
|
|
1 |
-
|
2 |
-
<div id="poststuff">
|
3 |
-
<div class="postbox sucuriscan-border sucuriscan-table-description">
|
4 |
-
<h3>Ignore Scanning</h3>
|
5 |
-
|
6 |
-
<div class="inside">
|
7 |
-
<p>
|
8 |
-
If your project has too many directories and/or files it may cause the file
|
9 |
-
system scanners to fail, you may want to increase the maximum execution time of
|
10 |
-
the PHP scripts and the memory limit to allow the functions executed during the
|
11 |
-
file system scans to finish successfully. If you do not want or do not have
|
12 |
-
sufficient privileges to increase these values then you may want to skip some
|
13 |
-
directories, this will force the plugin to ignore the files inside these
|
14 |
-
folders.
|
15 |
-
</p>
|
16 |
-
|
17 |
-
<div class="sucuriscan-inline-alert-warning sucuriscan-%%SUCURI.IgnoreScanning.DisabledVisibility%%">
|
18 |
-
<p>
|
19 |
-
The feature to ignore directories during the file system scans is disabled, go
|
20 |
-
to the <em>Scanner Settings</em> panel to enable it.
|
21 |
-
</p>
|
22 |
-
</div>
|
23 |
-
|
24 |
-
<div class="sucuriscan-inline-alert-info sucuriscan-ignore-file">
|
25 |
-
<p>
|
26 |
-
You can also force the plugin to ignore specific files during the file system
|
27 |
-
scans using this form, add the absolute path of the file or symbolic link that
|
28 |
-
you want to skip. <strong>Note.</strong> You can not use wildcards to select
|
29 |
-
multiple files following a pattern in their names, this is intentional to
|
30 |
-
prevent the misuse of this tool.
|
31 |
-
</p>
|
32 |
-
|
33 |
-
<form action="%%SUCURI.URL.Settings%%#ignorescanning" method="post">
|
34 |
-
<input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
|
35 |
-
<input type="hidden" name="sucuriscan_ignorescanning_action" value="ignore" />
|
36 |
-
<input type="text" name="sucuriscan_ignorescanning_file"
|
37 |
-
placeholder="e.g. /public_html/private/ssl_certificate.crt"
|
38 |
-
class="sucuriscan-ignore-file-input" />
|
39 |
-
<button type="submit" class="button button-primary
|
40 |
-
sucuriscan-ignore-file-button">Proceed</button>
|
41 |
-
</form>
|
42 |
-
</div>
|
43 |
-
</div>
|
44 |
-
</div>
|
45 |
-
</div>
|
46 |
-
|
47 |
-
<form action="%%SUCURI.URL.Settings%%#ignorescanning" method="post">
|
48 |
-
<input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
|
49 |
-
|
50 |
-
<table class="wp-list-table widefat sucuriscan-table sucuriscan-settings-ignorescanning">
|
51 |
-
<thead>
|
52 |
-
<th class="manage-column column-cb check-column">
|
53 |
-
<label class="screen-reader-text" for="cb-select-all-1">Select All</label>
|
54 |
-
<input id="cb-select-all-1" type="checkbox">
|
55 |
-
</th>
|
56 |
-
<th class="manage-column"> </th>
|
57 |
-
<th class="manage-column">Directory</th>
|
58 |
-
<th class="manage-column" width="200">Ignored At</th>
|
59 |
-
</thead>
|
60 |
-
|
61 |
-
<tbody>
|
62 |
-
%%%SUCURI.IgnoreScanning.ResourceList%%%
|
63 |
-
|
64 |
-
<tr class="sucuriscan-%%SUCURI.IgnoreScanning.NoItemsVisibility%%">
|
65 |
-
<td colspan="4">
|
66 |
-
<em>List is empty.</em>
|
67 |
-
</td>
|
68 |
-
</tr>
|
69 |
-
</tbody>
|
70 |
-
|
71 |
-
<tfoot>
|
72 |
-
<tr>
|
73 |
-
<td colspan="4">
|
74 |
-
<p>
|
75 |
-
Selecting one or more directories from the list will force the plugin to ignore
|
76 |
-
the monitoring of the sub-folders and files inside these directories during the
|
77 |
-
execution of any of the file system scanners. This will applies to all the
|
78 |
-
scanners <em>(general scanner, modified files, integrity checks, error
|
79 |
-
logs)</em>.
|
80 |
-
</p>
|
81 |
-
|
82 |
-
<label>
|
83 |
-
<select name="sucuriscan_ignorescanning_action">
|
84 |
-
<option value="">Choose action</option>
|
85 |
-
<option value="ignore">Ignore items</option>
|
86 |
-
<option value="unignore">Un-ignore items</option>
|
87 |
-
</select>
|
88 |
-
</label>
|
89 |
-
|
90 |
-
<button type="submit" class="button button-primary">Send action</button>
|
91 |
-
</td>
|
92 |
-
</tr>
|
93 |
-
</tfoot>
|
94 |
-
</table>
|
95 |
-
</form>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
inc/tpl/settings-ignorescanning.snippet.tpl
DELETED
@@ -1,9 +0,0 @@
|
|
1 |
-
|
2 |
-
<tr class="%%SUCURI.IgnoreScanning.CssClass%%">
|
3 |
-
<td class="check-column">
|
4 |
-
<input type="checkbox" name="sucuriscan_ignorescanning_dirs[]" value="%%SUCURI.IgnoreScanning.DirectoryPath%%" />
|
5 |
-
</td>
|
6 |
-
<td><span class="sucuriscan-label-%%SUCURI.IgnoreScanning.IgnoredCssClass%%">%%SUCURI.IgnoreScanning.IgnoredAtText%%</span></td>
|
7 |
-
<td><span class="sucuriscan-monospace sucuriscan-wraptext">%%SUCURI.IgnoreScanning.DirectoryPath%%</span></td>
|
8 |
-
<td>%%SUCURI.IgnoreScanning.IgnoredAt%%</td>
|
9 |
-
</tr>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
inc/tpl/settings-scanner.html.tpl
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
|
2 |
-
<div
|
3 |
<div class="postbox sucuriscan-border sucuriscan-table-description">
|
4 |
<h3>Scanner Settings</h3>
|
5 |
|
@@ -91,30 +91,6 @@
|
|
91 |
</td>
|
92 |
</tr>
|
93 |
|
94 |
-
<tr class="alternate">
|
95 |
-
<td>FS Scanner, Core integrity checks</td>
|
96 |
-
<td>%%SUCURI.ScanChecksumsStatus%%</td>
|
97 |
-
<td class="td-with-button">
|
98 |
-
<form action="%%SUCURI.URL.Settings%%#scanner" method="post">
|
99 |
-
<input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
|
100 |
-
<input type="hidden" name="sucuriscan_scan_checksums" value="%%SUCURI.ScanChecksumsSwitchValue%%" />
|
101 |
-
<button type="submit" class="button-primary %%SUCURI.ScanChecksumsSwitchCssClass%%">%%SUCURI.ScanChecksumsSwitchText%%</button>
|
102 |
-
</form>
|
103 |
-
</td>
|
104 |
-
</tr>
|
105 |
-
|
106 |
-
<tr>
|
107 |
-
<td>FS Scanner, Ignore scanning</td>
|
108 |
-
<td>%%SUCURI.IgnoreScanningStatus%%</td>
|
109 |
-
<td class="td-with-button">
|
110 |
-
<form action="%%SUCURI.URL.Settings%%#scanner" method="post">
|
111 |
-
<input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
|
112 |
-
<input type="hidden" name="sucuriscan_ignore_scanning" value="%%SUCURI.IgnoreScanningSwitchValue%%" />
|
113 |
-
<button type="submit" class="button-primary %%SUCURI.IgnoreScanningSwitchCssClass%%">%%SUCURI.IgnoreScanningSwitchText%%</button>
|
114 |
-
</form>
|
115 |
-
</td>
|
116 |
-
</tr>
|
117 |
-
|
118 |
<tr class="alternate">
|
119 |
<td>FS Scanner, Error log files</td>
|
120 |
<td>%%SUCURI.ScanErrorlogsStatus%%</td>
|
@@ -127,66 +103,6 @@
|
|
127 |
</td>
|
128 |
</tr>
|
129 |
|
130 |
-
<tr>
|
131 |
-
<td>SiteCheck scanner</td>
|
132 |
-
<td>%%SUCURI.SiteCheckScannerStatus%%</td>
|
133 |
-
<td class="td-with-button">
|
134 |
-
<form action="%%SUCURI.URL.Settings%%#scanner" method="post">
|
135 |
-
<input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
|
136 |
-
<input type="hidden" name="sucuriscan_sitecheck_scanner" value="%%SUCURI.SiteCheckScannerSwitchValue%%" />
|
137 |
-
<button type="submit" class="button-primary %%SUCURI.SiteCheckScannerSwitchCssClass%%">%%SUCURI.SiteCheckScannerSwitchText%%</button>
|
138 |
-
</form>
|
139 |
-
</td>
|
140 |
-
</tr>
|
141 |
-
|
142 |
-
<tr class="alternate">
|
143 |
-
<td>SiteCheck counter</td>
|
144 |
-
<td>%%SUCURI.SiteCheckCounter%% scans so far</td>
|
145 |
-
<td class="td-with-button">
|
146 |
-
<form action="%%SUCURI.URL.Scanner%%" method="post">
|
147 |
-
<input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
|
148 |
-
<input type="hidden" name="sucuriscan_malware_scan" value="1" />
|
149 |
-
<button type="submit" class="button-primary">Force scan</button>
|
150 |
-
</form>
|
151 |
-
</td>
|
152 |
-
</tr>
|
153 |
-
|
154 |
-
<tr>
|
155 |
-
<td>Analyze error logs</td>
|
156 |
-
<td>%%SUCURI.ParseErrorLogsStatus%%</td>
|
157 |
-
<td class="td-with-button">
|
158 |
-
<form action="%%SUCURI.URL.Settings%%#scanner" method="post">
|
159 |
-
<input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
|
160 |
-
<input type="hidden" name="sucuriscan_parse_errorlogs" value="%%SUCURI.ParseErrorLogsSwitchValue%%" />
|
161 |
-
<button type="submit" class="button-primary %%SUCURI.ParseErrorLogsSwitchCssClass%%">%%SUCURI.ParseErrorLogsSwitchText%%</button>
|
162 |
-
</form>
|
163 |
-
</td>
|
164 |
-
</tr>
|
165 |
-
|
166 |
-
<tr class="alternate">
|
167 |
-
<td>Error logs limit</td>
|
168 |
-
<td>Analyze last %%SUCURI.ErrorLogsLimit%% logs</td>
|
169 |
-
<td class="td-with-button">
|
170 |
-
<form action="%%SUCURI.URL.Settings%%#scanner" method="post">
|
171 |
-
<input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
|
172 |
-
<input type="text" name="sucuriscan_errorlogs_limit" placeholder="Number of lines to analyze" class="input-text" />
|
173 |
-
<button type="submit" class="button-primary">Change</button>
|
174 |
-
</form>
|
175 |
-
</td>
|
176 |
-
</tr>
|
177 |
-
|
178 |
-
<tr>
|
179 |
-
<td>Reset core integrity logs</td>
|
180 |
-
<td><span class="sucuriscan-monospace">%%SUCURI.IntegrityLogLife%% of data</span></td>
|
181 |
-
<td class="td-with-button">
|
182 |
-
<form action="%%SUCURI.URL.Settings%%#scanner" method="post">
|
183 |
-
<input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
|
184 |
-
<input type="hidden" name="sucuriscan_reset_logfile" value="integrity" />
|
185 |
-
<button type="submit" class="button-primary">Reset logs</button>
|
186 |
-
</form>
|
187 |
-
</td>
|
188 |
-
</tr>
|
189 |
-
|
190 |
<tr class="alternate">
|
191 |
<td>Reset last login logs</td>
|
192 |
<td><span class="sucuriscan-monospace">%%SUCURI.LastLoginLogLife%% of data</span></td>
|
@@ -211,17 +127,19 @@
|
|
211 |
</td>
|
212 |
</tr>
|
213 |
|
214 |
-
<tr class="alternate">
|
215 |
-
<td>Reset sitecheck logs</td>
|
216 |
-
<td><span class="sucuriscan-monospace">%%SUCURI.SiteCheckLogLife%% of data</span></td>
|
217 |
-
<td class="td-with-button">
|
218 |
-
<form action="%%SUCURI.URL.Settings%%#scanner" method="post">
|
219 |
-
<input type="hidden" name="sucuriscan_page_nonce" value="%%SUCURI.PageNonce%%" />
|
220 |
-
<input type="hidden" name="sucuriscan_reset_logfile" value="sitecheck" />
|
221 |
-
<button type="submit" class="button-primary">Reset logs</button>
|
222 |
-
</form>
|
223 |
-
</td>
|
224 |
-
</tr>
|
225 |
-
|
226 |
</tbody>
|
227 |
</table>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
2 |
+
<div class="sucuriscan-panelstuff">
|
3 |
<div class="postbox sucuriscan-border sucuriscan-table-description">
|
4 |
<h3>Scanner Settings</h3>
|
5 |
|
91 |
</td>
|
92 |
</tr>
|
93 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
94 |
<tr class="alternate">
|
95 |
<td>FS Scanner, Error log files</td>
|
96 |
<td>%%SUCURI.ScanErrorlogsStatus%%</td>
|
103 |
</td>
|
104 |
</tr>
|
105 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|