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 |
|---|---|---|---|---|---|---|---|---|
| #151 | WP Umbrella: Update Backup Restore & Monitoring | 22 | 957 | 966 | 70k+ | Exception output is not escaped | ||
| #152 | Wp-Insert | 22 | 267 | 301 | 10k+ | Output is not escaped | ||
| #153 | WP Super Minify • Minify, Compress and Cache HTML, CSS & JavaScript | 22 | 164 | 257 | 8k+ | Non-prefixed constant | ||
| #154 | WP-WebAuthn | 22 | 957 | 396 | 2k+ | Exception output is not escaped | ||
| #155 | WPFunnels – Funnel Builder for WooCommerce with Checkout & One Click Upsell | 22 | 6,004 | 2,764 | 5k+ | Text Domain Mismatch | ||
| #156 | WPSSO Core – Complete Schema Markup and Meta Tags | 22 | 1,407 | 412 | 5k+ | Missing Translators Comment | ||
| #157 | YaySMTP – WP Mail SMTP with Email Logs, Tracking & Reports | 22 | 654 | 435 | 10k+ | Exception output is not escaped | ||
| #158 | ЮKassa для WooCommerce | 22 | 590 | 168 | 9k+ | Short PHP open tag found | ||
| #159 | Advanced Ads – Ad Manager & AdSense | 23 | 559 | 719 | 100k+ | Non-prefixed global variable | ||
| #160 | AI Engine – The Chatbot, AI Framework & MCP for WordPress | 23 | 408 | 539 | 100k+ | error log error log | ||
| #161 | Affiliate Super Assistent | 23 | 1,280 | 267 | 1k+ | Text Domain Mismatch | ||
| #162 | Kadence Security – Password, Two Factor Authentication, and Brute Force Protection | 23 | 1,053 | 967 | 700k+ | Missing Translators Comment | ||
| #163 | Business Directory Plugin – Easy Listing Directories for WordPress | 23 | 611 | 1,063 | 10k+ | Non-prefixed global variable | ||
| #164 | Geo Controller | 23 | 91 | 450 | 1k+ | Non-prefixed global variable | ||
| #165 | WPBot – AI ChatBot for Live Support, Lead Generation, AI Services | 23 | 488 | 1,161 | 5k+ | Non-prefixed global variable | ||
| #166 | Content Egg – Affiliate Product Importer & Price Comparison | 23 | 1,245 | 1,275 | 10k+ | Non-prefixed global variable | ||
| #167 | Contest Gallery – Upload & Vote Photos, Media, Sell with PayPal & Stripe | 23 | 9,315 | 26,644 | 1k+ | Non-prefixed global variable | ||
| #168 | CWW Companion | 23 | 307 | 223 | 1k+ | Output is not escaped | ||
| #169 | DK PDF – WordPress PDF Generator | 23 | 744 | 335 | 3k+ | Exception output is not escaped | ||
| #170 | Easy Digital Downloads – eCommerce Payments and Subscriptions made easy | 23 | 3,723 | 10,283 | 40k+ | Non-prefixed namespace | ||
| #171 | Error Log Monitor | 23 | 694 | 1,414 | 20k+ | Non-prefixed global variable | ||
| #172 | Everest Forms – Contact Form, Payment Form, Quiz, Survey & Custom Form Builder with AI | 23 | 395 | 1,342 | 90k+ | Non-prefixed global variable | ||
| #173 | Spreadsheet Price Changer for WooCommerce and WP E-commerce – Light | 23 | 386 | 999 | 400 | Non-prefixed global variable | ||
| #174 | Ezoic | 23 | 432 | 516 | 10k+ | Output is not escaped | ||
| #175 | Fastcache by Host.it | 23 | 1,327 | 203 | 800 | Text Domain Mismatch | ||
| #176 | Filr – Secure document library | 23 | 775 | 1,317 | 700 | Non-prefixed global variable | ||
| #177 | Form Maker by 10Web – Mobile-Friendly Drag & Drop Contact Form Builder | 23 | 4,746 | 1,279 | 30k+ | Non Singular String Literal Domain | ||
| #178 | Futurio Extra | 23 | 787 | 205 | 20k+ | Text Domain Mismatch | ||
| #179 | FV Flowplayer Video Player | 23 | 1,311 | 1,454 | 20k+ | Output is not escaped | ||
| #180 | GAinWP Google Analytics Integration for WordPress | 23 | 525 | 176 | 8k+ | Output is not escaped | ||
| #181 | Anti-Malware Security and Brute-Force Firewall | 23 | 543 | 965 | 100k+ | Output is not escaped | ||
| #182 | Houzez Property Feed | 23 | 1,464 | 1,585 | 1k+ | Text Domain Mismatch | ||
| #183 | Payment forms, Buy now buttons, and Invoicing System | GetPaid | 23 | 389 | 1,266 | 5k+ | Non-prefixed global variable | ||
| #184 | IP Geo Block | 23 | 399 | 589 | 8k+ | Output is not escaped | ||
| #185 | Masteriyo LMS – LMS Course Builder, Quizzes & Certificates | 23 | 190 | 2,122 | 5k+ | Non-prefixed global variable | ||
| #186 | License Manager for WooCommerce | 23 | 129 | 797 | 6k+ | Nonce verification recommended | ||
| #187 | Link Whisper Free | 23 | 3,882 | 5,303 | 30k+ | Text Domain Mismatch | ||
| #188 | Locatoraid Store Locator | 23 | 318 | 645 | 1k+ | Non-prefixed global variable | ||
| #189 | MailPoet – Newsletters, Email Marketing, and Automation | 23 | 932 | 718 | 500k+ | Exception output is not escaped | ||
| #190 | Master Slider – Responsive Touch Slider | 23 | 800 | 408 | 60k+ | Output is not escaped | ||
| #191 | MasterStudy LMS WordPress Plugin – for Online Courses and Education | 23 | 1,419 | 4,875 | 10k+ | Non-prefixed global variable | ||
| #192 | Media Library Assistant | 23 | 1,131 | 3,759 | 70k+ | Nonce verification recommended | ||
| #193 | MediaPress | 23 | 904 | 583 | 4k+ | Output is not escaped | ||
| #194 | Moloni | 23 | 901 | 356 | 2k+ | Missing Arg Domain | ||
| #195 | Restaurant Menu and Food Ordering | 23 | 385 | 853 | 2k+ | Non-prefixed global variable | ||
| #196 | MultiParcels Shipping For WooCommerce | 23 | 197 | 389 | 4k+ | Mixed line endings | ||
| #197 | MPG – Multiple Page Generator, Bulk Landing Pages & Programmatic SEO | 23 | 485 | 580 | 2k+ | Missing nonce verification | ||
| #198 | MyWorks Sync for WooCommerce & QuickBooks Online | 23 | 2,292 | 9,101 | 5k+ | Non-prefixed global variable | ||
| #199 | Next Active Directory Integration | 23 | 683 | 284 | 2k+ | Exception output is not escaped | ||
| #200 | Photo Gallery, Sliders, Proofing and Themes – NextGEN Gallery | 23 | 2,129 | 993 | 400k+ | Text Domain Mismatch |