Changeset 3064701
- Timestamp:
- 04/04/2024 01:14:37 PM (21 months ago)
- Location:
- siteimprove
- Files:
-
- 29 added
- 7 edited
-
tags/2.0.7 (added)
-
tags/2.0.7/admin (added)
-
tags/2.0.7/admin/class-siteimprove-admin.php (added)
-
tags/2.0.7/admin/css (added)
-
tags/2.0.7/admin/css/siteimprove-admin.css (added)
-
tags/2.0.7/admin/css/siteimprove-preview.css (added)
-
tags/2.0.7/admin/img (added)
-
tags/2.0.7/admin/img/si-icon.svg (added)
-
tags/2.0.7/admin/index.php (added)
-
tags/2.0.7/admin/js (added)
-
tags/2.0.7/admin/js/siteimprove-admin.js (added)
-
tags/2.0.7/admin/js/siteimprove-gutenberg.js (added)
-
tags/2.0.7/admin/js/siteimprove.js (added)
-
tags/2.0.7/admin/partials (added)
-
tags/2.0.7/admin/partials/class-siteimprove-admin-settings.php (added)
-
tags/2.0.7/includes (added)
-
tags/2.0.7/includes/class-siteimprove-activator.php (added)
-
tags/2.0.7/includes/class-siteimprove-deactivator.php (added)
-
tags/2.0.7/includes/class-siteimprove-i18n.php (added)
-
tags/2.0.7/includes/class-siteimprove-loader.php (added)
-
tags/2.0.7/includes/class-siteimprove.php (added)
-
tags/2.0.7/includes/class-siteimproveutils.php (added)
-
tags/2.0.7/includes/index.php (added)
-
tags/2.0.7/index.php (added)
-
tags/2.0.7/languages (added)
-
tags/2.0.7/languages/siteimprove.pot (added)
-
tags/2.0.7/readme.txt (added)
-
tags/2.0.7/siteimprove.php (added)
-
tags/2.0.7/uninstall.php (added)
-
trunk/admin/class-siteimprove-admin.php (modified) (4 diffs)
-
trunk/admin/js/siteimprove-admin.js (modified) (1 diff)
-
trunk/admin/js/siteimprove.js (modified) (8 diffs)
-
trunk/admin/partials/class-siteimprove-admin-settings.php (modified) (2 diffs)
-
trunk/includes/class-siteimprove.php (modified) (2 diffs)
-
trunk/readme.txt (modified) (2 diffs)
-
trunk/siteimprove.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
siteimprove/trunk/admin/class-siteimprove-admin.php
r3013456 r3064701 111 111 plugin_dir_url( __FILE__ ) . 'js/siteimprove-gutenberg.js', 112 112 array( 'wp-plugins', 'wp-edit-post', 'wp-element', 'siteimprove' ), 113 true 113 $this->version, 114 false 114 115 ); 115 116 $si_js_args = array( … … 189 190 $disabled_new_version = get_option( 'siteimprove_disable_new_version' ); 190 191 $pattern = '/^[a-zA-Z_\d-]+.js/'; 192 $nonce = wp_create_nonce( 'siteimprove_nonce' ); 191 193 192 194 if ( ! empty( $file_name ) ) { … … 203 205 } 204 206 } 205 if ( ! isset( $_GET['si_preview'] ) || '0' === $_GET['si_preview'] ) { 207 208 if ( isset( $_GET['si_preview_nonce'] ) && wp_verify_nonce( sanitize_text_field( wp_unslash( $_GET['si_preview_nonce'] ) ), 'siteimprove_nonce' ) ) { 209 return; 210 } 211 else { 206 212 wp_enqueue_script( $this->plugin_name, plugin_dir_url( __FILE__ ) . 'js/siteimprove.js', array( 'jquery' ), $this->version, false ); 207 213 wp_enqueue_script( 'siteimprove_overlay', $overlay_path, array(), $this->version, true ); … … 222 228 'version' => $disabled_new_version, 223 229 'is_content_page' => $is_content_page, 230 'nonce' => $nonce, 224 231 ); 225 232 -
siteimprove/trunk/admin/js/siteimprove-admin.js
r3013456 r3064701 38 38 ajaxurl, 39 39 { 40 'action': 'siteimprove_request_token' 40 'action': 'siteimprove_request_token', 41 '_wpnonce': $( '#_wpnonce' ).val(), 41 42 }, 42 43 function (response) { -
siteimprove/trunk/admin/js/siteimprove.js
r3013456 r3064701 6 6 "use strict"; 7 7 8 const getDom = async function (url ) {8 const getDom = async function (url, nonce) { 9 9 const iframeContainer = document.createElement("div"); 10 10 iframeContainer.setAttribute("id", "div_iframe"); 11 11 document.body.appendChild(iframeContainer); 12 12 const separator = url.includes("?") ? "&" : "?"; 13 iframeContainer.innerHTML = `<iframe id='domIframe' src=${url}${separator}si_preview =1style='height:100vh; width:100%'></iframe>`;13 iframeContainer.innerHTML = `<iframe id='domIframe' src=${url}${separator}si_preview_nonce=${nonce} style='height:100vh; width:100%'></iframe>`; 14 14 const iframe = document.getElementById("domIframe"); 15 15 const promise = new Promise(function (resolve, reject) { … … 37 37 38 38 window.siteimprove = { 39 input: function (url, token, version, is_content_page ) {39 input: function (url, token, version, is_content_page, nonce) { 40 40 this.url = url; 41 41 this.token = token; … … 43 43 this.version = version; 44 44 this.is_content_page = is_content_page; 45 this.nonce = nonce; 45 46 this.common(url); 46 47 }, … … 233 234 // If exist siteimprove_input, call input Siteimprove method. 234 235 if (typeof siteimprove_input !== "undefined") { 235 siteimprove.input(siteimprove_input.url, siteimprove_input.token, siteimprove_input.version, siteimprove_input.is_content_page );236 siteimprove.input(siteimprove_input.url, siteimprove_input.token, siteimprove_input.version, siteimprove_input.is_content_page, siteimprove_input.nonce); 236 237 } 237 238 … … 263 264 url: window.location.href, 264 265 token: "", 266 nonce: "", 265 267 }; 266 268 … … 270 272 } 271 273 result.token = siteimprove_input.token; 274 result.nonce = siteimprove_input.nonce; 272 275 } 273 276 … … 277 280 } 278 281 result.token = siteimprove_domain.token; 282 result.nonce = siteimprove_domain.nonce; 279 283 } 280 284 return result; … … 287 291 evt.preventDefault(); 288 292 $("body").append('<div class="si-overlay"></div>'); 289 var dom = await getDom(si_prepublish_data.url );293 var dom = await getDom(si_prepublish_data.url, si_prepublish_data.nonce); 290 294 siteimprove.contentcheck_flatdom( 291 295 dom, -
siteimprove/trunk/admin/partials/class-siteimprove-admin-settings.php
r3019800 r3064701 108 108 109 109 // Register a new section in the siteimprove page. 110 if ( isset( $_GET['devmode'] ) ) {110 if ( isset( $_GET['devmode'] ) && wp_verify_nonce( sanitize_key( $_REQUEST['_wpnonce'] ), 'siteimprove-options' ) ) { 111 111 add_settings_section( 112 112 'siteimprove_dev_mode_section', … … 703 703 return; 704 704 } 705 echo esc_html( SiteimproveUtils::request_token() ); 705 706 // Check if the nonce is set and is valid. 707 if ( isset( $_REQUEST['_wpnonce'] ) && wp_verify_nonce( sanitize_key( $_REQUEST['_wpnonce'] ), 'siteimprove-options' ) ) { 708 // The nonce is valid, output the token. 709 echo esc_html( SiteimproveUtils::request_token() ); 710 } else { 711 wp_die(); 712 } 713 706 714 wp_die(); 707 715 } -
siteimprove/trunk/includes/class-siteimprove.php
r3013456 r3064701 61 61 62 62 $this->plugin_name = 'siteimprove'; 63 $this->version = '2.0. 0';63 $this->version = '2.0.7'; 64 64 65 65 $this->load_dependencies(); … … 147 147 148 148 // Siteimprove Actions. 149 if ( ! isset( $_GET['si_preview'] ) || '0' === $_GET['si_preview'] ) { 150 $this->loader->add_action( 'admin_init', $plugin_admin, 'siteimprove_init' ); 151 $this->loader->add_action( 'publish_page', $plugin_admin, 'siteimprove_save_session_url_post' ); 152 $this->loader->add_action( 'publish_post', $plugin_admin, 'siteimprove_save_session_url_post' ); 153 $this->loader->add_action( 'edit_term', $plugin_admin, 'siteimprove_save_session_url_term', 10, 3 ); 154 $this->loader->add_action( 'create_term', $plugin_admin, 'siteimprove_save_session_url_term', 10, 3 ); 155 $this->loader->add_action( 'transition_post_status', $plugin_admin, 'siteimprove_save_session_url_product', 10, 3 ); 156 $this->loader->add_action( 'wp_head', $plugin_admin, 'siteimprove_wp_head' ); 157 $this->loader->add_action( 'admin_bar_menu', $plugin_admin, 'add_prepublish_toolbar_item', 500, 1 ); 158 } 149 $this->loader->add_action( 'admin_init', $plugin_admin, 'siteimprove_init' ); 150 $this->loader->add_action( 'publish_page', $plugin_admin, 'siteimprove_save_session_url_post' ); 151 $this->loader->add_action( 'publish_post', $plugin_admin, 'siteimprove_save_session_url_post' ); 152 $this->loader->add_action( 'edit_term', $plugin_admin, 'siteimprove_save_session_url_term', 10, 3 ); 153 $this->loader->add_action( 'create_term', $plugin_admin, 'siteimprove_save_session_url_term', 10, 3 ); 154 $this->loader->add_action( 'transition_post_status', $plugin_admin, 'siteimprove_save_session_url_product', 10, 3 ); 155 $this->loader->add_action( 'wp_head', $plugin_admin, 'siteimprove_wp_head' ); 156 $this->loader->add_action( 'admin_bar_menu', $plugin_admin, 'add_prepublish_toolbar_item', 500, 1 ); 159 157 } 160 158 -
siteimprove/trunk/readme.txt
r3013456 r3064701 1 1 === Siteimprove === 2 2 Contributors: siteimprove 3 Tags: accessibility, analytics, insights, readability,spelling, seo3 Tags: accessibility, analytics, insights, spelling, seo 4 4 Requires at least: 4.7.2 5 Tested up to: 6. 2.26 Stable tag: trunk5 Tested up to: 6.4.3 6 Stable tag: 2.0.7 7 7 License: GPLv2 or later 8 8 License URI: https://www.gnu.org/licenses/gpl-2.0.html 9 9 10 Turn your most complex website challenges into manageable tasks—all from a single platform . Siteimprove is a comprehensive solution for every element of your marketing strategy—complete with three solution packages: Inclusivity, Content Experience, Marketing Performance.10 Turn your most complex website challenges into manageable tasks—all from a single platform 11 11 12 12 == Description == … … 86 86 87 87 == Changelog == 88 = 2.0.7 = 89 * Change - Changed name of the plugin from "Siteimprove Plugin" to "Siteimprove" 90 * Bugfix - Fixed a security issue with implementing nonce checking on request token 91 88 92 = 2.0.6 = 89 93 * Bugfix - Fixed an issue when some users tried saving their API credentials -
siteimprove/trunk/siteimprove.php
r3013463 r3064701 7 7 8 8 /** 9 * Plugin Name: Siteimprove Plugin9 * Plugin Name: Siteimprove 10 10 * Plugin URI: https://www.siteimprove.com/integrations/cms-plugin/wordpress/ 11 11 * Description: Integration with Siteimprove. 12 * Version: 2.0. 612 * Version: 2.0.7 13 13 * Author: Siteimprove 14 14 * Author URI: http://www.siteimprove.com/
Note: See TracChangeset
for help on using the changeset viewer.