Text & Image Protector Security & Risk Analysis

wordpress.org/plugins/protect-content

This is a really simple plugin that let you chose for each post to have image protection and/or text protection

20 active installs v1.0 PHP + WP 2.7+ Updated Jan 14, 2011
protect-blogprotect-contentmprotect-imagesprotect-postprotect-text
85
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is Text & Image Protector Safe to Use in 2026?

Generally Safe

Score 85/100

Text & Image Protector has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs Updated 15yr ago
Risk Assessment

The 'protect-content' plugin version 1.11 shows a generally positive security posture due to the absence of known vulnerabilities and a lack of identified critical or high-severity issues in the static analysis. The code demonstrates good practices by exclusively using prepared statements for its single SQL query and including both nonce and capability checks, suggesting an awareness of common WordPress security vulnerabilities. The limited attack surface, with no AJAX handlers, REST API routes, shortcodes, or cron events, further contributes to its secure design.

However, a significant concern arises from the taint analysis, which revealed two flows with unsanitized paths. This indicates a potential for directory traversal or path manipulation vulnerabilities if these unsanitized paths are used in file operations or other sensitive contexts. Furthermore, the static analysis highlights that 100% of the four identified output operations are not properly escaped. This is a critical weakness that can lead to cross-site scripting (XSS) vulnerabilities, allowing attackers to inject malicious scripts into the WordPress site through user-supplied data that is displayed without proper sanitization.

While the plugin has no recorded vulnerability history, suggesting a generally stable past, the presence of unsanitized paths and unescaped output in the current analysis are immediate risks that need addressing. The plugin's strengths lie in its minimal attack surface and use of prepared statements and authorization checks. The weaknesses lie in the potential for path traversal and the confirmed XSS risk due to improper output escaping. Addressing these specific issues should be the priority for improving the plugin's security.

Key Concerns

  • Flows with unsanitized paths detected
  • Output escaping issues (0% properly escaped)
Vulnerabilities
None known

Text & Image Protector Security Vulnerabilities

No known vulnerabilities — this is a good sign.
Code Analysis
Analyzed Mar 16, 2026

Text & Image Protector Code Analysis

Dangerous Functions
0
Raw SQL Queries
0
1 prepared
Unescaped Output
4
0 escaped
Nonce Checks
1
Capability Checks
1
File Operations
1
External Requests
0
Bundled Libraries
0

SQL Query Safety

100% prepared1 total queries

Output Escaping

0% escaped4 total outputs
Data Flows
2 unsanitized

Data Flow Analysis

3 flows2 with unsanitized paths
print_TIP_post_options (TIProtector.php:106)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface

Text & Image Protector Attack Surface

Entry Points0
Unprotected0
WordPress Hooks 4
filterthe_contentTIProtector.php:47
actionadmin_menuTIProtector.php:66
actionsave_postTIProtector.php:103
actionadmin_menuTIProtector.php:213
Maintenance & Trust

Text & Image Protector Maintenance & Trust

Maintenance Signals

WordPress version tested3.0.5
Last updatedJan 14, 2011
PHP min version
Downloads7K

Community Trust

Rating0/100
Number of ratings0
Active installs20
Developer Profile

Text & Image Protector Developer Profile

imaprogrammer

2 plugins · 60 total installs

69
trust score
Avg Security Score
64/100
Avg Patch Time
30 days
View full developer profile
Detection Fingerprints

How We Detect Text & Image Protector

Patterns used to identify this plugin on WordPress sites during automated security audits and web crawling.

Asset Fingerprints

Asset Paths
/wp-content/plugins/protect-content/protector.gif

HTML / DOM Fingerprints

Data Attributes
onselectstartunselectable
Shortcode Output
<div onselectstart="return false;" unselectable="on;" style="-moz-user-select: none;"><div style="overflow: hidden; position: absolute; width:px; height:px; z-index:0; background: url('
FAQ

Frequently Asked Questions about Text & Image Protector