{"id":1050,"date":"2026-10-30T17:05:41","date_gmt":"2026-10-30T16:05:41","guid":{"rendered":"https:\/\/www.cisilino.com\/?p=1050"},"modified":"2026-10-30T17:06:21","modified_gmt":"2026-10-30T16:06:21","slug":"upload-monitoring-integrity-check","status":"publish","type":"post","link":"https:\/\/www.cisilino.com\/en\/2026\/10\/30\/upload-monitoring-integrity-check\/","title":{"rendered":"Upload monitoring and the integrity check"},"content":{"rendered":"<p><strong>Upload monitoring<\/strong> in the CSDN plugin notes down who uploads files to your site, even outside the media library. The integrity check, on the other hand, verifies that the plugin&#8217;s own files haven&#8217;t been touched. These are two different defences, but both are looking for the same scenario: a malicious file getting in where it shouldn&#8217;t.<\/p>\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.cisilino.com\/wp-content\/uploads\/2026\/10\/manuale-csdn-caricamenti-integrita.webp\" alt=\"Diagram of WordPress with the General tab of the plugin CSDN and the upload monitoring section\" width=\"1200\" height=\"630\"\/><\/figure>\n<h2>Where it is<\/h2>\n<p>Watch out for the location: the form isn&#8217;t in the \u201cHardening \/ IDS\u201d tab. Open <strong>Settings &gt; Cisilino Site Defense Network<\/strong> (point 1), stay on the <strong>General<\/strong> tab (point 2) and scroll right to the bottom. After the whitelist you&#8217;ll find the \u201cUpload monitoring\u201d section (point 3). The integrity check, instead, is read in the Test tab, covered in the <a href=\"https:\/\/www.cisilino.com\/en\/?p=980\">Test tab<\/a> chapter.<\/p>\n<h2>What upload monitoring is for<\/h2>\n<p>The section says: \u201cLogs files uploaded to the site, including those that don&#8217;t go through the media library: plugin forms, admin-ajax endpoints, arbitrary uploads from a theme.\u201d That is where most webshells get in. A log that only watches the media library won&#8217;t see them.<\/p>\n<h2>How to use it<\/h2>\n<ol>\n<li>Open the General tab and scroll down to \u201cUpload monitoring\u201d.<\/li>\n<li>Check the \u201cMonitoring\u201d row: \u201cLog file uploads\u201d.<\/li>\n<li>Check the \u201cBlock executable files\u201d row: \u201cReject uploads with an executable extension (.php, .phtml, .phar, .sh, .htaccess&#8230;)\u201d.<\/li>\n<li>Click \u201cSave upload monitoring\u201d.<\/li>\n<li>Read the notice: \u201cUpload monitoring settings saved.\u201d.<\/li>\n<\/ol>\n<h2>Log file uploads<\/h2>\n<p>This option is <strong>on<\/strong> by default. The events go into the \u201cFile uploads\u201d group of the activity log. For a request with no file, the cost is nil. The plugin notes every request that contains a file, together with the field and the address that received it. The actions you&#8217;ll see in the log are:<\/p>\n<ul>\n<li>\u201cFile received in a POST request\u201d.<\/li>\n<li>\u201cFile uploaded\u201d.<\/li>\n<li>\u201cWARNING: potentially executable file uploaded\u201d.<\/li>\n<li>\u201cUpload BLOCKED\u201d.<\/li>\n<\/ul>\n<p>The local log holds at most 500 rows, unless you change the cap in the activity log settings. How to read it is explained in the <a href=\"https:\/\/www.cisilino.com\/en\/?p=984\">Activity log<\/a> chapter.<\/p>\n<h2>Block executable files<\/h2>\n<p>This option is <strong>off<\/strong> by default. It only works if \u201cLog file uploads\u201d is also on: with monitoring off, the block does nothing, even if its box is ticked. If you turn it on, WordPress rejects the file with the message: \u201cFile type not allowed on this site (Cisilino Site Defense Network: executable file upload blocked).\u201d The check also catches double extensions, such as <code>image.php.jpg<\/code>.<\/p>\n<p>The extensions treated as dangerous are: <code>php<\/code>, <code>php3<\/code>, <code>php4<\/code>, <code>php5<\/code>, <code>php7<\/code>, <code>php8<\/code>, <code>phtml<\/code>, <code>phps<\/code>, <code>phar<\/code>, <code>pht<\/code>, <code>shtml<\/code>, <code>cgi<\/code>, <code>pl<\/code>, <code>py<\/code>, <code>rb<\/code>, <code>sh<\/code>, <code>bash<\/code>, <code>htaccess<\/code>, <code>htpasswd<\/code>, <code>jsp<\/code>, <code>asp<\/code>, <code>aspx<\/code>, <code>exe<\/code>, <code>so<\/code>, <code>dll<\/code>, <code>ini<\/code>, <code>svg<\/code> and <code>svgz<\/code>.<\/p>\n<p><strong>Warning:<\/strong> the list also blocks <code>.svg<\/code>, so SVG logos can no longer be uploaded. It also blocks <code>.ini<\/code>, <code>.py<\/code>, <code>.exe<\/code> and <code>.dll<\/code>, which turn up in attachments and packages. The plugin looks at every part after the first dot. A name such as <code>archive.pl.zip<\/code> is therefore rejected. The block only applies to uploads handled by WordPress (the wp_handle_upload_prefilter filter). A plugin that saves the file on its own is logged (\u201cFile received in a POST request\u201d) but not stopped. Anyone writing straight to disk, without a request that carries a file, leaves no trace in this log.<\/p>\n<h2>The integrity check<\/h2>\n<p>Unlike upload monitoring, here you aren&#8217;t looking at new uploads but at files already present. The plugin compares the MD5 hashes of its <code>.php<\/code> files against the ones expected. It looks for files that have been changed, are missing, or have been added. It excludes the <code>tests<\/code> and <code>dist<\/code> folders. Files that aren&#8217;t PHP aren&#8217;t checked.<\/p>\n<p>The check runs once a day, through the WordPress scheduling system. On a low-traffic site it can slip. The reference is the <code>checksums.json<\/code> file in the plugin folder, if present. Otherwise the plugin uses a snapshot of the files taken on activation and on every version change.<\/p>\n<h3>How to read the outcome<\/h3>\n<p>You&#8217;ll find it in the Test tab, in the \u201cPlugin file integrity\u201d box, which also has the \u201cCheck now\u201d button to run the check immediately. There are four cases:<\/p>\n<ul>\n<li>\u201cNo check has run yet.\u201d, if it has never started.<\/li>\n<li>Green box: \u201cAll N files checked match. Last check: date.\u201d.<\/li>\n<li>Yellow box: \u201cNo reference available: cannot verify. Reactivate the plugin to take a new snapshot of the files.\u201d.<\/li>\n<li>Red box: \u201cWARNING: the plugin&#8217;s files do not match what is expected.\u201d, with three lists: \u201cChanged\u201d, \u201cMissing\u201d, \u201cUnexpected\u201d.<\/li>\n<\/ul>\n<p>At most 15 names appear in each list. If you see red and haven&#8217;t touched the files by hand, the plugin tells you to treat the site as potentially compromised. Reinstall the plugin from a trusted copy and check the rest of the installation.<\/p>\n<p>If the reference is the snapshot, the green box says so. That comparison finds changes made afterwards, not a plugin already compromised at the time of installation.<\/p>\n<p><strong>Warning:<\/strong> integrity is a detector, not a barrier. Anyone who has already written to the files can also rewrite the hashes or switch off the check. Manual changes, or an upload that stops halfway, produce a red alert.<\/p>\n<h2>What happens behind the scenes<\/h2>\n<p>Upload monitoring and integrity share the same log. The daily check writes to the activity log in only two cases: when it finds a problem, and when, after a problem, things return to normal. When all is well it writes nothing. The log is then sent to the panel, so a copy of the alert sits off your server.<\/p>\n<h2>If something goes wrong<\/h2>\n<p>Upload monitoring stays useful even with blocking switched off. If a legitimate plugin stops uploading files, switch off \u201cBlock executable files\u201d and try again. To understand which uploads reach the site, leave monitoring on and check the log. For the rules on files in uploads, see also the <a href=\"https:\/\/www.cisilino.com\/en\/?p=978\">Hardening \/ IDS<\/a> chapter.<\/p>\n<p>The risk this is trying to reduce is described by OWASP: read the page on <a href=\"https:\/\/owasp.org\/www-community\/vulnerabilities\/Unrestricted_File_Upload\" target=\"_blank\" rel=\"noopener\">unrestricted file upload<\/a>, useful for understanding why uploads are a weak point.<\/p>\n<p>Previous chapter: <a href=\"https:\/\/www.cisilino.com\/en\/?p=978\">Hardening \/ IDS: the rules for .htaccess<\/a>. Next chapter: <a href=\"https:\/\/www.cisilino.com\/en\/?p=980\">Test tab: checking that the protections work<\/a>. Index: <a href=\"https:\/\/www.cisilino.com\/en\/?p=972\">introduction to the manual<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Where to find the upload monitoring form, what it actually blocks, and how to read the outcome of the plugin&#8217;s integrity check.<\/p>\n","protected":false},"author":1,"featured_media":1001,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"wpai_generated_summary":"","footnotes":""},"categories":[416],"tags":[164,434,200,443],"class_list":["post-1050","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-csdn-manual","tag-cisilino-site-defense-network-en","tag-csdn-manual","tag-file-integrity","tag-uploads"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"Upload monitoring in WordPress with CSDN: the upload log, blocking executables, and the integrity check, with how to read its outcome.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"matteocisilino\"\/>\n\t<meta name=\"google-site-verification\" content=\"_A-1f0dO30IDVHfP9muflI8kHQs-H4YOi8WLUkYzuLE\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.cisilino.com\/en\/2026\/10\/30\/upload-monitoring-integrity-check\/\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_GB\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Matteo Cisilino - Guide su WordPress, server e sicurezza\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Upload monitoring and the plugin&#039;s integrity check\" \/>\n\t\t<meta property=\"og:description\" content=\"Upload monitoring in WordPress with CSDN: the upload log, blocking executables, and the integrity check, with how to read its outcome.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.cisilino.com\/en\/2026\/10\/30\/upload-monitoring-integrity-check\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/www.cisilino.com\/wp-content\/uploads\/2026\/10\/manuale-csdn-caricamenti-integrita.webp\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/www.cisilino.com\/wp-content\/uploads\/2026\/10\/manuale-csdn-caricamenti-integrita.webp\" \/>\n\t\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-10-30T16:05:41+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-10-30T16:06:21+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Upload monitoring and the plugin&#039;s integrity check\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Upload monitoring in WordPress with CSDN: the upload log, blocking executables, and the integrity check, with how to read its outcome.\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/www.cisilino.com\/wp-content\/uploads\/2026\/10\/manuale-csdn-caricamenti-integrita.webp\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/en\\\/2026\\\/10\\\/30\\\/upload-monitoring-integrity-check\\\/#blogposting\",\"name\":\"Upload monitoring and the plugin's integrity check\",\"headline\":\"Upload monitoring and the integrity check\",\"author\":{\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/en\\\/author\\\/matteocisilino\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/en\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.cisilino.com\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/manuale-csdn-caricamenti-integrita.webp\",\"width\":1200,\"height\":630,\"caption\":\"Schema di WordPress con la scheda Generale del plugin CSDN e la sezione di sorveglianza caricamenti file\"},\"datePublished\":\"2026-10-30T17:05:41+01:00\",\"dateModified\":\"2026-10-30T17:06:21+01:00\",\"inLanguage\":\"en-GB\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/en\\\/2026\\\/10\\\/30\\\/upload-monitoring-integrity-check\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/en\\\/2026\\\/10\\\/30\\\/upload-monitoring-integrity-check\\\/#webpage\"},\"articleSection\":\"CSDN manual, Cisilino Site Defense Network, CSDN manual, file integrity, uploads\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/en\\\/2026\\\/10\\\/30\\\/upload-monitoring-integrity-check\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/en\\\/#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.cisilino.com\\\/en\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/en\\\/category\\\/csdn-manual\\\/#listItem\",\"name\":\"CSDN manual\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/en\\\/category\\\/csdn-manual\\\/#listItem\",\"position\":2,\"name\":\"CSDN manual\",\"item\":\"https:\\\/\\\/www.cisilino.com\\\/en\\\/category\\\/csdn-manual\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/en\\\/2026\\\/10\\\/30\\\/upload-monitoring-integrity-check\\\/#listItem\",\"name\":\"Upload monitoring and the integrity check\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/en\\\/#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/en\\\/2026\\\/10\\\/30\\\/upload-monitoring-integrity-check\\\/#listItem\",\"position\":3,\"name\":\"Upload monitoring and the integrity check\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/en\\\/category\\\/csdn-manual\\\/#listItem\",\"name\":\"CSDN manual\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/en\\\/#organization\",\"name\":\"Matteo Cisilino\",\"description\":\"Guide su WordPress, server e sicurezza\",\"url\":\"https:\\\/\\\/www.cisilino.com\\\/en\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.cisilino.com\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/logo-cisilino-512.png\",\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/en\\\/2026\\\/10\\\/30\\\/upload-monitoring-integrity-check\\\/#organizationLogo\",\"width\":512,\"height\":512,\"caption\":\"Logo: un cerchio a sinistra che si divide in cerchi pi\\u00f9 piccoli\"},\"image\":{\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/en\\\/2026\\\/10\\\/30\\\/upload-monitoring-integrity-check\\\/#organizationLogo\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/en\\\/author\\\/matteocisilino\\\/#author\",\"url\":\"https:\\\/\\\/www.cisilino.com\\\/en\\\/author\\\/matteocisilino\\\/\",\"name\":\"matteocisilino\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/en\\\/2026\\\/10\\\/30\\\/upload-monitoring-integrity-check\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/639872265f0661e8aee8924ba9d756b00ea816f8286fab99a5116c729d49618f?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"matteocisilino\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/en\\\/2026\\\/10\\\/30\\\/upload-monitoring-integrity-check\\\/#webpage\",\"url\":\"https:\\\/\\\/www.cisilino.com\\\/en\\\/2026\\\/10\\\/30\\\/upload-monitoring-integrity-check\\\/\",\"name\":\"Upload monitoring and the plugin's integrity check\",\"description\":\"Upload monitoring in WordPress with CSDN: the upload log, blocking executables, and the integrity check, with how to read its outcome.\",\"inLanguage\":\"en-GB\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/en\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/en\\\/2026\\\/10\\\/30\\\/upload-monitoring-integrity-check\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/en\\\/author\\\/matteocisilino\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/en\\\/author\\\/matteocisilino\\\/#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.cisilino.com\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/manuale-csdn-caricamenti-integrita.webp\",\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/en\\\/2026\\\/10\\\/30\\\/upload-monitoring-integrity-check\\\/#mainImage\",\"width\":1200,\"height\":630,\"caption\":\"Schema di WordPress con la scheda Generale del plugin CSDN e la sezione di sorveglianza caricamenti file\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/en\\\/2026\\\/10\\\/30\\\/upload-monitoring-integrity-check\\\/#mainImage\"},\"datePublished\":\"2026-10-30T17:05:41+01:00\",\"dateModified\":\"2026-10-30T17:06:21+01:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/www.cisilino.com\\\/en\\\/\",\"name\":\"Matteo Cisilino\",\"description\":\"Guide su WordPress, server e sicurezza\",\"inLanguage\":\"en-GB\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.cisilino.com\\\/en\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Upload monitoring and the plugin's integrity check","description":"Upload monitoring in WordPress with CSDN: the upload log, blocking executables, and the integrity check, with how to read its outcome.","canonical_url":"https:\/\/www.cisilino.com\/en\/2026\/10\/30\/upload-monitoring-integrity-check\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"google-site-verification":"_A-1f0dO30IDVHfP9muflI8kHQs-H4YOi8WLUkYzuLE","miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/www.cisilino.com\/en\/2026\/10\/30\/upload-monitoring-integrity-check\/#blogposting","name":"Upload monitoring and the plugin's integrity check","headline":"Upload monitoring and the integrity check","author":{"@id":"https:\/\/www.cisilino.com\/en\/author\/matteocisilino\/#author"},"publisher":{"@id":"https:\/\/www.cisilino.com\/en\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/www.cisilino.com\/wp-content\/uploads\/2026\/10\/manuale-csdn-caricamenti-integrita.webp","width":1200,"height":630,"caption":"Schema di WordPress con la scheda Generale del plugin CSDN e la sezione di sorveglianza caricamenti file"},"datePublished":"2026-10-30T17:05:41+01:00","dateModified":"2026-10-30T17:06:21+01:00","inLanguage":"en-GB","mainEntityOfPage":{"@id":"https:\/\/www.cisilino.com\/en\/2026\/10\/30\/upload-monitoring-integrity-check\/#webpage"},"isPartOf":{"@id":"https:\/\/www.cisilino.com\/en\/2026\/10\/30\/upload-monitoring-integrity-check\/#webpage"},"articleSection":"CSDN manual, Cisilino Site Defense Network, CSDN manual, file integrity, uploads"},{"@type":"BreadcrumbList","@id":"https:\/\/www.cisilino.com\/en\/2026\/10\/30\/upload-monitoring-integrity-check\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.cisilino.com\/en\/#listItem","position":1,"name":"Home","item":"https:\/\/www.cisilino.com\/en\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.cisilino.com\/en\/category\/csdn-manual\/#listItem","name":"CSDN manual"}},{"@type":"ListItem","@id":"https:\/\/www.cisilino.com\/en\/category\/csdn-manual\/#listItem","position":2,"name":"CSDN manual","item":"https:\/\/www.cisilino.com\/en\/category\/csdn-manual\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.cisilino.com\/en\/2026\/10\/30\/upload-monitoring-integrity-check\/#listItem","name":"Upload monitoring and the integrity check"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.cisilino.com\/en\/#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/www.cisilino.com\/en\/2026\/10\/30\/upload-monitoring-integrity-check\/#listItem","position":3,"name":"Upload monitoring and the integrity check","previousItem":{"@type":"ListItem","@id":"https:\/\/www.cisilino.com\/en\/category\/csdn-manual\/#listItem","name":"CSDN manual"}}]},{"@type":"Organization","@id":"https:\/\/www.cisilino.com\/en\/#organization","name":"Matteo Cisilino","description":"Guide su WordPress, server e sicurezza","url":"https:\/\/www.cisilino.com\/en\/","logo":{"@type":"ImageObject","url":"https:\/\/www.cisilino.com\/wp-content\/uploads\/2026\/10\/logo-cisilino-512.png","@id":"https:\/\/www.cisilino.com\/en\/2026\/10\/30\/upload-monitoring-integrity-check\/#organizationLogo","width":512,"height":512,"caption":"Logo: un cerchio a sinistra che si divide in cerchi pi\u00f9 piccoli"},"image":{"@id":"https:\/\/www.cisilino.com\/en\/2026\/10\/30\/upload-monitoring-integrity-check\/#organizationLogo"}},{"@type":"Person","@id":"https:\/\/www.cisilino.com\/en\/author\/matteocisilino\/#author","url":"https:\/\/www.cisilino.com\/en\/author\/matteocisilino\/","name":"matteocisilino","image":{"@type":"ImageObject","@id":"https:\/\/www.cisilino.com\/en\/2026\/10\/30\/upload-monitoring-integrity-check\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/639872265f0661e8aee8924ba9d756b00ea816f8286fab99a5116c729d49618f?s=96&d=mm&r=g","width":96,"height":96,"caption":"matteocisilino"}},{"@type":"WebPage","@id":"https:\/\/www.cisilino.com\/en\/2026\/10\/30\/upload-monitoring-integrity-check\/#webpage","url":"https:\/\/www.cisilino.com\/en\/2026\/10\/30\/upload-monitoring-integrity-check\/","name":"Upload monitoring and the plugin's integrity check","description":"Upload monitoring in WordPress with CSDN: the upload log, blocking executables, and the integrity check, with how to read its outcome.","inLanguage":"en-GB","isPartOf":{"@id":"https:\/\/www.cisilino.com\/en\/#website"},"breadcrumb":{"@id":"https:\/\/www.cisilino.com\/en\/2026\/10\/30\/upload-monitoring-integrity-check\/#breadcrumblist"},"author":{"@id":"https:\/\/www.cisilino.com\/en\/author\/matteocisilino\/#author"},"creator":{"@id":"https:\/\/www.cisilino.com\/en\/author\/matteocisilino\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/www.cisilino.com\/wp-content\/uploads\/2026\/10\/manuale-csdn-caricamenti-integrita.webp","@id":"https:\/\/www.cisilino.com\/en\/2026\/10\/30\/upload-monitoring-integrity-check\/#mainImage","width":1200,"height":630,"caption":"Schema di WordPress con la scheda Generale del plugin CSDN e la sezione di sorveglianza caricamenti file"},"primaryImageOfPage":{"@id":"https:\/\/www.cisilino.com\/en\/2026\/10\/30\/upload-monitoring-integrity-check\/#mainImage"},"datePublished":"2026-10-30T17:05:41+01:00","dateModified":"2026-10-30T17:06:21+01:00"},{"@type":"WebSite","@id":"https:\/\/www.cisilino.com\/en\/#website","url":"https:\/\/www.cisilino.com\/en\/","name":"Matteo Cisilino","description":"Guide su WordPress, server e sicurezza","inLanguage":"en-GB","publisher":{"@id":"https:\/\/www.cisilino.com\/en\/#organization"}}]},"og:locale":"en_GB","og:site_name":"Matteo Cisilino - Guide su WordPress, server e sicurezza","og:type":"article","og:title":"Upload monitoring and the plugin's integrity check","og:description":"Upload monitoring in WordPress with CSDN: the upload log, blocking executables, and the integrity check, with how to read its outcome.","og:url":"https:\/\/www.cisilino.com\/en\/2026\/10\/30\/upload-monitoring-integrity-check\/","og:image":"https:\/\/www.cisilino.com\/wp-content\/uploads\/2026\/10\/manuale-csdn-caricamenti-integrita.webp","og:image:secure_url":"https:\/\/www.cisilino.com\/wp-content\/uploads\/2026\/10\/manuale-csdn-caricamenti-integrita.webp","og:image:width":1200,"og:image:height":630,"article:published_time":"2026-10-30T16:05:41+00:00","article:modified_time":"2026-10-30T16:06:21+00:00","twitter:card":"summary_large_image","twitter:title":"Upload monitoring and the plugin's integrity check","twitter:description":"Upload monitoring in WordPress with CSDN: the upload log, blocking executables, and the integrity check, with how to read its outcome.","twitter:image":"https:\/\/www.cisilino.com\/wp-content\/uploads\/2026\/10\/manuale-csdn-caricamenti-integrita.webp"},"aioseo_meta_data":{"post_id":"1050","title":"Upload monitoring and the plugin's integrity check","description":"Upload monitoring in WordPress with CSDN: the upload log, blocking executables, and the integrity check, with how to read its outcome.","keywords":null,"keyphrases":{"focus":{"keyphrase":"upload monitoring"}},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_custom_url":null,"og_image_custom_fields":null,"og_image_url":null,"og_image_width":null,"og_image_height":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_image_url":null,"twitter_title":null,"twitter_description":null,"schema_type":"default","schema_type_options":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"limit_modified_date":false,"ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":null,"created":"2026-10-30 07:39:20","updated":"2026-10-30 07:42:24","focus_keyword":"upload monitoring","additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.cisilino.com\/en\/\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.cisilino.com\/en\/category\/csdn-manual\/\" title=\"CSDN manual\">CSDN manual<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tUpload monitoring and the integrity check\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.cisilino.com\/en\/"},{"label":"CSDN manual","link":"https:\/\/www.cisilino.com\/en\/category\/csdn-manual\/"},{"label":"Upload monitoring and the integrity check","link":"https:\/\/www.cisilino.com\/en\/2026\/10\/30\/upload-monitoring-integrity-check\/"}],"_links":{"self":[{"href":"https:\/\/www.cisilino.com\/en\/wp-json\/wp\/v2\/posts\/1050","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cisilino.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cisilino.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cisilino.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cisilino.com\/en\/wp-json\/wp\/v2\/comments?post=1050"}],"version-history":[{"count":2,"href":"https:\/\/www.cisilino.com\/en\/wp-json\/wp\/v2\/posts\/1050\/revisions"}],"predecessor-version":[{"id":1325,"href":"https:\/\/www.cisilino.com\/en\/wp-json\/wp\/v2\/posts\/1050\/revisions\/1325"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.cisilino.com\/en\/wp-json\/wp\/v2\/media\/1001"}],"wp:attachment":[{"href":"https:\/\/www.cisilino.com\/en\/wp-json\/wp\/v2\/media?parent=1050"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cisilino.com\/en\/wp-json\/wp\/v2\/categories?post=1050"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cisilino.com\/en\/wp-json\/wp\/v2\/tags?post=1050"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}