Many WordPress administrators disable the ability to insert unfiltered_html for Editors and Authors roles to avoid being hacked via iframe or other html elements that have an src attribute associated with them.
This plugin:
- Scans all publicly published pages and posts for src attributes, examines the domain name portion of the uri and compares the domain name to a list of trusted domain names maintained by the site administrator(s).
- Provides a list of violations allowing the administrator to choose to trust a domain name by clicking a button.
- Provides a dialog to insert embeded videos for YouTube, Vimeo, Dailymotion and Brightcove with a complete set of video and playlist attributes for each provider. You can create custom video embeds for other providers.
- Provides a dialog to embed html.
- Inserts auto-generated custom shortcode into the editor which means no html elements are used.
This section describes how to install the plugin and get it working.
- Upload the plugin files to the '/wp-content/plugins/lgr_responsive_iframe_watchdog' directory, or install the plugin through the WordPress plugins screen directly. Currently this plugin is only available through wordpress.org plugin directory.
- Activate the plugin through the 'Plugins' screen in WordPress. Look for 'Responsive Iframe Watchdog' and click the 'activate' link.
- Use the Tools->Responsive Iframe Watchdog screen to configure the plugin.
- Decide if you want your embeds to support the unsecured http protocol by checking the box. It is recommended to leave this unchecked and any existing http calls will be reported in the 'List of Violations'. If you decide to allow http the click 'Save Changes' before continuing.
- Upon installation the plugin's 'Trusted Domain Names' list will be empty and all pages and posts will temporarily be blocked from public view. Evaluate the 'List of Violations' and click the 'Add to Trusted List' button for each domain name you wish to trust, any duplicate domain names will be automatically removed from the list.
- Important: only 'Published' pages/posts are shown in the 'List of Violations'. Pages and Posts marked as 'Private', 'Draft' or 'Trash' will not appear in the list. When updating any pre-existing pages/posts visibility to 'Published' always preview the page/post to be sure that it is not blocked to the public due to an untrusted domain name.
- In the event that you see an http protocol violation a link to edit the post/page is provided. In most cases you will just simply change any http:// to https://.
- Click the 'Save Changes' button when you are finished trusting domain names and the 'List of Violations' should be empty, if not you need to decide if you want to delete any pages or posts that remain. The goal is to have no remaining Violations in the list.
- One final note: Any pre-existing HTML elements (i.e.
<iframe>
, <embed>
, <video><source>
) will still function as it did before providing the domain name is trusted. If you at some point you need to edit these pages/posts you should use this plugin's embed dialog form to re-embed using shortcode instead of the original HTML element. Convert any existing <iframe>
, <embed>
or <video><source>
elements to [lgrriw_div][lgrriw_iframe] shortcode via the dialog form. Failure to convert iframe tags to shorcode after editing an existing post/page containing an iframe could result in a blockage to public view after updating any changes to the page/post.