Plugin Directory

Changeset 3229331


Ignore:
Timestamp:
01/27/2025 10:27:51 AM (13 months ago)
Author:
clinked
Message:

XSS bugfixes

Location:
clinked-client-portal/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • clinked-client-portal/trunk/README.md

    r3011472 r3229331  
    11# Clinked Wordpress Plugin
    22
    3 This simple plugin provides a widget and shortcode to add a login form to a page.
     3This simple plugin provides a widget and shortcode to add a login button to a page.
    44
    55## Usage
  • clinked-client-portal/trunk/clinked-wordpress-plugin.php

    r3011472 r3229331  
    5959
    6060  public static function get_widget($atts = [], $content = null, $tag = '') {
     61
     62
    6163    $atts = shortcode_atts([
    6264      "portal_url" => "https://app.clinked.app",
     
    6567      "text" => "",
    6668      "widget_id" => ""
    67       ], $atts);
     69      ], array_map('esc_attr', $atts));
    6870
    6971    if (empty($atts['widget_id'])) {
     
    8183    $buttonClasses = Array('wp-block-button', 'has-custom-font-size', 'has-small-font-size');
    8284    if (!empty($atts['button_class'])) {
    83       $buttonClasses = array_merge($buttonClasses, explode(',', $atts['button_class']));
     85      $buttonClasses = array_merge($buttonClasses, explode(',', esc_attr($atts['button_class'])));
    8486    }
    8587    $atts['buttonClasses'] = $buttonClasses;
     
    8789    $widget = '<div class="clinked-login-container"  data-widget="' . $atts["widget_id"] . '">';
    8890    if (!empty($atts["text"])) {
    89       $widget .= wpautop(wp_kses_post($atts["text"]));
     91      $widget .= wpautop(wp_kses_post(esc_html($atts["text"])));
    9092    }
    9193    $widget .= self::build_view($atts["widget_id"], 'button', $atts);
     
    148150      "remember_me" => false,
    149151      "remember_me_text" => "Remember me"
    150       ], $atts);
     152      ], array_map('esc_attr', $atts));
    151153
    152154    if (empty($atts['widget_id'])) {
     
    168170    $inputClasses = Array();
    169171    if (!empty($atts['input_class'])) {
    170       $inputClasses = array_merge($inputClasses, explode(',', $atts['input_class']));
     172      $inputClasses = array_merge($inputClasses, explode(',', esc_attr($atts['input_class'])));
    171173    }
    172174    $atts['inputClasses'] = $inputClasses;
     
    174176    $buttonClasses = Array();
    175177    if (!empty($atts['button_class'])) {
    176       $buttonClasses = array_merge($buttonClasses, explode(',', $atts['button_class']));
     178      $buttonClasses = array_merge($buttonClasses, explode(',', esc_attr($atts['button_class'])));
    177179    }
    178180    $atts['buttonClasses'] = $buttonClasses;
  • clinked-client-portal/trunk/readme.txt

    r3011472 r3229331  
    33Tags: client portal, customer portal, client portal software, white-label file sharing, collaboration tool, online project management, task management software, project management tool, online project management software, share files, share large files, secure file sharing, file sharing site, online file sharing, file transfer, collaborate, collaboration site, online collaboration, ftp alternative, ftp replacement, send large files, web collaboration, team workspace, extranet, team collaboration, send large files, share files online, file sharing
    44Requires at least: 3.0
    5 Tested up to: 6.4
    6 Stable tag: 1.9
     5Tested up to: 6.7
     6Stable tag: 1.10
    77License: MIT
    88License URI: https://mit-license.org/
     
    111111* The login form is depricated, please use the button instead.
    112112
     113= 1.10 =
     114* XSS bugfixes
     115
    113116== Upgrade Notice ==
    114117
Note: See TracChangeset for help on using the changeset viewer.