WordPress.WP.AlternativeFunctions.file_system_operations_fclose
file system operations fclose
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 |
|---|---|---|---|---|---|---|---|---|
| #501 | Booking Package | 25 | 1,697 | 3,977 | 10k+ | Missing nonce verification | ||
| #502 | Bookit — Booking & Appointment Calendar | 25 | 565 | 1,458 | 4k+ | Non-prefixed global variable | ||
| #503 | Breeze Cache | 25 | 218 | 800 | 400k+ | Non-prefixed global variable | ||
| #504 | Broken Link Checker | 25 | 727 | 600 | 500k+ | Output is not escaped | ||
| #505 | CheckoutWC Lite – Conversion optimized WooCommerce checkout | 25 | 1,416 | 854 | 3k+ | Text Domain Mismatch | ||
| #506 | CheckView – Form & Checkout Testing | 25 | 66 | 337 | 1k+ | Direct Query | ||
| #507 | Colissimo shipping methods for WooCommerce | 25 | 1,755 | 557 | 10k+ | Text Domain Mismatch | ||
| #508 | Disable Comments & Delete All Comments | 25 | 503 | 185 | 9k+ | Output is not escaped | ||
| #509 | Contact Form to DB by BestWebSoft – Messages Database Plugin For WordPress | 25 | 498 | 355 | 1k+ | Text Domain Mismatch | ||
| #510 | Contact Form Email | 25 | 409 | 898 | 9k+ | Non-prefixed global variable | ||
| #511 | Coupon Creator | 25 | 698 | 412 | 1k+ | Output is not escaped | ||
| #512 | Smash Balloon Social Post Feed – Simple Social Feeds for WordPress | 25 | 554 | 982 | 200k+ | Output is not escaped | ||
| #513 | DecaLog | 25 | 943 | 236 | 1k+ | Exception output is not escaped | ||
| #514 | Disable Admin Notices – Hide Dashboard Notifications | 25 | 465 | 195 | 100k+ | Output is not escaped | ||
| #515 | Docket Cache – Object Cache Accelerator | 25 | 333 | 481 | 20k+ | Output is not escaped | ||
| #516 | WEB-Translation – eTranslation Multilingual | 25 | 217 | 1,057 | 400 | Non-prefixed function | ||
| #517 | Events Made Easy | 25 | 521 | 6,324 | 1k+ | Non-prefixed function | ||
| #518 | Form Vibes – Save Contact Form 7 & Elementor Form Entries to Database | 25 | 716 | 1,509 | 10k+ | Non-prefixed global variable | ||
| #519 | Gallery Images Ape | 25 | 588 | 341 | 1k+ | Output is not escaped | ||
| #520 | GD Rating System | 25 | 1,511 | 1,043 | 1k+ | Output is not escaped | ||
| #521 | GD Security Headers | 25 | 407 | 521 | 1k+ | Output is not escaped | ||
| #522 | GeekyBot — AI Copilot, Chatbot, WooCommerce Lead Gen & Zero-Prompt Content | 25 | 88 | 863 | 6k+ | Non-prefixed global variable | ||
| #523 | WPBruiser {no- Captcha anti-Spam} | 25 | 646 | 259 | 10k+ | Non Singular String Literal Domain | ||
| #524 | Site Kit by Google – Analytics, Search Console, AdSense, Speed | 25 | 1,304 | 242 | 5m+ | Missing direct file access protection | ||
| #525 | Sitemap by BestWebSoft – WordPress XML Site Map Page Generator Plugin | 25 | 608 | 207 | 20k+ | Text Domain Mismatch | ||
| #526 | Hydra Booking — Appointment Scheduling & Booking Calendar | 25 | 235 | 699 | 2k+ | Non-prefixed global variable | ||
| #527 | Independent Analytics – WordPress Analytics Plugin | 25 | 1,148 | 2,293 | 100k+ | Non-prefixed global variable | ||
| #528 | Index WP MySQL For Speed | 25 | 250 | 255 | 50k+ | Output is not escaped | ||
| #529 | IP Location Block | 25 | 521 | 624 | 10k+ | Output is not escaped | ||
| #530 | IP Locator | 25 | 482 | 211 | 600 | Text Domain Mismatch | ||
| #531 | JobWP – Job Board, Job Listing, Career Page and Recruitment Plugin | 25 | 1,541 | 1,578 | 1k+ | Non-prefixed global variable | ||
| #532 | Knit Pay – Cashfree, Instamojo, Razorpay, PayPal and more | 25 | 4,019 | 1,265 | 2k+ | Text Domain Mismatch | ||
| #533 | Local Pickup for WooCommerce | 25 | 547 | 1,389 | 1k+ | Non-prefixed global variable | ||
| #534 | Loginizer | 25 | 814 | 504 | 1m+ | Output is not escaped | ||
| #535 | M Chart | 25 | 558 | 1,465 | 3k+ | Non-prefixed global variable | ||
| #536 | MaxButtons – Create buttons | 25 | 626 | 404 | 70k+ | Output is not escaped | ||
| #537 | Media Cleaner: Clean your WordPress! | 25 | 263 | 546 | 90k+ | Direct Query | ||
| #538 | Media Cloud Sync | 25 | 1,095 | 274 | 1k+ | Exception output is not escaped | ||
| #539 | Create | 25 | 1,637 | 764 | 6k+ | Text Domain Mismatch | ||
| #540 | All-in-one Sticky Floating Contact Form, Call, Click to Chat, and 50+ Social Icon Tabs – My Sticky Elements | 25 | 352 | 597 | 40k+ | Non-prefixed global variable | ||
| #541 | Paymob for WooCommerce | 25 | 443 | 350 | 5k+ | Text Domain Mismatch | ||
| #542 | PDF Importer for WPForms | 25 | 332 | 329 | 400 | Non-prefixed global variable | ||
| #543 | PDF & Print by BestWebSoft – WordPress Posts and Pages PDF Generator Plugin | 25 | 1,084 | 1,296 | 9k+ | Non-prefixed global variable | ||
| #544 | phpinfo() WP — Site Health, PHP Compatibility & Server Audit | 25 | 276 | 704 | 3k+ | Non-prefixed global variable | ||
| #545 | Piotnet Forms | 25 | 187 | 374 | 3k+ | Alternative PHP tag found | ||
| #546 | Post Snippets – Custom WordPress Code Snippets Customizer | 25 | 808 | 1,654 | 20k+ | Non-prefixed global variable | ||
| #547 | Pz-LinkCard | 25 | 954 | 1,618 | 20k+ | Non-prefixed global variable | ||
| #548 | Quttera ThreatSign – Web Malware Scanner for WordPress | 25 | 334 | 471 | 10k+ | Non-prefixed global variable | ||
| #549 | reSmush.it : The original free image compressor and optimizer plugin | 25 | 155 | 69 | 100k+ | Output is not escaped | ||
| #550 | BerqWP – All-In-One Optimization for Core Web Vitals, Cache, CDN, Images, CSS & JavaScript | 25 | 204 | 546 | 4k+ | Non-prefixed global variable |