Plugin Directory

Changeset 2946175


Ignore:
Timestamp:
08/01/2023 05:46:26 PM (3 years ago)
Author:
fixbd
Message:

int 1.4.5

Location:
educare
Files:
50 added
7 edited

Legend:

Unmodified
Added
Removed
  • educare/trunk/Educare.php

    r2944930 r2946175  
    22/**
    33 * @package     Educare
    4  * @version     1.4.4
     4 * @version     1.4.5
    55 * @author      FixBD <fixbd.org@gmail.com>
    66 * @copyright   GPL-2.0+
     
    1111 * Plugin URI:   http://github.com/fixbd/educare
    1212 * Description:  Educare is a powerful online School/College students & results management system dev by FixBD. This plugin allows you to manage and publish students results. You can easily Add/Edit/Delete Students, Results, Class, Exam, Year Custom field and much more... Also you can import & export unlimited students and results just a click!
    13  * Version:      1.4.4
     13 * Version:      1.4.5
    1414 * Author:       FixBD
    1515 * Author URI:   http://github.com/fixbd
     
    4545    // Make it simple! (Define Educare Name-Space)
    4646    // Plugin Version
    47     define('EDUCARE_VERSION', '1.4.4');
     47    define('EDUCARE_VERSION', '1.4.5');
    4848    // Settings Version
    4949    define('EDUCARE_SETTINGS_VERSION', '1.0');
  • educare/trunk/assets/js/educare.js

    r2944930 r2946175  
    2323                data: {
    2424                action: 'educare_process_content',
    25                 nonce: educareAjax.nonce,
    2625                form_data: form_data,
    2726                active_menu: active_menu,
     
    6665                data: {
    6766                action: 'educare_proccess_grade_system',
    68                 nonce: educareAjax.nonce,
     67                nonce: educareNonce.edit_grade_system,
    6968                class: class_name
    7069                },
     
    9796                data: {
    9897                action: 'educare_save_grade_system',
    99                 nonce: educareAjax.nonce,
    10098                form_data: form_data,
    10199                update_grade_rules: true
     
    166164                data: {
    167165                action: 'educare_proccess_promote_students',
    168                 nonce: educareAjax.nonce,
    169166                form_data: form_data
    170167                },
     
    303300                data: {
    304301                    action: 'educare_process_marks',
    305                     nonce: educareAjax.nonce,
    306302                    form_data: form_data,
    307303                    action_for: action_for
     
    339335                data: {
    340336                    action: 'educare_process_marks',
    341                     nonce: educareAjax.nonce,
    342337                    form_data: form_data,
    343338                    action_for
     
    467462                data: {
    468463                    action: 'educare_class',
    469                     nonce: educareAjax.nonce,
    470464                    class: class_name,
    471465                    id: id_no,
     
    610604                    data: {
    611605                    action: 'educare_class',
    612                     nonce: educareAjax.nonce,
    613606                    class: class_name,
    614607                    id: id_no,
     
    663656                data: {
    664657                    action: 'educare_get_data_from_students',
    665                     nonce: educareAjax.nonce,
    666658                    form_data: form_data
    667659                },
     
    768760                data: {
    769761                    action: 'educare_process_content',
    770                     nonce: educareAjax.nonce,
    771762                    form_data: form_data,
    772763                    action_for
     
    853844                data: {
    854845                    action: 'educare_process_content',
    855                     nonce: educareAjax.nonce,
    856846                    form_data: form_data,
    857847                    action_for
     
    889879                data: {
    890880                    action: 'educare_process_content',
    891                     nonce: educareAjax.nonce,
    892881                    form_data: form_data,
    893882                    action_for
     
    918907                data: {
    919908                    action: 'educare_process_content',
    920                     nonce: educareAjax.nonce,
    921909                    form_data: form_data,
    922910                    action_for
     
    950938                data: {
    951939                    action: 'educare_process_content',
    952                     nonce: educareAjax.nonce,
    953940                    form_data: form_data,
    954941                    action_for
     
    994981                data: {
    995982                    action: 'educare_demo',
    996                     nonce: educareAjax.nonce,
     983                    nonce: educareNonce.demo_nonce,
    997984                    Class: class_name,
    998985                    total_demo: total_demo,
  • educare/trunk/changelog.md

    r2944930 r2946175  
     1## [1.4.5]
     2
     3### Stable - Security Release
     4- Enhanced security measures.
     5- It is crucial to update Educare to version 1.4.5 immediately.
     6- Please see the changelog v1.4.4 for list of previous updates.
     7
     8**Note:** Sometimes users may need to clear browsing data to load the updated script (After update).
     9
    110## [1.4.4]
    211
  • educare/trunk/includes/admin/menu.php

    r2944930 r2946175  
    147147        'group_subject' => educare_check_status('group_subject'),
    148148    ) );
     149
     150    wp_localize_script( 'educare-admin', 'educareNonce', array(
     151        'demo_nonce' => wp_create_nonce( 'educare_demo_nonce' ),
     152        'edit_grade_system' => wp_create_nonce( 'edit_grade_system' ),
     153    ) );
    149154   
    150155}
  • educare/trunk/includes/functions.php

    r2944930 r2946175  
    13571357        // Security nonce for form requests.
    13581358        $nonce = wp_create_nonce( 'educare_form_nonce' );
     1359        $crud_nonce = wp_create_nonce( 'educare_crud_data' );
    13591360     
    13601361    $forms = "<form method='post' action='' class='text_button'>
    13611362            <input type='hidden' name='nonce' value='".esc_attr($nonce)."'>
     1363            <input type='hidden' name='delete_nonce' value='".esc_attr($crud_nonce)."'>
    13621364      <input name='id' value='".esc_attr($id)."' hidden>
    13631365      <input type='submit' name='educare_results_by_id' formaction='".esc_url($profiles)."' class='educare_button' value='&#xf177' formtarget='_blank'>
     
    13901392       
    13911393        // Verify the nonce to ensure the request originated from the expected source
    1392         educare_verify_nonce();
     1394        educare_verify_nonce('educare_crud_data');
    13931395       
    13941396    global $wpdb, $table_name, $requred_fields;
     
    15111513
    15121514                    // Verify the nonce to ensure the request originated from the expected source
    1513                     educare_verify_nonce();
     1515                    if (isset($_POST['delete_nonce'])) {
     1516                        educare_verify_nonce('educare_crud_data', 'delete_nonce');
     1517                    } else {
     1518                        educare_verify_nonce('educare_crud_data');
     1519                    }
     1520                   
    15141521                   
    15151522                    $query = $wpdb->prepare("DELETE FROM $table_name WHERE id = %d", $id);
     
    16181625                <?php
    16191626                // Security nonce for form requests.
    1620                 $nonce = wp_create_nonce( 'educare_form_nonce' );
     1627                $nonce = wp_create_nonce( 'educare_crud_data' );
    16211628                echo '<input type="hidden" name="nonce" value="'.esc_attr($nonce).'">';
    16221629               
     
    22502257                    </div>
    22512258
     2259                    <?php
     2260                    $students_list_nonce = wp_create_nonce( 'students_list' );
     2261                    $get_Group_nonce = wp_create_nonce( 'get_Group' );
     2262                    $get_Class_nonce = wp_create_nonce( 'get_Class' );
     2263                   
     2264                    echo '<input type="hidden" name="students_list_nonce" value="'.esc_attr($students_list_nonce).'">';
     2265                    echo '<input type="hidden" name="get_Group_nonce" value="'.esc_attr($get_Group_nonce).'">';
     2266                    echo '<input type="hidden" name="get_Class_nonce" value="'.esc_attr($get_Class_nonce).'">';
     2267                    ?>
     2268
    22522269                    <input type="submit" name="students_list" id="process_marks" class="educare_button" value="Students List">
    22532270                </div>
     
    22882305
    22892306                // Verify the nonce to ensure the request originated from the expected source
    2290                 educare_verify_nonce();
     2307                educare_verify_nonce('educare_default_photos');
    22912308               
    22922309                $attachment_id = sanitize_text_field($_POST['educare_attachment_id']);
     
    22982315                <?php
    22992316                // Security nonce for form requests.
    2300                 $nonce = wp_create_nonce( 'educare_form_nonce' );
     2317                $nonce = wp_create_nonce( 'educare_default_photos' );
    23012318                echo '<input type="hidden" name="nonce" value="'.esc_attr($nonce).'">';
    23022319               
     
    24982515        <?php
    24992516        // Security nonce for form requests.
    2500         $nonce = wp_create_nonce( 'educare_form_nonce' );
     2517        $nonce = wp_create_nonce( 'educare_view_results' );
    25012518        echo '<input type="hidden" name="nonce" value="'.esc_attr($nonce).'">';
    25022519        ?>
     
    26142631            if (!isset($_POST['on_load'])) {
    26152632                // Verify the nonce to ensure the request originated from the expected source
    2616                 educare_verify_nonce();
     2633                educare_verify_nonce('educare_view_results');
    26172634            }
    26182635
     
    28122829                                        <input type="submit" class="button action_button" value="&#xf349">
    28132830                                        <menu class="action_link">
    2814                                                 <?php
    2815                                                 // Security nonce for form requests.
    2816                                                 $nonce = wp_create_nonce( 'educare_form_nonce' );
    2817                                                 ?>
     2831                                            <?php
     2832                                            // Security nonce for form requests.
     2833                                            $nonce = wp_create_nonce( 'educare_form_nonce' );
     2834                                            $remove_nonce = wp_create_nonce( 'educare_view_results' );
     2835                                            ?>
     2836
    28182837                                            <form class="educare-modify" method="post" id="educare_results" target="_blank">
    28192838                                                <?php
     
    28302849                                            <form class="educare-modify" action="<?php echo esc_url($link); ?>" method="post">
    28312850                                                <?php
    2832                                                 echo '<input type="hidden" name="nonce" value="'.esc_attr($nonce).'">';
     2851                                                echo '<input type="hidden" name="nonce" value="'.esc_attr($remove_nonce).'">';
    28332852                                                ?>
    28342853                                                <input type='hidden' name='educare_view_results'>
     
    28822901                <?php
    28832902                // Security nonce for form request.
    2884                 $nonce = wp_create_nonce( 'educare_form_nonce' );
     2903                $nonce = wp_create_nonce( 'educare_view_results' );
    28852904                echo '<input type="hidden" name="nonce" value="'.esc_attr($nonce).'">';
    28862905                ?>
     
    30983117    }
    30993118
    3100     // Verify nonce to ensure the request is secure
    3101     educare_verify_nonce();
    3102 
    31033119    // Get data from the AJAX request
    31043120    $class = sanitize_text_field($_POST['class']);
     
    31063122    $id = sanitize_text_field($_POST['id']);
    31073123    wp_parse_str($_POST['form_data'], $_POST);
     3124
     3125    // Verify nonce to ensure the request is secure
     3126    educare_verify_nonce('educare_crud_data');
    31083127
    31093128    // Check if the 'Group' field exists in the POST data
     
    31653184    if (!$demo_key) {
    31663185        // because, this is for import proccess, we have allready define nonce there
    3167         educare_verify_nonce();
     3186        educare_verify_nonce('educare_demo_nonce');
    31683187    }
    31693188   
     
    33923411
    33933412        // Verify the nonce to ensure the request originated from the expected source
    3394         educare_verify_nonce();
     3413        educare_verify_nonce('educare_import_data');
    33953414
    33963415        // Begin import results function
     
    35453564        <?php
    35463565        // Define educare nonce for secure request
    3547         $nonce = wp_create_nonce( 'educare_form_nonce' );
     3566        $nonce = wp_create_nonce( 'educare_import_data' );
    35483567        echo '<input type="hidden" name="nonce" value="'.esc_attr($nonce).'">';
    35493568        ?>
     
    38273846                $check = strtolower(substr(strstr($check, ' '), 1));
    38283847            }
    3829                        
     3848           
     3849            // Create nonce for update or remove forms
     3850            $update_nonce = wp_create_nonce( 'educare_update_'.esc_attr($in_list) );
     3851            $remove_nonce = wp_create_nonce( 'remove_'.esc_attr($in_list) );
     3852
    38303853            if ($in_list == 'Extra_field') {
    38313854                $data_type = strtok($target, ' ');
     
    38613884                            </div>
    38623885                                   
    3863                             <input type="text" name="<?php echo esc_attr($in_list);?>" hidden>
     3886                            <input type="hidden" name="<?php echo esc_attr($in_list);?>">
    38643887                   
    38653888                            <input type="submit" name="educare_update_<?php echo esc_attr($list);?>" class="educare_button update<?php echo esc_attr(str_replace(' ', '', $list));?>" onClick="<?php echo esc_js('add(this.form)');?>" value="&#xf464 Edit">
    38663889                   
    38673890                            <input type="submit" name="<?php echo esc_attr("remove_$list");?>" class="educare_button remove<?php echo esc_attr(str_replace(' ', '', $list));?>" value="&#xf182">
     3891
     3892                            <?php
     3893                            echo '<input type="hidden" name="educare_update_'.esc_attr($in_list).'_nonce" value="'.esc_attr($update_nonce).'">';
     3894                            echo '<input type="hidden" name="remove_'.esc_attr($in_list).'_nonce" value="'.esc_attr($remove_nonce).'">';
     3895                            ?>
    38683896
    38693897                        </form>
     
    38883916                            Edit - <b><?php echo esc_html($target);?></b>:<br>
    38893917                            <label for="Name" class="labels" id="name"></label>
    3890                                 <input type="text" name="<?php echo esc_attr($list);?>" value="<?php echo esc_attr($target);?>" placeholder="<?php echo esc_attr($list);?> Name">
     3918                            <input type="text" name="<?php echo esc_attr($list);?>" value="<?php echo esc_attr($target);?>" placeholder="<?php echo esc_attr($list);?> Name">
    38913919                       
    38923920                            <input type="submit" name="educare_update_<?php echo esc_attr($list);?>" class="educare_button update<?php echo esc_attr(str_replace(' ', '', $list));?>" value="&#xf464 Edit">
    38933921                               
    38943922                            <input type="submit" name="<?php echo esc_attr("remove_$list");?>" class="educare_button remove<?php echo esc_attr(str_replace(' ', '', $list));?>" value="&#xf182">
     3923
     3924                            <?php
     3925                            echo '<input type="hidden" name="educare_update_'.esc_attr($in_list).'_nonce" value="'.esc_attr($update_nonce).'">';
     3926                            echo '<input type="hidden" name="remove_'.esc_attr($in_list).'_nonce" value="'.esc_attr($remove_nonce).'">';
     3927                            ?>
    38953928                                                       
    38963929                        </form>
     
    44354468                echo '<input type="hidden" name="clear_data" value="'.esc_attr(educare_check_status('clear_data')).'">';
    44364469            }
     4470
     4471            $update_settings = wp_create_nonce( 'educare_update_settings_status' );
     4472            $reset_settings = wp_create_nonce( 'educare_reset_default_settings' );
     4473
     4474            echo '<input type="hidden" name="educare_update_settings_status_nonce" value="'.esc_attr($update_settings).'">';
     4475            echo '<input type="hidden" name="educare_reset_default_settings_nonce" value="'.esc_attr($reset_settings).'">';
    44374476            ?>
    44384477               
     
    46014640
    46024641                                        <input type="submit" name="remove_subject" class="educare_button proccess_<?php echo esc_attr($list);?>" value="&#xf182">
     4642
     4643                                        <?php
     4644                                        $update_subject_nonce = wp_create_nonce( 'update_subject' );
     4645                                        $remove_subject_nonce = wp_create_nonce( 'remove_subject' );
     4646                                       
     4647                                        echo '<input type="hidden" name="update_subject_nonce" value="'.esc_attr($update_subject_nonce).'">';
     4648                                        echo '<input type="hidden" name="remove_subject_nonce" value="'.esc_attr($remove_subject_nonce).'">';
     4649                                        ?>
    46034650                                       
    46044651                                    </form>
     
    46224669                                       
    46234670                                        <button id="educare_results_btn" class="educare_button proccess_<?php echo esc_attr($list);?>" name="update_class" type="submit"><i class="dashicons dashicons-edit"></i> Edit</button>
     4671
     4672                                        <?php
     4673                                        $update_class_nonce = wp_create_nonce( 'update_class' );
     4674                                       
     4675                                        echo '<input type="hidden" name="update_class_nonce" value="'.esc_attr($update_class_nonce).'">';
     4676                                        ?>
    46244677
    46254678                                    </form>
     
    48854938                        <span>
    48864939                            <form action="<?php echo esc_url($_SERVER['REQUEST_URI']); ?>" method="post">
    4887                             <input type="hidden" name="educare_process_<?php echo esc_attr($list);?>"><input type="hidden" name="class" value="<?php echo esc_attr( $class );?>">
    4888                             <input type="submit" class="proccess_<?php echo esc_attr($list);?>" name="edit_class" value="&#xf464"><input type="submit" class="proccess_<?php echo esc_attr($list);?>" name="remove_class" value="&#xf182"></form>
     4940
     4941                                <input type="hidden" name="educare_process_<?php echo esc_attr($list);?>"><input type="hidden" name="class" value="<?php echo esc_attr( $class );?>">
     4942
     4943                                <input type="submit" class="proccess_<?php echo esc_attr($list);?>" name="edit_class" value="&#xf464">
     4944
     4945                                <input type="submit" class="proccess_<?php echo esc_attr($list);?>" name="remove_class" value="&#xf182">
     4946
     4947                                <?php
     4948                                $edit_class_nonce = wp_create_nonce( 'edit_class' );
     4949                                $remove_class_nonce = wp_create_nonce( 'remove_class' );
     4950
     4951                                echo '<input type="hidden" name="edit_class_nonce" value="'.esc_attr($edit_class_nonce).'">';
     4952                                echo '<input type="hidden" name="remove_class_nonce" value="'.esc_attr($remove_class_nonce).'">';
     4953                                ?>
     4954
     4955                            </form>
    48894956                        </span>
    48904957                    </label>
     
    49154982                                        <td colspan='2'>
    49164983                                            <form class="educare-modify" action="<?php echo esc_url($_SERVER['REQUEST_URI']); ?>" method="post">
     4984
    49174985                                                <input type="hidden" name="educare_process_<?php echo esc_attr($list);?>">
    49184986
     
    49244992                                               
    49254993                                                <input type="submit" name="<?php echo esc_attr("remove_subject");?>" class="button error proccess_<?php echo esc_attr($list);?>" value="&#xf182">
     4994
     4995                                                <?php
     4996                                                $edit_subject_nonce = wp_create_nonce( 'edit_subject' );
     4997                                                $remove_subject_nonce = wp_create_nonce( 'remove_subject' );
     4998                                               
     4999                                                echo '<input type="hidden" name="edit_subject_nonce" value="'.esc_attr($edit_subject_nonce).'">';
     5000                                                echo '<input type="hidden" name="remove_subject_nonce" value="'.esc_attr($remove_subject_nonce).'">';
     5001                                                ?>
    49265002                                                   
    49275003                                            </form>
     
    49805056                        </div>
    49815057
     5058                        <?php
     5059                        $nonce = wp_create_nonce( 'add_subject' );
     5060                        echo '<input type="hidden" name="add_subject_nonce" value="'.esc_attr($nonce).'">';
     5061                        ?>
     5062
    49825063                        <button id="educare_results_btn" class="educare_button proccess_<?php echo esc_attr($list);?>" name="add_subject" type="submit"><i class="dashicons dashicons-plus-alt"></i> Add Subject</button>
    49835064                    </div>
     
    49975078                       
    49985079                        <br>
     5080
     5081                        <?php
     5082                        $nonce = wp_create_nonce( 'add_class' );
     5083                        echo '<input type="hidden" name="add_class_nonce" value="'.esc_attr($nonce).'">';
     5084                        ?>
    49995085                       
    50005086                        <button id="educare_results_btn" class="educare_button proccess_<?php echo esc_attr($list);?>" name="add_class" type="submit"><i class="dashicons dashicons-plus-alt"></i> Add <?php echo esc_html($list);?></button>
     
    50805166                           
    50815167                            <input type="submit" name="<?php echo esc_attr("remove_$list");?>" class="button error remove<?php echo esc_attr(str_replace('_', '', $list));?>" value="&#xf182">
     5168                           
     5169                            <?php
     5170                            $update_nonce = wp_create_nonce( 'educare_edit_'.esc_attr($list) );
     5171                            $remove_nonce = wp_create_nonce( 'remove_'.esc_attr($list) );
     5172                           
     5173                            echo '<input type="hidden" name="educare_edit_'.esc_attr($list).'_nonce" value="'.esc_attr($update_nonce).'">';
     5174                            echo '<input type="hidden" name="remove_'.esc_attr($list).'_nonce" value="'.esc_attr($remove_nonce).'">';
     5175                            ?>
    50825176                               
    50835177                        </form></td>
     
    51195213
    51205214        if ($form) {
     5215            // Create nonce for this form
     5216            $nonce = wp_create_nonce( 'educare_add_'.esc_attr($list) );
     5217           
    51215218            if ($list == 'Extra_field') {
    51225219                ?>
     
    51425239                    <input type="text" name="<?php echo esc_attr($list);?>" hidden>
    51435240
     5241                    <?php
     5242                    // Print nonce value
     5243                    echo '<input type="hidden" name="educare_add_'.esc_attr($list).'_nonce" value="'.esc_attr($nonce).'">';
     5244                    ?>
     5245
    51445246                    <button id="educare_add_<?php echo esc_attr($list);?>" class="educare_button" name="educare_add_<?php echo esc_attr($list);?>" type="submit" onClick="<?php echo esc_js('add(this.form)');?>"><i class="dashicons dashicons-plus-alt"></i> Add <?php echo esc_html($List);?></button>
    51455247                </div>
     
    51555257                        <label for="<?php echo esc_attr($list);?>" class="labels" id="<?php echo esc_attr($list);?>"></label>
    51565258                        <input type="text" name="<?php echo esc_attr($list);?>" class="fields" placeholder="<?php echo esc_attr($List);?> name" pattern="[A-Za-z0-9 ]+" title="Only Caretaker, Number and Space allowed. (A-Za-z0-9)">
     5259
     5260                        <?php
     5261                        // Print nonce value
     5262                        echo '<input type="hidden" name="educare_add_'.esc_attr($list).'_nonce" value="'.esc_attr($nonce).'">';
     5263                        ?>
    51575264                       
    51585265                        <button id="educare_add_<?php echo esc_attr($list);?>" class="educare_button" name="educare_add_<?php echo esc_attr($list);?>" type="submit"><i class="dashicons dashicons-plus-alt"></i> Add <?php echo esc_html($List);?></button>
     
    52115318        exit;
    52125319    }
    5213    
    5214     // verify is request comming from valid sources
    5215     educare_verify_nonce();
    52165320   
    52175321    $action_for = sanitize_text_field($_POST['action_for']);
     
    52275331    $_POST[$action_for] = $action_for;
    52285332    $_POST['active_menu'] = $active_menu;
     5333   
     5334    // verify is request comming from valid sources
     5335    educare_verify_nonce($action_for, $action_for.'_nonce');
    52295336
    52305337    if (isset($_POST['educare_process_Class'])) {
     
    56105717
    56115718                    <?php
    5612                     if ($sub_in) { 
     5719                    if ($sub_in) {
    56135720                        ?>
    56145721                        <div class="button_container">
     
    56195726                        </div>
    56205727                        <?php
     5728
     5729                        $add_marks_nonce = wp_create_nonce( 'add_marks' );
     5730                        $publish_marks_nonce = wp_create_nonce( 'publish_marks' );
     5731                       
     5732                        echo '<input type="hidden" name="add_marks_nonce" value="'.esc_attr($add_marks_nonce).'">';
     5733                        echo '<input type="hidden" name="publish_marks_nonce" value="'.esc_attr($publish_marks_nonce).'">';
    56215734                    }
    56225735                    ?>
     
    62046317        exit;
    62056318    }
    6206 
    6207     // Verify the nonce to ensure the request originated from the expected source
    6208     educare_verify_nonce();
    62096319   
    62106320    // Sanitize and parse necessary data from the AJAX request
     
    62146324    $_POST[$action_for] = $action_for;
    62156325    $_POST['data_for'] = $data_for;
     6326
     6327    // Verify the nonce to ensure the request originated from the expected source
     6328    educare_verify_nonce($action_for, $action_for.'_nonce');
    62166329
    62176330    // Sanitize other data for marks processing
     
    66296742
    66306743        // Verify the nonce to ensure the request originated from the expected source
    6631         educare_verify_nonce();
     6744        educare_verify_nonce('educare_promote_nonce');
    66326745
    66336746        $requred = array (
     
    68616974            <div class="content">
    68626975                <?php
    6863                     $nonce = wp_create_nonce( 'educare_form_nonce' );
     6976                    $nonce = wp_create_nonce( 'educare_promote_nonce' );
    68646977                    echo '<input type="hidden" name="nonce" value="'.esc_attr($nonce).'">';
    68656978                ?>
     
    69707083 * @param string $nonce (optional) A unique string representing the action or context for which the nonce was generated.
    69717084 * Default is 'educare_form_nonce' if not provided.
     7085 * @param string $nonce_field for specific nonce field
    69727086 *
    69737087 * @return void The function displays an error message if the nonce is missing or invalid. Execution terminates
     
    69817095 * ...
    69827096 */
    6983 function educare_verify_nonce($nonce = 'educare_form_nonce') {
     7097function educare_verify_nonce($nonce = 'educare_form_nonce', $nonce_field = 'nonce') {
     7098    $nonce = sanitize_text_field( $nonce );
     7099    $nonce_field = sanitize_text_field( $nonce_field );
     7100
    69847101    // check_ajax_referer( 'educare_form_nonce', 'nonce' );
    6985     if ( ! isset( $_POST['nonce'] ) || ! wp_verify_nonce( $_POST['nonce'], $nonce ) ) {
     7102    if ( ! isset( $_POST[$nonce_field] ) || ! wp_verify_nonce( $_POST[$nonce_field], $nonce ) ) {
    69867103    // Nonce is not valid, handle error or unauthorized access
    69877104        echo educare_show_msg('Invalid Request', false);
  • educare/trunk/includes/support/grading-systems.php

    r2944930 r2946175  
    176176  }
    177177
    178   educare_verify_nonce();
     178  educare_verify_nonce('edit_grade_system');
    179179
    180180    $rules = sanitize_text_field($_POST['class']);
     
    244244                <button id='save_addForm' class="educare_button" name="update_grade_rules"><i class='dashicons dashicons-yes'></i></button>
    245245                </div>
     246
     247        <?php
     248        // Security nonce for AJAX requests.
     249        $nonce = wp_create_nonce( 'update_grade_rules' );
     250        echo '<input type="hidden" name="nonce" value="'.esc_attr($nonce).'">';
     251        ?>
    246252               
    247253            </div>
     
    278284  }
    279285 
    280   educare_verify_nonce();
    281  
    282286  // Parse/get forms data
    283287  wp_parse_str($_POST['form_data'], $_POST);
     288  // Verify the nonce to ensure the request originated from the expected source
     289  educare_verify_nonce('update_grade_rules');
    284290
    285291  // Save data
  • educare/trunk/readme.txt

    r2944930 r2946175  
    77Tested up to:        6.2.2
    88Requires PHP:        5.2.4
    9 Stable tag:          1.4.4
     9Stable tag:          1.4.5
    1010License:             GPLv2 or later
    1111License URI:         http://www.gnu.org/licenses/gpl-2.0.html
     
    398398== Changelog ==
    399399
     400= [1.4.5] =
     401
     402= Stable - Security Release =
     403* Enhanced security measures.
     404* It is crucial to update Educare to version 1.4.5 immediately.
     405* Please see the changelog v1.4.4 for list of previous updates.
     406
     407**Note:** Sometimes users may need to clear browsing data to load the updated script (After update).
     408
    400409= [1.4.4] =
    401410
Note: See TracChangeset for help on using the changeset viewer.