WordPress.WP.AlternativeFunctions.file_system_operations_fopen
file system operations fopen
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 |
|---|---|---|---|---|---|---|---|---|
| #351 | Digital License Manager | 24 | 295 | 670 | 700 | Non-prefixed hook name | ||
| #352 | Doubly – Cross Domain Copy Paste for WordPress | 24 | 252 | 55 | 10k+ | Output is not escaped | ||
| #353 | DSGVO All in one for WP | 24 | 75 | 1,637 | 20k+ | Non-prefixed global variable | ||
| #354 | eCommerce Product Catalog Plugin for WordPress | 24 | 621 | 3,177 | 7k+ | Non-prefixed function | ||
| #355 | Email Subscribers & Newsletters – Email Marketing, Post Notifications & Newsletter Plugin for WordPress | 24 | 652 | 1,495 | 60k+ | Non-prefixed hook name | ||
| #356 | Enable Media Replace | 24 | 212 | 276 | 600k+ | Output is not escaped | ||
| #357 | Event Tickets and Registration | 24 | 3,411 | 4,217 | 90k+ | Non-prefixed global variable | ||
| #358 | Export WordPress Pages to Static HTML & PDF — Static Site Export | 24 | 509 | 304 | 4k+ | Text Domain Mismatch | ||
| #359 | Etsy Integration For WooCommerce | 24 | 1,246 | 4,643 | 900 | Non-prefixed global variable | ||
| #360 | F12 Profiler | 24 | 282 | 451 | 500 | Direct Query | ||
| #361 | Fast Velocity Minify | 24 | 282 | 256 | 40k+ | Unsafe printing function | ||
| #362 | Fattura24 | 24 | 312 | 333 | 400 | Output is not escaped | ||
| #363 | Featured Image from URL (FIFU) | 24 | 1,654 | 418 | 70k+ | Non Singular String Literal Domain | ||
| #364 | Featured Post with thumbnail | 24 | 158 | 122 | 400 | Output is not escaped | ||
| #365 | FileBird – WordPress Media Library Folders & File Manager | 24 | 239 | 377 | 200k+ | wp function not compatible with requires wp | ||
| #366 | Fix Alt Text | 24 | 544 | 346 | 1k+ | Non Singular String Literal Domain | ||
| #367 | Football Pool | 24 | 1,085 | 733 | 1k+ | Output is not escaped | ||
| #368 | Formidable PRO2PDF | 24 | 218 | 477 | 1k+ | Non-prefixed global variable | ||
| #369 | FV Player 8 | 24 | 323 | 1,383 | 1k+ | Non-prefixed function | ||
| #370 | Gallery by BestWebSoft – Customizable Image and Photo Galleries for WordPress | 24 | 536 | 324 | 10k+ | Text Domain Mismatch | ||
| #371 | GD Mail Queue | 24 | 502 | 582 | 700 | Output is not escaped | ||
| #372 | GG Woo Feed for WooCommerce Shopping Feed on Google and Other Channels | 24 | 469 | 592 | 1k+ | Non-prefixed global variable | ||
| #373 | Assets manager, dequeue scripts, dequeue styles for WordPress | 24 | 592 | 255 | 2k+ | Output is not escaped | ||
| #374 | Simple Calendar – Google Calendar Plugin | 24 | 2,053 | 592 | 50k+ | Missing direct file access protection | ||
| #375 | Easy Google Maps | 24 | 1,764 | 389 | 20k+ | Non Singular String Literal Domain | ||
| #376 | Hummingbird Performance – Cache & Page Speed Optimization for Core Web Vitals | Critical CSS | Minify CSS | Defer CSS Javascript | CDN | 24 | 3,410 | 866 | 70k+ | Text Domain Mismatch | ||
| #377 | Import and export users and customers | 24 | 1,040 | 357 | 70k+ | Unsafe printing function | ||
| #378 | Infinite Uploads – Offload Media and Video to Cloud Storage | 24 | 586 | 722 | 800 | Direct Query | ||
| #379 | Keap Official Opt-in Forms | 24 | 829 | 1,046 | 1k+ | Non-prefixed global variable | ||
| #380 | Social Slider Feed – Social Media Feed & Gallery Widgets | 24 | 929 | 707 | 20k+ | Non-prefixed global variable | ||
| #381 | InstaWP Connect – 1-click WP Staging & Migration | 24 | 253 | 811 | 40k+ | Non-prefixed global variable | ||
| #382 | Dynamics 365 Integration | 24 | 383 | 166 | 600 | Output is not escaped | ||
| #383 | Koko Analytics – Privacy-Friendly WordPress Analytics | 24 | 165 | 393 | 60k+ | Short PHP open tag found | ||
| #384 | LatePoint – Calendar Booking Plugin for Appointments and Events | 24 | 1,847 | 937 | 100k+ | Output is not escaped | ||
| #385 | LearnPress – Backup & Migration Tool | 24 | 385 | 469 | 5k+ | Output is not escaped | ||
| #386 | LifterLMS – WP LMS for eLearning, Online Courses, & Quizzes | 24 | 414 | 1,176 | 10k+ | Non-prefixed global variable | ||
| #387 | Mail Mint – Email Marketing, Newsletter, Email Automation & WooCommerce Emails | 24 | 4,696 | 1,480 | 5k+ | Text Domain Mismatch | ||
| #388 | MailerPress – Newsletter, email marketing & AI automation | 24 | 805 | 3,931 | 1k+ | Direct Query | ||
| #389 | Mang Board WP | 24 | 1,213 | 4,720 | 9k+ | Non-prefixed global variable | ||
| #390 | Media Library Folders | 24 | 889 | 807 | 10k+ | Text Domain Mismatch | ||
| #391 | Timetable and Event Schedule by MotoPress | 24 | 456 | 232 | 30k+ | Output is not escaped | ||
| #392 | NEX-Forms – Ultimate Forms Plugin for WordPress | 24 | 2,008 | 1,195 | 6k+ | Text Domain Mismatch | ||
| #393 | Ninja Forms – The Contact Form Builder That Grows With You | 24 | 749 | 1,525 | 600k+ | Nonce verification recommended | ||
| #394 | Omnipress | 24 | 169 | 245 | 800 | Non-prefixed global variable | ||
| #395 | Opt-Out for Google Analytics (DSGVO / GDPR) | 24 | 290 | 1,978 | 3k+ | Non-prefixed global variable | ||
| #396 | Participants Database | 24 | 951 | 894 | 7k+ | SQL query is not prepared | ||
| #397 | PDF Generator for WordPress Elementor | 24 | 513 | 271 | 1k+ | Exception output is not escaped | ||
| #398 | PeproDev Ultimate Invoice | 24 | 379 | 234 | 4k+ | Output is not escaped | ||
| #399 | Database Manager – WP Adminer | 24 | 1,005 | 2,752 | 20k+ | Non-prefixed global variable | ||
| #400 | Post Export Import with Media | 24 | 619 | 1,334 | 1k+ | Non-prefixed global variable |