WordPress.WP.AlternativeFunctions.file_system_operations_chmod

file system operations chmod

The plugin performs filesystem work with raw PHP functions where WordPress expects safer filesystem handling.

medium weight

Why It Shows Up

Plugin Check found functions such as `fopen`, `fwrite`, `chmod`, `mkdir`, `readfile`, or related operations.

Why It Matters

WordPress sites can use different filesystem permissions and transports. Raw filesystem calls can fail on common hosts or write to unsafe locations.

How to Fix

  • Use WordPress filesystem helpers when writing, reading, or changing files in plugin-managed paths.
  • Validate paths and keep writes inside directories owned by the plugin or WordPress uploads.
  • Never write PHP code from user input or remote responses.

Affected Plugins

RankPluginScoreErrorsWarningsInstallsAddedUpdatedTop Issue
#301Kiyoh customer review3517368500Output is not escaped
#302Simple History – Track, Log, and Audit WordPress Changes3532122300k+Non-prefixed global variable
#303Image Quality Control | Still BE355444400Missing Translators Comment
#304Termageddon: Cookie Consent & Privacy Compliance3528137k+Exception output is not escaped
#305User Photo35112683k+Output is not escaped
#306Database Backup for WordPress351288870k+Output is not escaped
#307WP GPX Maps35271004k+Non-prefixed global variable
#308WP-LESS3516810k+Missing direct file access protection
#309Bard Extra3615975700Text Domain Mismatch
#310Blaze Demo Importer36101948k+Output is not escaped
#311Cashflows for WooCommerce3611836600Text Domain Mismatch
#312Custom PHP Settings361537610k+Output is not escaped
#313Drag and Drop Multiple File Upload for Contact Form 736823660k+wp function not compatible with requires wp
#314Just TinyMCE Custom Styles36112281k+Missing Arg Domain
#315QuickWebP – Compress / Optimize Images & Convert WebP | SEO Friendly361721088k+Non Singular String Literal Domain
#316Shadowbox JS36246141k+Unsafe printing function
#317SMTP for SendGrid – YaySMTP3627961k+Non-prefixed global variable
#318Rabo Smart Pay for WooCommerce3614754600Text Domain Mismatch
#319Export Themes36122902k+Non-prefixed constant
#320WP LaTeX3610312700Output is not escaped
#321WPAvatar3642545700Unsafe printing function
#322Wppao Sitemap36128219k+Output is not escaped
#323Add From Server37522060k+Output is not escaped
#324Debug Log Viewer3726831k+Missing nonce verification
#325Images Optimize and Upload CF73713036600Non Singular String Literal Domain
#326Recent Posts Widget With Thumbnails3722246100k+Output is not escaped
#327Simple Image XML Sitemap37119161k+Output is not escaped
#328Theme Builder For Elementor37477282k+Text Domain Mismatch
#329Anant Sites — Elementor & Gutenberg Readymade Template Library Free & Pro Templates38201561k+Non-prefixed global variable
#330Automatic Post Tagger385923072k+Output is not escaped
#331HashThemes Demo Importer3871446k+Output is not escaped
#332MultiLine Files for Contact Form 73898409k+Text Domain Mismatch
#333Author Image3851331k+Output is not escaped
#334GS Only PDF Preview3946361k+Output is not escaped
#335Wallet for WooCommerce393652420k+Non-prefixed hook name
#336Complete Image Sitemap4055181k+Output is not escaped
#337Far Future Expiry Header4025367k+Request data is not unslashed
#338Search with Typesense4081122700Non-prefixed global variable
#339Heroic Favicon Generator4110476k+Output is not escaped
#340Asesor de Cookies RGPD para normativa europea42273220k+Missing nonce verification
#341Contact Form 7 Signature Addon45147446k+Text Domain Mismatch
#342404 Image Redirection (Replace Broken Images)4711885500Text Domain Mismatch
#343WP Prefix Changer472716900Missing Arg Domain
#344Ansar Import – One Click Starter Sites – for Elementor & Themes482711610k+Non-prefixed global variable
#345Drag and Drop Multiple File Upload for WooCommerce49114295k+Text Domain Mismatch
#346Veeqo for WooCommerce503017700Missing direct file access protection
#347AVIF Uploader5149444k+Missing Arg Domain
#348Easy GDPR Consent Forms – MailChimp577222500Text Domain Mismatch
#349Image Sitemap631114400Output is not escaped
#350CV Demo Importer642195400Non-prefixed global variable