WordPress.WP.AlternativeFunctions.file_system_operations_is_writeable

file system operations is writeable

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
#51Multilanguage by BestWebSoft – WordPress Translation Plugin and Language Switcher274653453k+Text Domain Mismatch
#52WP Hide & Security Enhancer2712437550k+Input is not sanitized
#53Contact Form by BestWebSoft – Advanced WP Contact Form Builder for WordPress2846533830k+Text Domain Mismatch
#54WP Synchro – The Ultimate WordPress Migration Tool282432442k+Missing Translators Comment
#55DoLogin Security293123057k+Output is not escaped
#56reCaptcha by BestWebSoft29474272100k+Text Domain Mismatch
#57SmartCrawl SEO checker, analyzer & optimizer303471,30720k+Non-prefixed global variable
#58User Role by BestWebSoft – Add and Customize Roles and Capabilities in WordPress304842803k+Text Domain Mismatch
#59Titan Anti-spam & Security – Brute Force Protection, 2FA & Spam Filter315719650k+Nonce verification recommended
#60FastDup – Fastest WordPress Migration & Duplicator3183665k+wp function not compatible with requires wp
#61User Spam Remover31115141k+Output is not escaped
#62Pagination by BestWebSoft – Customizable WordPress Content Splitter and Navigation Plugin324461735k+Text Domain Mismatch
#63Secure Client Portal and Private File Sharing Plugin – User Private Files321835101k+Non-prefixed global variable
#64One User Avatar | User Profile Picture3468190100k+Non-prefixed global variable
#65Elementor Website Builder – more than just a page builder354642810m+Non-prefixed global variable
#66Enlighter – Customizable Syntax Highlighter35501010k+Output is not escaped
#67Less PHP Compiler35163473k+Exception output is not escaped
#68NS Cloner – Site Copier3529167k+Missing direct file access protection
#69String locator3552319100k+Non-prefixed global variable
#70WP-Paginate35375520k+Input is not validated
#71Custom PHP Settings361537610k+Output is not escaped
#72Video Thumbnails Reloaded36343582k+Text Domain Mismatch
#73Export Themes36122902k+Non-prefixed constant
#74WP Header Images361741336k+Unsafe printing function
#75WP Mail SMTP by WPForms – The Most Popular SMTP and Email Log Plugin36181464m+Direct Query
#76Payment Button for PayPal36155864k+Unsafe printing function
#77WP Safe Mode3895552k+Output is not escaped
#78Multiple Themes411124110k+Output is not escaped
#79Updater by BestWebSoft464942192k+Text Domain Mismatch
#80PDF Invoices & Packing Slips for WooCommerce – Challan49561513k+Non-prefixed global variable
#81Quotes and Tips by BestWebSoft514851901k+Text Domain Mismatch
#82Debug This5243322k+Missing Translators Comment
#83Error Log Viewer by BestWebSoft584331726k+Text Domain Mismatch
#84Easy SSL Plugin for SAKURA Rental Server62231750k+Input is not sanitized
#85OptionTree93165250k+Text Domain Mismatch