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 |
|---|---|---|---|---|---|---|---|---|
| #401 | Mailjet Email Marketing | 24 | 435 | 206 | 10k+ | Unsafe printing function | ||
| #402 | Mang Board WP | 24 | 1,213 | 4,720 | 9k+ | Non-prefixed global variable | ||
| #403 | Media Library Folders | 24 | 889 | 807 | 10k+ | Text Domain Mismatch | ||
| #404 | Timetable and Event Schedule by MotoPress | 24 | 456 | 232 | 30k+ | Output is not escaped | ||
| #405 | MxChat – AI Chatbot & Content Generation for WordPress | 24 | 3,230 | 1,405 | 2k+ | Text Domain Mismatch | ||
| #406 | Newsletter Subscription Form – User Subscriptions Form, Capture Email | 24 | 385 | 829 | 1k+ | Non-prefixed global variable | ||
| #407 | NEX-Forms – Ultimate Forms Plugin for WordPress | 24 | 2,008 | 1,195 | 6k+ | Text Domain Mismatch | ||
| #408 | Ninja Forms – The Contact Form Builder That Grows With You | 24 | 749 | 1,533 | 600k+ | Nonce verification recommended | ||
| #409 | Omnipress | 24 | 169 | 245 | 800 | Non-prefixed global variable | ||
| #410 | Opt-Out for Google Analytics (DSGVO / GDPR) | 24 | 290 | 1,978 | 3k+ | Non-prefixed global variable | ||
| #411 | Participants Database | 24 | 950 | 894 | 7k+ | SQL query is not prepared | ||
| #412 | PDF Generator for WordPress Elementor | 24 | 513 | 271 | 1k+ | Exception output is not escaped | ||
| #413 | PeproDev Ultimate Invoice | 24 | 379 | 234 | 4k+ | Output is not escaped | ||
| #414 | Database Manager – WP Adminer | 24 | 1,005 | 2,752 | 20k+ | Non-prefixed global variable | ||
| #415 | Post Status Notifier Lite | 24 | 984 | 451 | 700 | Missing direct file access protection | ||
| #416 | Product Catalog Simple | 24 | 1,555 | 1,982 | 1k+ | Output is not escaped | ||
| #417 | Post Affiliate Pro | 24 | 293 | 335 | 500 | Nonce verification recommended | ||
| #418 | Product Editor Pro – WooCommerce Bulk Edit: Prices, Stock, Images, Titles, CSV Import & More | 24 | 2,154 | 4,833 | 1k+ | Non-prefixed global variable | ||
| #419 | ProfileGrid – User Profiles, Groups and Communities | 24 | 484 | 2,461 | 5k+ | Non-prefixed global variable | ||
| #420 | Quick Event Manager | 24 | 152 | 388 | 1k+ | Non-prefixed function | ||
| #421 | reGenerate Thumbnails Advanced | 24 | 220 | 122 | 70k+ | Unsafe printing function | ||
| #422 | Registrations for the Events Calendar – Event Registration Plugin | 24 | 404 | 944 | 7k+ | Non-prefixed global variable | ||
| #423 | RS WP Book Showcase – A Complete Book Catalogue & Library System | 24 | 910 | 343 | 1k+ | Text Domain Mismatch | ||
| #424 | RSFirewall! | 24 | 563 | 521 | 4k+ | Output is not escaped | ||
| #425 | RSVP and Event Management | 24 | 345 | 624 | 3k+ | Direct Query | ||
| #426 | Security Plugin, Firewall & Malware Scanner with Auto Removal | 24 | 1,188 | 770 | 30k+ | Output is not escaped | ||
| #427 | SEO Engine – Smart SEO with AI, Schema & Redirection for WordPress | 24 | 239 | 304 | 1k+ | Direct Query | ||
| #428 | SEOKEY – Powerful SEO plugin with Expert Insights and SEO Audit | 24 | 605 | 928 | 1k+ | Non-prefixed global variable | ||
| #429 | SEO Ultimate | 24 | 437 | 269 | 10k+ | Output is not escaped | ||
| #430 | Servebolt Optimizer | 24 | 1,958 | 681 | 1k+ | Text Domain Mismatch | ||
| #431 | Service Box Slider | 24 | 618 | 1,410 | 500 | Non-prefixed global variable | ||
| #432 | ShiftController Employee Shift Scheduling | 24 | 358 | 196 | 700 | Output is not escaped | ||
| #433 | ShortPixel Adaptive Images – WebP, AVIF, CDN, Image Optimization | 24 | 926 | 322 | 10k+ | Output is not escaped | ||
| #434 | Simple Membership | 24 | 2,297 | 1,734 | 40k+ | Unsafe printing function | ||
| #435 | SiteGuard WP Plugin | 24 | 359 | 350 | 500k+ | Output is not escaped | ||
| #436 | Slideshow Gallery LITE | 24 | 896 | 414 | 5k+ | Output is not escaped | ||
| #437 | MoreConvert Wishlist for WooCommerce | 24 | 3,681 | 629 | 9k+ | Text Domain Mismatch | ||
| #438 | Softaculous | 24 | 115 | 50 | 10k+ | file system operations fread | ||
| #439 | Spotlight Social Feeds – Block, Shortcode, and Widget | 24 | 411 | 147 | 60k+ | Output is not escaped | ||
| #440 | GEO Plugin by Squirrly SEO | 24 | 1,195 | 224 | 30k+ | Missing Translators Comment | ||
| #441 | Sunshine Photo Cart – Client Photo Gallery & Photo Proofing for Photographers | 24 | 360 | 1,472 | 1k+ | Nonce verification recommended | ||
| #442 | Tainacan | 24 | 138 | 592 | 1k+ | Direct Query | ||
| #443 | Templately – Elementor & Gutenberg Template Library: 6500+ Free & Pro Ready Templates And Cloud! | 24 | 167 | 225 | 300k+ | Nonce verification recommended | ||
| #444 | Timber | 24 | 85 | 128 | 20k+ | Non-prefixed hook name | ||
| #445 | Tutor LMS – eLearning and online course solution | 24 | 328 | 4,409 | 100k+ | Non-prefixed global variable | ||
| #446 | Ultra Addons for Contact Form 7 | 24 | 1,543 | 452 | 60k+ | Text Domain Mismatch | ||
| #447 | Ultimate Member – User Profile, Registration, Login, Member Directory, Content Restriction & Membership Plugin | 24 | 938 | 2,935 | 200k+ | Non-prefixed global variable | ||
| #448 | UpdraftPlus: WP Backup & Migration Plugin | 24 | 277 | 299 | 3m+ | Non-prefixed global variable | ||
| #449 | User Registration & Membership – Free & Paid Memberships, Subscriptions, Content Restriction, User Profile, Custom User Registration & Login Builder | 24 | 663 | 3,353 | 50k+ | Non-prefixed global variable | ||
| #450 | UserFeedback – Create Interactive Feedback Form, User Surveys, and Polls in Seconds | 24 | 441 | 235 | 200k+ | Text Domain Mismatch |