WordPress.WP.AlternativeFunctions.file_system_operations_fwrite
file system operations fwrite
The plugin performs filesystem work with raw PHP functions where WordPress expects safer filesystem handling.
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.
References
Affected Plugins
| Rank | Plugin | Score | Errors | Warnings | Installs | Added | Updated | Top Issue |
|---|---|---|---|---|---|---|---|---|
| #101 | easyReservations | 22 | 5,307 | 2,480 | 800 | Text Domain Mismatch | ||
| #102 | Events Manager – Calendar, Bookings, Tickets, and more! | 22 | 4,713 | 5,660 | 70k+ | Output is not escaped | ||
| #103 | File Manager Pro – Filester | 22 | 566 | 391 | 100k+ | Request data is not unslashed | ||
| #104 | Finale Lite – Sales Countdown Timer & Discount for WooCommerce | 22 | 1,031 | 451 | 4k+ | Output is not escaped | ||
| #105 | Fluent Forms – Customizable Contact Forms, Survey, Quiz, & Conversational Form Builder | 22 | 407 | 236 | 700k+ | Text Domain Mismatch | ||
| #106 | GeoDirectory – WP Business Directory Plugin and Classified Listings Directory | 22 | 4,466 | 3,972 | 10k+ | Output is not escaped | ||
| #107 | Heureka | 22 | 557 | 254 | 400 | Exception output is not escaped | ||
| #108 | Csomagpontok és Címkék WooCommerce-hez | 22 | 2,001 | 769 | 7k+ | Text Domain Mismatch | ||
| #109 | Insert or Embed Articulate Content into WordPress | 22 | 659 | 1,437 | 2k+ | Non-prefixed global variable | ||
| #110 | Számlázz.hu integráció WooCommerce-hez | 22 | 1,169 | 460 | 7k+ | Text Domain Mismatch | ||
| #111 | The Innovative Form Builder – IvyForms | 22 | 713 | 250 | 600 | Exception output is not escaped | ||
| #112 | InfiniteWP Client | 22 | 2,286 | 1,812 | 200k+ | Exception output is not escaped | ||
| #113 | Import WP – Export and Import CSV and XML files to WordPress | 22 | 580 | 330 | 4k+ | Exception output is not escaped | ||
| #114 | JCH Optimize | 22 | 1,145 | 136 | 4k+ | Output is not escaped | ||
| #115 | Jetpack – WP Security, Backup, Speed, & Growth | 22 | 2,975 | 1,348 | 3m+ | Text Domain Mismatch | ||
| #116 | Jim Soft Swiss QR Invoice | 22 | 263 | 392 | 400 | Non-prefixed global variable | ||
| #117 | Mail Baby SMTP | 22 | 385 | 699 | 600 | SQL query is not prepared | ||
| #118 | MailOptin – Popup, Optin Forms & Email Newsletters for Mailchimp, HubSpot, AWeber Etc. | 22 | 2,625 | 2,458 | 10k+ | Output is not escaped | ||
| #119 | Newsletters | 22 | 2,968 | 2,248 | 2k+ | Text Domain Mismatch | ||
| #120 | NinjaFirewall (WP Edition) – Advanced Security Plugin and Firewall | 22 | 1,272 | 2,063 | 100k+ | Non-prefixed global variable | ||
| #121 | Packeta | 22 | 801 | 333 | 8k+ | Exception output is not escaped | ||
| #122 | PDF Builder for WPForms | 22 | 321 | 266 | 900 | SQL query is not prepared | ||
| #123 | Smart Popup by Supsystic | 22 | 3,172 | 503 | 10k+ | Non Singular String Literal Domain | ||
| #124 | Post SMTP – Complete Email Deliverability and SMTP Solution with Email Logs, Alerts, Backup SMTP & Mobile App | 22 | 1,581 | 2,326 | 300k+ | Non-prefixed global variable | ||
| #125 | Premium Addons for Elementor – Powerful Elementor Templates & Widgets | 22 | 233 | 1,036 | 700k+ | Non-prefixed hook name | ||
| #126 | Prime Mover – Migrate WordPress Website & Backups | 22 | 1,326 | 1,600 | 10k+ | Non-prefixed global variable | ||
| #127 | Product Catalog Feed by PixelYourSite | 22 | 581 | 357 | 8k+ | Output is not escaped | ||
| #128 | PageSpeed Ninja – Cache, Minify, Defer CSS JavaScript, Critical CSS, Optimize Images, Convert WebP | 22 | 984 | 407 | 5k+ | Unsafe printing function | ||
| #129 | Quick Contact Form | 22 | 260 | 623 | 1k+ | Non-prefixed function | ||
| #130 | Social Sharing Plugin – Sassy Social Share | 22 | 1,689 | 233 | 100k+ | wp function not compatible with requires wp | ||
| #131 | Seraphinite Accelerator | 22 | 594 | 255 | 50k+ | Output is not escaped | ||
| #132 | ShortPixel Image Optimizer – Optimize Images, Convert WebP & AVIF | 22 | 1,044 | 800 | 300k+ | Non-prefixed global variable | ||
| #133 | Simple Job Board | 22 | 634 | 1,355 | 10k+ | Non-prefixed global variable | ||
| #134 | Slim Jetpack | 22 | 2,586 | 1,947 | 2k+ | Text Domain Mismatch | ||
| #135 | SNS Count Cache | 22 | 918 | 120 | 8k+ | Non Singular String Literal Domain | ||
| #136 | SSL Zen — SSL Certificate Installer & HTTPS Redirects | 22 | 751 | 1,605 | 10k+ | Non-prefixed global variable | ||
| #137 | The Moneytizer | 22 | 751 | 271 | 1k+ | Text Domain Mismatch | ||
| #138 | Theme Editor | 22 | 798 | 685 | 50k+ | Output is not escaped | ||
| #139 | Customize Feeds for Twitter | 22 | 92 | 171 | 4k+ | Non-prefixed global variable | ||
| #140 | Search & Replace Everything – Quick and Easy Way to Find and Replace Text, Links | 22 | 1,044 | 1,797 | 20k+ | Non-prefixed global variable | ||
| #141 | Welcart e-Commerce | 22 | 10,378 | 10,931 | 10k+ | Text Domain Mismatch | ||
| #142 | UserFeedback – Create Interactive Feedback Form, User Surveys, and Polls in Seconds | 22 | 444 | 243 | 200k+ | Text Domain Mismatch | ||
| #143 | WCFM – Frontend Manager for WooCommerce | 22 | 4,754 | 5,054 | 20k+ | Non-prefixed global variable | ||
| #144 | WCFM Marketplace – Multivendor Marketplace for WooCommerce | 22 | 1,934 | 1,966 | 10k+ | Non-prefixed global variable | ||
| #145 | WCFM Membership – WooCommerce Memberships for Multivendor Marketplace | 22 | 559 | 675 | 10k+ | Non-prefixed global variable | ||
| #146 | Wenprise WeChatPay Payment Gateway For WooCommerce | 22 | 443 | 178 | 400 | Exception output is not escaped | ||
| #147 | WooCommerce | 22 | 1,359 | 6,172 | 7m+ | Non-prefixed global variable | ||
| #148 | Simple Shopping Cart | 22 | 796 | 536 | 10k+ | Unsafe printing function | ||
| #149 | ManageWP Worker | 22 | 507 | 565 | 1m+ | Non-prefixed class | ||
| #150 | File Manager | 22 | 740 | 520 | 1m+ | Unsafe printing function |