WP Manifestindependent plugin directory
manifest / utilities / find-wp-http-links

Find WordPress HTTP Links WP Registry grade D+. High-severity findings · 2 findingsWP RegistryHigh-severity findings · 2 findingsOpen the reportD+

Find / replace `http` links on an `https` WordPress site.

★ 1stars
v1.0.2latest · 8 years ago

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/mitchelldmiller/find-wp-http-links/archive/refs/heads/master.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

Adds "Find Http Links" to Tools menu. Find / replace http links in posts, pages, postmeta, options, widgets.

Description

Finds / replaces http links on an https WordPress site.

Includes FAKE MODE to check copy of production database running on development server.

Features

  • Finds http links on posts, pages, postmeta, options, widgets.

  • Checks image and video widgets added in WP 4.8.

  • Displays report with links to edit content.

  • Can replace content, postmeta. Identifies, but does not replace options or widgets.

Learn More

Installation

  1. Download the plugin and unpack in your /wp-content/plugins/ directory.

  2. Activate the plugin through the WordPress 'Plugins' menu.

  3. Backup your database before using plugin.

Frequently Asked Questions

  • There are many varieties of widgets. This plugin checks text, image, video, RSS widgets.

  • FAKE MODE uses the home option in database, if it is different than WP_HOME in wp-config.php

Translators and Programmers

  • A .pot file is included for translators.

License

This plugin is free for personal or commercial use.

Releases

2 releases.

Tag
Published
v1.0.2 latest
Nov 10, 2017 8 years ago
Jun 23, 2017 9 years ago

These releases are tags only. The author does not attach a packaged zip, so there are no download counts to report.

D+ grade

Security

Find WordPress HTTP Links 1.0.2 · audited by WP Registry

High-severity findings.

1 high 1 medium
Audited release
1.0.2
Findings
2
Worst severity
high
Content hash
e5c2ee1e8fe92c37c46eb22e…

Findings

  • high Content-replace AJAX lacks capability and per-post authorization

    missing_capability

    Tools submenu is gated by edit_published_posts (Author+), but AJAX handlers fwhl_replace_text, fwhl_replace_published_content, fwhl_replace_custom, and meta replace variants only call check_ajax_referer — no current_user_can('edit_post', $id) or manage_options. An Author who can open Tools → Find HTTP Links receives nonces in admin_footer and can rewrite post_content/postmeta for arbitrary post IDs, including others' content and bulk published replacements.

    find-wp-http-links.php:844-857

    Recommendation

    Require manage_options (or edit_others_posts) for bulk replace, and for single-ID replace require current_user_can('edit_post', $id). Prefer $wpdb->prepare / wp_update_post over string-interpolated SQL.

  • medium SQL built by interpolating request-derived URL strings

    unsafe_input

    Replace handlers embed esc_url_raw($_POST['from']/['to']) directly into SQL UPDATE/SELECT strings. esc_url_raw is not a SQL escape. On modern WP, magic quotes reduce classic quote-break SQLi, but this remains unsafe input handling and can break queries or enable edge-case injection if escaping assumptions change. Classify as unsafe_input (not critical SQLi) per wp_magic_quotes guidance.

    find-wp-http-links.php:849-852

    Recommendation

    Use $wpdb->prepare with placeholders, or load content via get_post/wp_update_post and perform replace in PHP.

WP Registry hashes the installable build and reports on that exact bytes-for-bytes copy. Embargoed findings are withheld until they are disclosed, so a clean verdict means nothing public is outstanding. WP Manifest does not audit code itself.