Plugin Directory

Changeset 3336569


Ignore:
Timestamp:
07/30/2025 11:25:41 AM (5 months ago)
Author:
nintechnet
Message:

Adding v3.2.6

Location:
ninjascanner/trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • ninjascanner/trunk/checksum.txt

    r3269446 r3336569  
    1 {"checksums":{"ninjascanner\/.htaccess":"5710aa22e925eec77a1822f5c31db34523fd8f8dd573c144fb2cb755ece2f179","ninjascanner\/LICENSE.TXT":"0b383d5a63da644f628d99c33976ea6487ed89aaa59f0b3257992deac1171e6b","ninjascanner\/static\/ninjascanner.js":"e3d3ae89980cc58a8777497b729f9cdf4ea7c5e9e2ff6d2c339555eb2421c24d","ninjascanner\/static\/logo_ns_100.png":"5f2244b5fc0cb85722fd11b2a23b9fe8ff81d19a39ecc1441c8a685b1147def1","ninjascanner\/static\/integration.png":"4aae6ab016cb26b210a2a2ba249b12eefac8b6c533c823e90621fcdac32fd28d","ninjascanner\/static\/progress.gif":"73765d69d0c0053dda0c5e79e5f8532263dbc8f141a57b3271802ddec9dfe964","ninjascanner\/static\/rate.png":"d846afc8b450093dc270c0c0267101ed88f81affd655c613afffaa2cc5b80a4e","ninjascanner\/static\/index.html":"b633a587c652d02386c4f16f8c6f6aab7352d97f16367c3c40576214372dd628","ninjascanner\/static\/logo_ns_40.png":"03b969a43e993288c31006dedab3139e1bab2ce6df16677a1c52631a7991602b","ninjascanner\/static\/ninjascanner.css":"7b3eb726803ed748ce645b8cc64a4734c611cb4b8f26a5eced16858ea66dbe2f","ninjascanner\/static\/vendor\/index.html":"b633a587c652d02386c4f16f8c6f6aab7352d97f16367c3c40576214372dd628","ninjascanner\/static\/vendor\/prism\/index.html":"b633a587c652d02386c4f16f8c6f6aab7352d97f16367c3c40576214372dd628","ninjascanner\/static\/vendor\/prism\/prism.js":"d2d023fdd08154781caeb07383d3b12c6ac25a25b190de02b537a527bdcc39ef","ninjascanner\/static\/vendor\/prism\/prism.css":"031006fe86b87872bc82ae61d3c0f3347e0c63224e0cacaae6e3e4f086fe83c8","ninjascanner\/uninstall.php":"31d688de3c35afbd0a7ce0b45468c6ce5f15ab516c25f5a165931be7a07bff4d","ninjascanner\/languages\/.htaccess":"5d7a4156eddfad634f2f0f8275518660792db20f16456b14d08ea1a9a88c68fb","ninjascanner\/languages\/ninjascanner-fr_FR.po":"41008a5dc666efb1c735d508ad27de92bc88812ead0ae046e750f31a4c8d4824","ninjascanner\/languages\/index.html":"b633a587c652d02386c4f16f8c6f6aab7352d97f16367c3c40576214372dd628","ninjascanner\/languages\/ninjascanner.pot":"f4a08ec7af7cf8ab4edcaa78780d3740d928785542d459c22a7e004e4eb6a4b6","ninjascanner\/languages\/ninjascanner-fr_FR.mo":"e1f4f002f956dc06ab6b5ef79b40eb99cad256cc9edfe9632e060b61804f0c75","ninjascanner\/index.php":"0372cc2a78aa8c486c503db0afda3d56a9485e5d197591c36a468c585f133f7b","ninjascanner\/lib\/sign.pub":"f181fabc4543ff4c14bf729ac5040202693724dc620d1f53e46cf4aabe0504dc","ninjascanner\/lib\/gc.php":"f5ebfdfd6cfbf7d35fd2f34e21a02c78b095d6675c30ede08e9ce6eaefb4f0b4","ninjascanner\/lib\/tab_quarantine.php":"e8e8742ba7272cf47a46681296e9fc0ed95bffaac580c76de6f2f4c2686e38fc","ninjascanner\/lib\/.htaccess":"5d7a4156eddfad634f2f0f8275518660792db20f16456b14d08ea1a9a88c68fb","ninjascanner\/lib\/tab_ignored.php":"bb4ec07597945c61aa61dc23ad4ba89d1b74b31f6d10576687762a22176c8c21","ninjascanner\/lib\/ajax_all.php":"d1c7dc56bd707f7bb8bf081576a60c0082bd15c682c2c4994235a4a0dfe2560e","ninjascanner\/lib\/report_html.php":"869033a9d81d7e6115a476d4487c0f1f4c4cb2ce92c7b5979966a97af62390d9","ninjascanner\/lib\/ajax_hooks.php":"8e02d46737cc76219ce6671d22984401dc917b5f880e6d8d32e0cf7f3944ffd5","ninjascanner\/lib\/report_text.php":"f272e79e0efec183c9526ba51ff4f9c79c32f0d3f91ebcae54ce9c56a50148e9","ninjascanner\/lib\/core_updates.php":"9562d5268465c7c887a163ee8e675c769327edec63b6fee256c1bd2ff5ec1b67","ninjascanner\/lib\/index.html":"b633a587c652d02386c4f16f8c6f6aab7352d97f16367c3c40576214372dd628","ninjascanner\/lib\/file_view.php":"050de3b7a0380faebfbfdfa1e12e5f984a40c982c95b28d29559efdfea18f99a","ninjascanner\/lib\/utils.php":"87dd3b010f12cdd23008fd362e58aaa5f925aab7df616c0814871c5cf1da3c59","ninjascanner\/lib\/file_ignore.php":"871909177e40cb8969f7afaad3f67bb9c9023f561911947dc6f9554e6ebf9884","ninjascanner\/lib\/tab_about.php":"88953b05d18c1af4ed1d4810c2350542346d86bf77b13a33272449713aafbbc9","ninjascanner\/lib\/scan.php":"6411f2e1ed041a26af415cb1bcaf66437935307cf778e6b998c4eda5c06cd85e","ninjascanner\/lib\/help.php":"072073872262a78f4a08f7f80faa426d60143945b7af467d667d3ab33388da1c","ninjascanner\/lib\/file_compare.php":"26f20a18658d27a160a7824a7ade038c1a87d444d0cde0d87bb3a423b3775bd7","ninjascanner\/lib\/tab_settings.php":"f9eaed97fd005ccbd1b973e9fa0e7c6b12bce1cc162561cee12cff0fc014ce28","ninjascanner\/lib\/cli.php":"74ab29164a313a242ee95be0a9018c5ad6d6c60a472bc126a7661a920e1451d6","ninjascanner\/lib\/vendor\/.htaccess":"5d7a4156eddfad634f2f0f8275518660792db20f16456b14d08ea1a9a88c68fb","ninjascanner\/lib\/vendor\/index.html":"b633a587c652d02386c4f16f8c6f6aab7352d97f16367c3c40576214372dd628","ninjascanner\/lib\/vendor\/diff\/Diff.php":"c5fe6363287a4541d795ccfdff498c68bb3ab7be3cef2c2a7f26df97330102ab","ninjascanner\/lib\/vendor\/diff\/.htaccess":"5d7a4156eddfad634f2f0f8275518660792db20f16456b14d08ea1a9a88c68fb","ninjascanner\/lib\/vendor\/diff\/index.html":"b633a587c652d02386c4f16f8c6f6aab7352d97f16367c3c40576214372dd628","ninjascanner\/lib\/vendor\/diff\/Diff\/Renderer\/index.html":"b633a587c652d02386c4f16f8c6f6aab7352d97f16367c3c40576214372dd628","ninjascanner\/lib\/vendor\/diff\/Diff\/Renderer\/Abstract.php":"b9e7592fcca45a01ddac18fa41156880e17e2e95318b3840af74296ecb2e4c81","ninjascanner\/lib\/vendor\/diff\/Diff\/Renderer\/Html\/SideBySide.php":"8eed098129a48da3ae6131fbed00d60644fed66ea7f6397f6a9d9f31efda4825","ninjascanner\/lib\/vendor\/diff\/Diff\/Renderer\/Html\/index.html":"b633a587c652d02386c4f16f8c6f6aab7352d97f16367c3c40576214372dd628","ninjascanner\/lib\/vendor\/diff\/Diff\/Renderer\/Html\/Array.php":"6976ad2a144c288c3ce6d5845f2561bb7635cffd5c8554578d7d588a1a9cd5b0","ninjascanner\/lib\/vendor\/diff\/Diff\/index.html":"b633a587c652d02386c4f16f8c6f6aab7352d97f16367c3c40576214372dd628","ninjascanner\/lib\/vendor\/diff\/Diff\/SequenceMatcher.php":"0aa638d51108106bc546fb6697673e62fdccc804bc68c17f5c98c903b8fbf57b","ninjascanner\/lib\/tab_log.php":"60e62b47613343ec808e74f7e42f1b2e050b9378e244ee116d72908da36aaa3e","ninjascanner\/lib\/install.php":"fe8e03826481fa9748971e34b6cec4c8d28f055d63891b4090e19109c394e8ce","ninjascanner\/lib\/tab_summary.php":"6f037b27d9efcc34ed2860570b0f8d1a68b5e5c4937f6b93b359ef4840533719","ninjascanner\/lib\/ui.php":"e04ed522dc2778c1505875c04831fdf68212f7f0e9d3d04a62d65da67df50dd1","ninjascanner\/lib\/tab_premium.php":"57670104f71264b412a0c61893c86c74703810d70727640aad6d05e3c4846cc5","ninjascanner\/lib\/constants.php":"dae259dbb96246ab762b593a7940d4f264d9cef355c48e7820c287834086b72d","ninjascanner\/lib\/file_quarantine.php":"d758201829b86ca5d8be099e457b05f64d10f451f168eeabc1668b97d9a42a43","ninjascanner\/lib\/file_restore.php":"20fcfcad86026e3f0b8235942bd23434d6cb89c34b740dcb25e881df958b2e75","ninjascanner\/lib\/report_email.php":"7fd199f1087eb882fbe161cd698603c3317bf119f9dccdc505d91d5a89e71e08"}}
     1{"checksums":{"ninjascanner\/.htaccess":"5710aa22e925eec77a1822f5c31db34523fd8f8dd573c144fb2cb755ece2f179","ninjascanner\/LICENSE.TXT":"0b383d5a63da644f628d99c33976ea6487ed89aaa59f0b3257992deac1171e6b","ninjascanner\/static\/ninjascanner.js":"27fba101ae697289b0081dde742f350bc0fb94202589eaa789d107ba6f2dea50","ninjascanner\/static\/logo_ns_100.png":"5f2244b5fc0cb85722fd11b2a23b9fe8ff81d19a39ecc1441c8a685b1147def1","ninjascanner\/static\/integration.png":"4aae6ab016cb26b210a2a2ba249b12eefac8b6c533c823e90621fcdac32fd28d","ninjascanner\/static\/progress.gif":"73765d69d0c0053dda0c5e79e5f8532263dbc8f141a57b3271802ddec9dfe964","ninjascanner\/static\/rate.png":"d846afc8b450093dc270c0c0267101ed88f81affd655c613afffaa2cc5b80a4e","ninjascanner\/static\/index.html":"b633a587c652d02386c4f16f8c6f6aab7352d97f16367c3c40576214372dd628","ninjascanner\/static\/logo_ns_40.png":"03b969a43e993288c31006dedab3139e1bab2ce6df16677a1c52631a7991602b","ninjascanner\/static\/ninjascanner.css":"7b3eb726803ed748ce645b8cc64a4734c611cb4b8f26a5eced16858ea66dbe2f","ninjascanner\/static\/vendor\/index.html":"b633a587c652d02386c4f16f8c6f6aab7352d97f16367c3c40576214372dd628","ninjascanner\/static\/vendor\/prism\/index.html":"b633a587c652d02386c4f16f8c6f6aab7352d97f16367c3c40576214372dd628","ninjascanner\/static\/vendor\/prism\/prism.js":"d2d023fdd08154781caeb07383d3b12c6ac25a25b190de02b537a527bdcc39ef","ninjascanner\/static\/vendor\/prism\/prism.css":"031006fe86b87872bc82ae61d3c0f3347e0c63224e0cacaae6e3e4f086fe83c8","ninjascanner\/uninstall.php":"31d688de3c35afbd0a7ce0b45468c6ce5f15ab516c25f5a165931be7a07bff4d","ninjascanner\/languages\/.htaccess":"5d7a4156eddfad634f2f0f8275518660792db20f16456b14d08ea1a9a88c68fb","ninjascanner\/languages\/ninjascanner-fr_FR.po":"41008a5dc666efb1c735d508ad27de92bc88812ead0ae046e750f31a4c8d4824","ninjascanner\/languages\/index.html":"b633a587c652d02386c4f16f8c6f6aab7352d97f16367c3c40576214372dd628","ninjascanner\/languages\/ninjascanner.pot":"f4a08ec7af7cf8ab4edcaa78780d3740d928785542d459c22a7e004e4eb6a4b6","ninjascanner\/languages\/ninjascanner-fr_FR.mo":"e1f4f002f956dc06ab6b5ef79b40eb99cad256cc9edfe9632e060b61804f0c75","ninjascanner\/index.php":"d6d323642ee8b35863dfdeac0cffb4bb50b23fe4cf62c40f385bccdadcb1afbd","ninjascanner\/lib\/sign.pub":"f181fabc4543ff4c14bf729ac5040202693724dc620d1f53e46cf4aabe0504dc","ninjascanner\/lib\/gc.php":"f5ebfdfd6cfbf7d35fd2f34e21a02c78b095d6675c30ede08e9ce6eaefb4f0b4","ninjascanner\/lib\/tab_quarantine.php":"e8e8742ba7272cf47a46681296e9fc0ed95bffaac580c76de6f2f4c2686e38fc","ninjascanner\/lib\/.htaccess":"5d7a4156eddfad634f2f0f8275518660792db20f16456b14d08ea1a9a88c68fb","ninjascanner\/lib\/tab_ignored.php":"bb4ec07597945c61aa61dc23ad4ba89d1b74b31f6d10576687762a22176c8c21","ninjascanner\/lib\/ajax_all.php":"d1c7dc56bd707f7bb8bf081576a60c0082bd15c682c2c4994235a4a0dfe2560e","ninjascanner\/lib\/report_html.php":"66088d21c668e9befe2ef32fd864f7b5d0cc63bbba98ac0eb31ed42e1ef838e5","ninjascanner\/lib\/ajax_hooks.php":"9ae3a6edcf7e1ae48c2a43d6ee604e8a63995d48207dd8802d5ef564c778d90a","ninjascanner\/lib\/report_text.php":"f272e79e0efec183c9526ba51ff4f9c79c32f0d3f91ebcae54ce9c56a50148e9","ninjascanner\/lib\/core_updates.php":"9562d5268465c7c887a163ee8e675c769327edec63b6fee256c1bd2ff5ec1b67","ninjascanner\/lib\/index.html":"b633a587c652d02386c4f16f8c6f6aab7352d97f16367c3c40576214372dd628","ninjascanner\/lib\/file_view.php":"050de3b7a0380faebfbfdfa1e12e5f984a40c982c95b28d29559efdfea18f99a","ninjascanner\/lib\/utils.php":"87dd3b010f12cdd23008fd362e58aaa5f925aab7df616c0814871c5cf1da3c59","ninjascanner\/lib\/file_ignore.php":"871909177e40cb8969f7afaad3f67bb9c9023f561911947dc6f9554e6ebf9884","ninjascanner\/lib\/tab_about.php":"88953b05d18c1af4ed1d4810c2350542346d86bf77b13a33272449713aafbbc9","ninjascanner\/lib\/scan.php":"6411f2e1ed041a26af415cb1bcaf66437935307cf778e6b998c4eda5c06cd85e","ninjascanner\/lib\/help.php":"072073872262a78f4a08f7f80faa426d60143945b7af467d667d3ab33388da1c","ninjascanner\/lib\/file_compare.php":"26f20a18658d27a160a7824a7ade038c1a87d444d0cde0d87bb3a423b3775bd7","ninjascanner\/lib\/tab_settings.php":"f9eaed97fd005ccbd1b973e9fa0e7c6b12bce1cc162561cee12cff0fc014ce28","ninjascanner\/lib\/cli.php":"74ab29164a313a242ee95be0a9018c5ad6d6c60a472bc126a7661a920e1451d6","ninjascanner\/lib\/vendor\/.htaccess":"5d7a4156eddfad634f2f0f8275518660792db20f16456b14d08ea1a9a88c68fb","ninjascanner\/lib\/vendor\/index.html":"b633a587c652d02386c4f16f8c6f6aab7352d97f16367c3c40576214372dd628","ninjascanner\/lib\/vendor\/diff\/Diff.php":"c5fe6363287a4541d795ccfdff498c68bb3ab7be3cef2c2a7f26df97330102ab","ninjascanner\/lib\/vendor\/diff\/.htaccess":"5d7a4156eddfad634f2f0f8275518660792db20f16456b14d08ea1a9a88c68fb","ninjascanner\/lib\/vendor\/diff\/index.html":"b633a587c652d02386c4f16f8c6f6aab7352d97f16367c3c40576214372dd628","ninjascanner\/lib\/vendor\/diff\/Diff\/Renderer\/index.html":"b633a587c652d02386c4f16f8c6f6aab7352d97f16367c3c40576214372dd628","ninjascanner\/lib\/vendor\/diff\/Diff\/Renderer\/Abstract.php":"b9e7592fcca45a01ddac18fa41156880e17e2e95318b3840af74296ecb2e4c81","ninjascanner\/lib\/vendor\/diff\/Diff\/Renderer\/Html\/SideBySide.php":"8eed098129a48da3ae6131fbed00d60644fed66ea7f6397f6a9d9f31efda4825","ninjascanner\/lib\/vendor\/diff\/Diff\/Renderer\/Html\/index.html":"b633a587c652d02386c4f16f8c6f6aab7352d97f16367c3c40576214372dd628","ninjascanner\/lib\/vendor\/diff\/Diff\/Renderer\/Html\/Array.php":"6976ad2a144c288c3ce6d5845f2561bb7635cffd5c8554578d7d588a1a9cd5b0","ninjascanner\/lib\/vendor\/diff\/Diff\/index.html":"b633a587c652d02386c4f16f8c6f6aab7352d97f16367c3c40576214372dd628","ninjascanner\/lib\/vendor\/diff\/Diff\/SequenceMatcher.php":"0aa638d51108106bc546fb6697673e62fdccc804bc68c17f5c98c903b8fbf57b","ninjascanner\/lib\/tab_log.php":"60e62b47613343ec808e74f7e42f1b2e050b9378e244ee116d72908da36aaa3e","ninjascanner\/lib\/install.php":"fe8e03826481fa9748971e34b6cec4c8d28f055d63891b4090e19109c394e8ce","ninjascanner\/lib\/tab_summary.php":"6f037b27d9efcc34ed2860570b0f8d1a68b5e5c4937f6b93b359ef4840533719","ninjascanner\/lib\/ui.php":"e04ed522dc2778c1505875c04831fdf68212f7f0e9d3d04a62d65da67df50dd1","ninjascanner\/lib\/tab_premium.php":"57670104f71264b412a0c61893c86c74703810d70727640aad6d05e3c4846cc5","ninjascanner\/lib\/constants.php":"dae259dbb96246ab762b593a7940d4f264d9cef355c48e7820c287834086b72d","ninjascanner\/lib\/file_quarantine.php":"d758201829b86ca5d8be099e457b05f64d10f451f168eeabc1668b97d9a42a43","ninjascanner\/lib\/file_restore.php":"20fcfcad86026e3f0b8235942bd23434d6cb89c34b740dcb25e881df958b2e75","ninjascanner\/lib\/report_email.php":"7fd199f1087eb882fbe161cd698603c3317bf119f9dccdc505d91d5a89e71e08"}}
  • ninjascanner/trunk/index.php

    r3269446 r3336569  
    66Author: The Ninja Technologies Network
    77Author URI: https://nintechnet.com/
    8 Version: 3.2.5
     8Version: 3.2.6
    99License: GPLv3 or later
    1010Network: true
     
    1313*/
    1414
    15 define('NSCAN_VERSION', '3.2.5');
     15define('NSCAN_VERSION', '3.2.6');
    1616
    1717/*
     
    205205                esc_html__(
    206206                    'File is not in the ABSPATH or DOCUMENT_ROOT: %s',
     207                    'ninjascanner'
     208                ),
     209                esc_html( $file )
     210            ) );
     211        }
     212
     213        // Make sure the file was flagged as suspicious by the scanner.
     214        $fileinode = sha1( AUTH_KEY . fileinode( $file ) );
     215        if ( empty( $_GET['fileinode'] ) || $_GET['fileinode'] != $fileinode ) {
     216            wp_die( sprintf(
     217                esc_html__(
     218                    'Wrong file: %s',
    207219                    'ninjascanner'
    208220                ),
  • ninjascanner/trunk/lib/ajax_hooks.php

    r2923141 r3336569  
    348348    }
    349349
     350    // Make sure the file was flagged as suspicious by the scanner.
     351    $fileinode = sha1( AUTH_KEY . fileinode( $file ) );
     352    if ( empty( $_POST['fileinode'] ) || $_POST['fileinode'] != $fileinode ) {
     353        echo '404';
     354        wp_die();
     355    }
     356
    350357    require __DIR__ .'/file_quarantine.php';
    351358
  • ninjascanner/trunk/lib/report_html.php

    r2803384 r3336569  
    15661566        $encoded_name = base64_encode( $file );
    15671567        $unique_id = uniqid( "$id-" );
     1568        $fileinode = sha1( AUTH_KEY . fileinode( $file ) );
    15681569
    15691570        // ===============================================================
     
    16451646                        <label class="ns-label-menu '. NSCAN_ROW_ACTIONS .'">
    16461647                            <a onClick="nscanjs_file_info('. "'{$unique_id}','{$table_name}'" .')" title="'. $title_info .'">'. $file_info .'</a> |
    1647                             <a onClick="nscanjs_file_operation('. "'{$encoded_name}','view','{$nonce}','{$unique_id}','{$table_name}'" .')" title="'. $title_view .'">'. $file_view .'</a> |
     1648                            <a onClick="nscanjs_file_operation('. "'{$encoded_name}','view','{$nonce}','{$unique_id}','{$table_name}','','$fileinode'" .')" title="'. $title_view .'">'. $file_view .'</a> |
    16481649                            <a onClick="nscanjs_file_operation('. "'{$encoded_name}','compare','{$nonce}','{$unique_id}','{$table_name}'" .')" title="'. $title_compare .'">'. $file_changes .'</a> |
    16491650                            <a onClick="nscanjs_file_operation('. "'{$encoded_name}','restore','{$nonce}','{$unique_id}','{$table_name}'" .')" title="'. $title_restore .'">'. $file_restore .'</a> |
     
    16881689                        <label class="ns-label-menu '. NSCAN_ROW_ACTIONS .'">
    16891690                            <a onClick="nscanjs_file_info('. "'{$unique_id}','{$table_name}'" .')" title="'. $title_info .'">'. $file_info .'</a> |
    1690                             <a onClick="nscanjs_file_operation('. "'{$encoded_name}','view','{$nonce}','{$unique_id}','{$table_name}'" .')" title="'. $title_view .'">'. $file_view .'</a> |
     1691                            <a onClick="nscanjs_file_operation('. "'{$encoded_name}','view','{$nonce}','{$unique_id}','{$table_name}','','$fileinode'" .')" title="'. $title_view .'">'. $file_view .'</a> |
    16911692                            <a onClick="nscanjs_file_operation('. "'{$encoded_name}','ignore','{$nonce}','{$unique_id}','{$table_name}'" .')" title="'. $title_ignore .'">'. $file_ignore .'</a> |
    1692                             <a onClick="nscanjs_file_operation('. "'{$encoded_name}','quarantine','{$nonce}','{$unique_id}','{$table_name}'" .')" title="'. $title_quarantine .'">'. $file_quarantine .'</a>
     1693                            <a onClick="nscanjs_file_operation('. "'{$encoded_name}','quarantine','{$nonce}','{$unique_id}','{$table_name}','','$fileinode'" .')" title="'. $title_quarantine .'">'. $file_quarantine .'</a>
    16931694                        </label>
    16941695                        <div id="file-info-'. $unique_id .'" style="display:none">
     
    17381739                        <label class="ns-label-menu '. NSCAN_ROW_ACTIONS .'">
    17391740                            <a onClick="nscanjs_file_info('. "'{$unique_id}','{$table_name}'" .')" title="'. $title_info .'">'. $file_info .'</a> |
    1740                             <a onClick="nscanjs_file_operation('. "'{$encoded_name}','view','{$nonce}','{$unique_id}','{$table_name}'" .')" title="'. $title_view .'">'. $file_view .'</a> |
     1741                            <a onClick="nscanjs_file_operation('. "'{$encoded_name}','view','{$nonce}','{$unique_id}','{$table_name}','','$fileinode'" .')" title="'. $title_view .'">'. $file_view .'</a> |
    17411742                            <a onClick="nscanjs_file_operation('. "'{$encoded_name}','ignore','{$nonce}','{$unique_id}','{$table_name}'" .')" title="'. $title_ignore .'">'. $file_ignore .'</a> |
    1742                             <a onClick="nscanjs_file_operation('. "'{$encoded_name}','quarantine','{$nonce}','{$unique_id}','{$table_name}'" .')" title="'. $title_quarantine .'">'. $file_quarantine .'</a>
     1743                            <a onClick="nscanjs_file_operation('. "'{$encoded_name}','quarantine','{$nonce}','{$unique_id}','{$table_name}','','$fileinode'" .')" title="'. $title_quarantine .'">'. $file_quarantine .'</a>
    17431744                        </label>
    17441745                        <div id="file-info-'. $unique_id .'" style="display:none">
     
    17881789                        <label class="ns-label-menu '. NSCAN_ROW_ACTIONS .'">
    17891790                            <a onClick="nscanjs_file_info('. "'{$unique_id}','{$table_name}'" .')" title="'. $title_info .'">'. $file_info .'</a> |
    1790                             <a onClick="nscanjs_file_operation('. "'{$encoded_name}','view','{$nonce}','{$unique_id}','{$table_name}'" .')" title="'. $title_view .'">'. $file_view .'</a> |
     1791                            <a onClick="nscanjs_file_operation('. "'{$encoded_name}','view','{$nonce}','{$unique_id}','{$table_name}','','$fileinode'" .')" title="'. $title_view .'">'. $file_view .'</a> |
    17911792                            <a onClick="nscanjs_file_operation('. "'{$encoded_name}','compare','{$nonce}','{$unique_id}','{$table_name}'" .')" title="'. $title_compare .'">'. $file_changes .'</a> |
    17921793                            <a onClick="nscanjs_file_operation('. "'{$encoded_name}','restore','{$nonce}','{$unique_id}','{$table_name}'" .')" title="'. $title_restore .'">'. $file_restore .'</a> |
     
    18321833                        <label class="ns-label-menu '. NSCAN_ROW_ACTIONS .'">
    18331834                            <a onClick="nscanjs_file_info('. "'{$unique_id}','{$table_name}'" .')" title="'. $title_info .'">'. $file_info .'</a> |
    1834                             <a onClick="nscanjs_file_operation('. "'{$encoded_name}','view','{$nonce}','{$unique_id}','{$table_name}'" .')" title="'. $title_view .'">'. $file_view .'</a> |
     1835                            <a onClick="nscanjs_file_operation('. "'{$encoded_name}','view','{$nonce}','{$unique_id}','{$table_name}','','$fileinode'" .')" title="'. $title_view .'">'. $file_view .'</a> |
    18351836                            <a onClick="nscanjs_file_operation('. "'{$encoded_name}','ignore','{$nonce}','{$unique_id}','{$table_name}'" .')" title="'. $title_ignore .'">'. $file_ignore .'</a> |
    1836                             <a onClick="nscanjs_file_operation('. "'{$encoded_name}','quarantine','{$nonce}','{$unique_id}','{$table_name}'" .')" title="'. $title_quarantine .'">'. $file_quarantine .'</a>
     1837                            <a onClick="nscanjs_file_operation('. "'{$encoded_name}','quarantine','{$nonce}','{$unique_id}','{$table_name}','','$fileinode'" .')" title="'. $title_quarantine .'">'. $file_quarantine .'</a>
    18371838                        </label>
    18381839                        <div id="file-info-'. $unique_id .'" style="display:none">
     
    18751876                        <label class="ns-label-menu '. NSCAN_ROW_ACTIONS .'">
    18761877                            <a onClick="nscanjs_file_info('. "'{$unique_id}','{$table_name}'" .')" title="'. $title_info .'">'. $file_info .'</a> |
    1877                             <a onClick="nscanjs_file_operation('. "'{$encoded_name}','view','{$nonce}','{$unique_id}','{$table_name}'" .')" title="'. $title_view .'">'. $file_view .'</a> |
     1878                            <a onClick="nscanjs_file_operation('. "'{$encoded_name}','view','{$nonce}','{$unique_id}','{$table_name}','','$fileinode'" .')" title="'. $title_view .'">'. $file_view .'</a> |
    18781879                            <a onClick="nscanjs_file_operation('. "'{$encoded_name}','ignore','{$nonce}','{$unique_id}','{$table_name}'" .')" title="'. $title_ignore .'">'. $file_ignore .'</a> |
    1879                             <a onClick="nscanjs_file_operation('. "'{$encoded_name}','quarantine','{$nonce}','{$unique_id}','{$table_name}'" .')" title="'. $title_quarantine .'">'. $file_quarantine .'</a>
     1880                            <a onClick="nscanjs_file_operation('. "'{$encoded_name}','quarantine','{$nonce}','{$unique_id}','{$table_name}','','$fileinode'" .')" title="'. $title_quarantine .'">'. $file_quarantine .'</a>
    18801881                        </label>
    18811882                        <div id="file-info-'. $unique_id .'" style="display:none">
     
    19251926                        <label class="ns-label-menu '. NSCAN_ROW_ACTIONS .'">
    19261927                            <a onClick="nscanjs_file_info('. "'{$unique_id}','{$table_name}'" .')" title="'. $title_info .'">'. $file_info .'</a> |
    1927                             <a onClick="nscanjs_file_operation('. "'{$encoded_name}','view','{$nonce}','{$unique_id}','{$table_name}'" .')" title="'. $title_view .'">'. $file_view .'</a> |
     1928                            <a onClick="nscanjs_file_operation('. "'{$encoded_name}','view','{$nonce}','{$unique_id}','{$table_name}','','$fileinode'" .')" title="'. $title_view .'">'. $file_view .'</a> |
    19281929                            <a onClick="nscanjs_file_operation('. "'{$encoded_name}','ignore','{$nonce}','{$unique_id}','{$table_name}'" .')" title="'. $title_ignore .'">'. $file_ignore .'</a> |
    1929                             <a onClick="nscanjs_file_operation('. "'{$encoded_name}','quarantine','{$nonce}','{$unique_id}','{$table_name}'" .')" title="'. $title_quarantine .'">'. $file_quarantine .'</a>
     1930                            <a onClick="nscanjs_file_operation('. "'{$encoded_name}','quarantine','{$nonce}','{$unique_id}','{$table_name}','','$fileinode'" .')" title="'. $title_quarantine .'">'. $file_quarantine .'</a>
    19301931                        </label>
    19311932                        <div id="file-info-'. $unique_id .'" style="display:none">
     
    19751976                        <label class="ns-label-menu '. NSCAN_ROW_ACTIONS .'">
    19761977                            <a onClick="nscanjs_file_info('. "'{$unique_id}','{$table_name}'" .')" title="'. $title_info .'">'. $file_info .'</a> |
    1977                             <a onClick="nscanjs_file_operation('. "'{$encoded_name}','view','{$nonce}','{$unique_id}','{$table_name}'" .')" title="'. $title_view .'">'. $file_view .'</a> |
     1978                            <a onClick="nscanjs_file_operation('. "'{$encoded_name}','view','{$nonce}','{$unique_id}','{$table_name}','','$fileinode'" .')" title="'. $title_view .'">'. $file_view .'</a> |
    19781979                            <a onClick="nscanjs_file_operation('. "'{$encoded_name}','compare','{$nonce}','{$unique_id}','{$table_name}'" .')" title="'. $title_compare .'">'. $file_changes .'</a> |
    19791980                            <a onClick="nscanjs_file_operation('. "'{$encoded_name}','restore','{$nonce}','{$unique_id}','{$table_name}'" .')" title="'. $title_restore .'">'. $file_restore .'</a> |
     
    20482049            if ( $what != 2 && $what != 4 ) {
    20492050                $ret .= '
    2050                             <a onClick="nscanjs_file_operation('. "'{$encoded_name}','view','{$nonce}','{$unique_id}','{$table_name}'" .')" title="'. $title_view .'">'. $file_view .'</a> |
     2051                            <a onClick="nscanjs_file_operation('. "'{$encoded_name}','view','{$nonce}','{$unique_id}','{$table_name}','','$fileinode'" .')" title="'. $title_view .'">'. $file_view .'</a> |
    20512052                        ';
    20522053            }
     
    20572058            if ( $what != 4 ) {
    20582059                $ret .= '
    2059                             <a onClick="nscanjs_file_operation('. "'{$encoded_name}','quarantine','{$nonce}','{$unique_id}','{$table_name}'" .')" title="'. $title_quarantine .'">'. $file_quarantine .'</a>
     2060                            <a onClick="nscanjs_file_operation('. "'{$encoded_name}','quarantine','{$nonce}','{$unique_id}','{$table_name}','','$fileinode'" .')" title="'. $title_quarantine .'">'. $file_quarantine .'</a>
    20602061                        ';
    20612062            } else {
     
    21362137                        <label class="ns-label-menu '. NSCAN_ROW_ACTIONS .'">
    21372138                            <a onClick="nscanjs_file_info('. "'{$unique_id}','{$table_name}'" .')" title="'. $title_info .'">'. $file_info .'</a> |
    2138                             <a onClick="nscanjs_file_operation('. "'{$encoded_name}','view','{$nonce}','{$unique_id}','{$table_name}','{$what}'" .')" title="'. $title_view .'">'. $file_view .'</a> |
     2139                            <a onClick="nscanjs_file_operation('. "'{$encoded_name}','view','{$nonce}','{$unique_id}','{$table_name}','{$what}','$fileinode'" .')" title="'. $title_view .'">'. $file_view .'</a> |
    21392140                            <a onClick="nscanjs_file_operation('. "'{$encoded_name}','ignore','{$nonce}','{$unique_id}','{$table_name}'" .')" title="'. $title_ignore .'">'. $file_ignore .'</a> |
    2140                             <a onClick="nscanjs_file_operation('. "'{$encoded_name}','quarantine','{$nonce}','{$unique_id}','{$table_name}'" .')" title="'. $title_quarantine .'">'. $file_quarantine .'</a>
     2141                            <a onClick="nscanjs_file_operation('. "'{$encoded_name}','quarantine','{$nonce}','{$unique_id}','{$table_name}','','$fileinode'" .')" title="'. $title_quarantine .'">'. $file_quarantine .'</a>
    21412142                        </label>
    21422143                        <div id="file-info-'. $unique_id .'" style="display:none">
     
    21992200                        <label class="ns-label-menu '. NSCAN_ROW_ACTIONS .'">
    22002201                            <a onClick="nscanjs_file_info('. "'{$unique_id}','{$table_name}'" .')" title="'. $title_info .'">'. $file_info .'</a> |
    2201                             <a onClick="nscanjs_file_operation('. "'{$encoded_name}','view','{$nonce}','{$unique_id}','{$table_name}'" .')" title="'. $title_view .'">'. $file_view .'</a> |
    2202                             <a onClick="nscanjs_file_operation('. "'{$encoded_name}','quarantine','{$nonce}','{$unique_id}','{$table_name}'" .')" title="'. $title_quarantine .'">'. $file_quarantine .'</a>
     2202                            <a onClick="nscanjs_file_operation('. "'{$encoded_name}','view','{$nonce}','{$unique_id}','{$table_name}','','$fileinode'" .')" title="'. $title_view .'">'. $file_view .'</a> |
     2203                            <a onClick="nscanjs_file_operation('. "'{$encoded_name}','quarantine','{$nonce}','{$unique_id}','{$table_name}','','$fileinode'" .')" title="'. $title_quarantine .'">'. $file_quarantine .'</a>
    22032204                        </label>
    22042205                        <div id="file-info-'. $unique_id .'" style="display:none">
     
    22632264                        <label class="ns-label-menu '. NSCAN_ROW_ACTIONS .'">
    22642265                            <a onClick="nscanjs_file_info('. "'{$unique_id}','{$table_name}'" .')" title="'. $title_info .'">'. $file_info .'</a> |
    2265                             <a onClick="nscanjs_file_operation('. "'{$encoded_name}','view','{$nonce}','{$unique_id}','{$table_name}'" .')" title="'. $title_view .'">'. $file_view .'</a> |
     2266                            <a onClick="nscanjs_file_operation('. "'{$encoded_name}','view','{$nonce}','{$unique_id}','{$table_name}','','$fileinode'" .')" title="'. $title_view .'">'. $file_view .'</a> |
    22662267                            <a onClick="nscanjs_file_operation('. "'{$encoded_name}','ignore','{$nonce}','{$unique_id}','{$table_name}'" .')" title="'. $title_ignore .'">'. $file_ignore .'</a> |
    2267                             <a onClick="nscanjs_file_operation('. "'{$encoded_name}','quarantine','{$nonce}','{$unique_id}','{$table_name}'" .')" title="'. $title_quarantine .'">'. $file_quarantine .'</a>
     2268                            <a onClick="nscanjs_file_operation('. "'{$encoded_name}','quarantine','{$nonce}','{$unique_id}','{$table_name}','','$fileinode'" .')" title="'. $title_quarantine .'">'. $file_quarantine .'</a>
    22682269                        </label>
    22692270                        <div id="file-info-'. $unique_id .'" style="display:none">
  • ninjascanner/trunk/readme.txt

    r3270883 r3336569  
    44Requires at least: 4.7.0
    55Tested up to: 6.8
    6 Stable tag: 3.2.5
     6Stable tag: 3.2.6
    77License: GPLv3 or later
    88Requires PHP: 7.1
     
    108108== Changelog ==
    109109
     110= 3.2.6 =
     111
     112* Administrators can only move to the quarantine folder a file that was flagged as suspicious by the scanner (props Wordfence).
     113
    110114= 3.2.5 =
    111115
  • ninjascanner/trunk/static/ninjascanner.js

    r2692379 r3336569  
    280280
    281281// View file content:
    282 function nscanjs_file_operation( file, what, nonce, id, table_id, signature ) {
     282function nscanjs_file_operation( file, what, nonce, id, table_id, signature, fileinode ) {
    283283
    284284    // View/compare file:
     
    287287        // Note: "file" is already base64-encoded.
    288288        var url = "?page=NinjaScanner&nscanop="+ what +"&file="+ encodeURIComponent( file )
    289                     +"&nscanop_nonce="+ nonce;
     289                    +"&nscanop_nonce="+ nonce + "&fileinode="+ fileinode;
    290290
    291291        // Highlight signature:
     
    301301            'action': 'nscan_quarantine',
    302302            'nscanop_nonce': nonce,
    303             'file': file
     303            'file': file,
     304            'fileinode': fileinode
    304305        };
    305306        jQuery.post(ajaxurl, data, function(response) {
Note: See TracChangeset for help on using the changeset viewer.