Making WordPress.org


Ignore:
Timestamp:
06/29/2018 08:57:02 PM (6 years ago)
Author:
obenland
Message:

Main: phpcs updates

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-security.php

    r7279 r7350  
    2323} );
    2424
    25 // See inc/page-meta-descriptions.php for the meta description for this page.
     25/* See inc/page-meta-descriptions.php for the meta description for this page. */
    2626
    2727/*
     
    4343            <div class="entry-content row">
    4444                <section class="col-8">
    45                     <p><?php
     45                    <p>
     46                    <?php
    4647                        printf(
    4748                            /* translators: %s: URL to English PDF */
     
    4950                            'https://github.com/WordPress/Security-White-Paper/blob/master/WordPressSecurityWhitePaper.pdf?raw=true'
    5051                        );
    51                     ?></p>
     52                    ?>
     53                    </p>
    5254
    5355                    <img src="//s.w.org/about/images/logos/wordpress-logo-stacked-rgb.png" class="aligncenter" />
     
    5961                    <p><?php esc_html_e( 'The information in this document is up-to-date for the latest stable release of the software, WordPress 4.7 at time of publication, but should be considered relevant also to the most recent versions of the software as backwards compatibility is a strong focus for the WordPress development team. Specific security measures and changes will be noted as they have been added to the core software in specific releases. It is strongly encouraged to always be running the latest stable version of WordPress to ensure the most secure experience possible.', 'wporg' ); ?></p>
    6062                    <h2><?php esc_html_e( 'Executive Summary', 'wporg' ); ?></h2>
    61                     <p><?php
     63                    <p>
     64                    <?php
    6265                        printf(
    6366                            /* translators: %s: WordPress Market share - 30. Note the following % sign is escaped as %%. */
    6467                            esc_html__( 'WordPress is a dynamic open-source content management system which is used to power millions of websites, web applications, and blogs. It currently powers more than %s%% of the top 10 million websites on the Internet. WordPress&#8217; usability, extensibility, and mature development community make it a popular and secure choice for websites of all sizes.', 'wporg' ),
    65                             WP_MARKET_SHARE
    66                         );
    67                     ?></p>
     68                            esc_html( WP_MARKET_SHARE )
     69                        );
     70                    ?>
     71                    </p>
    6872
    6973                    <p><?php esc_html_e( 'Since its inception in 2003, WordPress has undergone continual hardening so its core software can address and mitigate common security threats, including the Top 10 list identified by The Open Web Application Security Project (OWASP) as common security vulnerabilities, which are discussed in this document.', 'wporg' ); ?></p>
     
    7377                    <p><?php esc_html_e( 'Site developers and administrators should pay particular attention to the correct use of core APIs and underlying server configuration which have been the source of common vulnerabilities, as well as ensuring all users employ strong passwords to access WordPress.', 'wporg' ); ?></p>
    7478                    <h2><?php esc_html_e( 'An Overview of WordPress', 'wporg' ); ?></h2>
    75                     <p><?php
     79                    <p>
     80                    <?php
    7681                        printf(
    7782                            /* translators: 1: WordPress Market share - 30. Note the following % sign is escaped as %%. 2: Footnote 3: Market Penetration - 60.  Note the following % sign is escaped as %%. */
    78                             esc_html__( 'WordPress is a free and open source content management system (CMS). It is the most widely-used CMS software in the world and it powers more than %1$s%% of the top 10 million websites%2$s, giving it an estimated %3$s%% market share of all sites
    79 using a CMS.', 'wporg' ),
    80                             WP_MARKET_SHARE,
     83                            esc_html__( 'WordPress is a free and open source content management system (CMS). It is the most widely-used CMS software in the world and it powers more than %1$s%% of the top 10 million websites%2$s, giving it an estimated %3$s%% market share of all sites using a CMS.', 'wporg' ),
     84                            esc_html( WP_MARKET_SHARE ),
    8185                            '<sup id="ref1"><a href="#footnote1">1</a></a></sup>',
    8286                            60
    8387                        );
    84                     ?></p>
     88                    ?>
     89                    </p>
    8590
    8691                    <p><?php esc_html_e( 'WordPress is licensed under the General Public License (GPLv2 or later) which provides four core freedoms, and can be considered as the WordPress &#8220;bill of rights&#8221;:', 'wporg' ); ?></p>
     
    102107                    <p><?php esc_html_e( 'Each WordPress release cycle is led by one or more of the core WordPress developers. A release cycle usually lasts around 4 months from the initial scoping meeting to launch of the version.', 'wporg' ); ?></p>
    103108
    104                     <p><?php
     109                    <p>
     110                    <?php
    105111                        printf(
    106112                            /* translators: %s: Footnote*/
     
    108114                            '<sup id="ref2"><a href="#footnote2">2</a></sup>'
    109115                        );
    110                     ?></p>
     116                    ?>
     117                    </p>
    111118                    <ul>
    112119                        <li><?php esc_html_e( 'Phase 1: Planning and securing team leads. This is done in the #core chat room on Slack. The release lead discusses features for the next release of WordPress. WordPress contributors get involved with that discussion. The release lead will identify team leads for each of the features.', 'wporg' ); ?></li>
     
    121128                    <p><?php esc_html_e( 'Major releases may add new user features and developer APIs. Though typically in the software world, a &#8220;major&#8221; version means you can break backwards compatibility, WordPress strives to never break backwards compatibility. Backwards compatibility is one of the project&#8217;s most important philosophies, with the aim of making updates much easier on users and developers alike.', 'wporg' ); ?></p>
    122129
    123                     <p><?php
     130                    <p>
     131                    <?php
    124132                        printf(
    125133                            /* translators: %s: Footnote */
     
    127135                            '<sup id="ref3"><a href="#footnote3">3</a></sup>'
    128136                        );
    129                     ?></p>
     137                    ?>
     138                    </p>
    130139
    131140                    <h3><?php esc_html_e( 'Version Backwards Compatibility', 'wporg' ); ?></h3>
     
    133142                    <h2><?php esc_html_e( 'WordPress and Security', 'wporg' ); ?></h2>
    134143                    <h3><?php esc_html_e( 'The WordPress Security Team', 'wporg' ); ?></h3>
    135                     <p><?php
     144                    <p>
     145                    <?php
    136146                        printf(
    137147                            /* translators: 1: Number - 50; 2: Footnote*/
     
    140150                            '<sup><a href="#footnote3">3</a></sup>'
    141151                        );
    142                     ?></p>
    143 
    144                     <p><?php
     152                    ?>
     153                    </p>
     154
     155                    <p>
     156                    <?php
    145157                        printf(
    146158                            /* translators: %s: Footnote */
     
    148160                            '<sup id="ref4"><a href="#footnote4">4</a></sup>'
    149161                        );
    150                     ?></p>
     162                    ?>
     163                    </p>
    151164                    <h3><?php esc_html_e( 'WordPress Security Risks, Process, and History', 'wporg' ); ?></h3>
    152                     <p><?php
     165                    <p>
     166                    <?php
    153167                        printf(
    154168                            /* translators: 1: HackerOne URL 2: Footnote */
     
    157171                            '<sup id="ref5"><a href="#footnote5">5</a></sup>'
    158172                        );
    159                     ?></p>
     173                    ?>
     174                    </p>
    160175
    161176                    <p><?php esc_html_e( 'Each security report is acknowledged upon receipt, and the team works to verify the vulnerability and determine its severity. If confirmed, the security team then plans for a patch to fix the problem which can be committed to an upcoming release of the WordPress software or it can be pushed as an immediate security release, depending on the severity of the issue.', 'wporg' ); ?></p>
    162177
    163                     <p><?php
     178                    <p>
     179                    <?php
    164180                        printf(
    165181                            /* translators: %s: Footnote */
     
    167183                            '<sup id="ref6"><a href="#footnote6">6</a></sup>'
    168184                        );
    169                     ?></p>
     185                    ?>
     186                    </p>
    170187
    171188                    <p><?php esc_html_e( 'Administrators of the WordPress software see a notification on their site dashboard to upgrade when a new release is available, and following the manual upgrade users are redirected to the About WordPress screen which details the changes. If administrators have automatic background updates enabled, they will receive an email after an upgrade has been completed.', 'wporg' ); ?></p>
    172189
    173190                    <h3><?php esc_html_e( 'Automatic Background Updates for Security Releases', 'wporg' ); ?></h3>
    174                     <p><?php
     191                    <p>
     192                    <?php
    175193                        printf(
    176194                            /* translators: %s: Footnote */
     
    178196                            '<sup id="ref7"><a href="#footnote7">7</a></sup>'
    179197                        );
    180                     ?></p>
     198                    ?>
     199                    </p>
    181200
    182201                    <p><?php esc_html_e( 'When a security update is pushed for the current stable release of WordPress, the core team will also push security updates for all the releases that are capable of background updates (since WordPress 3.7), so these older but still recent versions of WordPress will receive security enhancements.', 'wporg' ); ?></p>
     
    184203                    <p><?php esc_html_e( 'Individual site owners can opt to remove automatic background updates through a simple change in their configuration file, but keeping the functionality is strongly recommended by the core team, as well as running the latest stable release of WordPress.', 'wporg' ); ?></p>
    185204                    <h3><?php esc_html_e( '2013 OWASP Top 10', 'wporg' ); ?></h3>
    186                     <p><?php
     205                    <p>
     206                    <?php
    187207                        printf(
    188208                            /* translators: %s: Footnote */
     
    190210                            '<sup id="ref8"><a href="#footnote8">8</a></sup>'
    191211                        );
    192                     ?></p>
     212                    ?>
     213                    </p>
    193214
    194215                    <p><?php esc_html_e( 'The following sections discuss the APIs, resources, and policies that WordPress uses to strengthen the core software and 3rd party plugins and themes against these potential risks.', 'wporg' ); ?></p>
    195216                    <h4><?php esc_html_e( 'A1 - Injection', 'wporg' ); ?></h4>
    196                     <p><?php
     217                    <p>
     218                    <?php
    197219                        printf(
    198220                            /* translators: %s: Footnote */
     
    200222                            '<sup id="ref9"><a href="#footnote9">9</a></sup>'
    201223                        );
    202                     ?></p>
     224                    ?>
     225                    </p>
    203226                    <h4><?php esc_html_e( 'A2 - Broken Authentication and Session Management', 'wporg' ); ?></h4>
    204227                    <p><?php esc_html_e( 'WordPress core software manages user accounts and authentication and details such as the user ID, name, and password are managed on the server-side, as well as the authentication cookies. Passwords are protected in the database using standard salting and stretching techniques. Existing sessions are destroyed upon logout for versions of WordPress after 4.0.', 'wporg' ); ?></p>
    205228                    <h4><?php esc_html_e( 'A3 - Cross Site Scripting (XSS)', 'wporg' ); ?></h4>
    206                     <p><?php
     229                    <p>
     230                    <?php
    207231                        printf(
    208232                            /* translators: 1: Footnote, 2: wp_kses() */
     
    211235                            '<code>wp_kses</code>'
    212236                        );
    213                     ?></p>
    214 
    215                     <p><?php
     237                    ?>
     238                    </p>
     239
     240                    <p>
     241                    <?php
    216242                        printf(
    217243                            /* translators: %s: the_search_query() */
     
    219245                            '<code>the_search_query()</code>'
    220246                        );
    221                     ?></p>
     247                    ?>
     248                    </p>
    222249                    <h4><?php esc_html_e( 'A4 - Insecure Direct Object Reference', 'wporg' ); ?></h4>
    223250                    <p><?php esc_html_e( 'WordPress often provides direct object reference, such as unique numeric identifiers of user accounts or content available in the URL or form fields. While these identifiers disclose direct system information, WordPress&#8217; rich permissions and access control system prevent unauthorized requests.', 'wporg' ); ?></p>
    224251                    <h4><?php esc_html_e( 'A5 - Security Misconfiguration', 'wporg' ); ?></h4>
    225                     <p><?php
     252                    <p>
     253                    <?php
    226254                        printf(
    227255                            /* translators: %s: Footnote */
     
    229257                            '<sup id="ref11"><a href="#footnote11">11</a></sup>'
    230258                        );
    231                     ?></p>
     259                    ?>
     260                    </p>
    232261                    <h4><?php esc_html_e( 'A6 - Sensitive Data Exposure', 'wporg' ); ?></h4>
    233                     <p><?php
     262                    <p>
     263                    <?php
    234264                        printf(
    235265                            /* translators: %s: Footnote */
     
    237267                            '<sup id="ref12"><a href="#footnote12">12</a></sup>'
    238268                        );
    239                     ?></p>
     269                    ?>
     270                    </p>
    240271
    241272                    <h4><?php esc_html_e( 'A7 - Missing Function Level Access Control', 'wporg' ); ?></h4>
     
    243274
    244275                    <h4><?php esc_html_e( 'A8 - Cross Site Request Forgery (CSRF)', 'wporg' ); ?></h4>
    245                     <p><?php
     276                    <p>
     277                    <?php
    246278                        printf(
    247279                            /* translators: %s: Footnote */
     
    249281                            '<sup id="ref13"><a href="#footnote13">13</a></sup>'
    250282                        );
    251                     ?></p>
     283                    ?>
     284                    </p>
    252285
    253286                    <h4><?php esc_html_e( 'A9 - Using Components with Known Vulnerabilities', 'wporg' ); ?></h4>
    254                     <p><?php
     287                    <p>
     288                    <?php
    255289                        printf(
    256290                            /* translators: %s: Footnote */
     
    258292                            '<sup id="ref14"><a href="#footnote14">14</a></sup>'
    259293                        );
    260                     ?></p>
    261 
    262                     <p><?php
     294                    ?>
     295                    </p>
     296
     297                    <p>
     298                    <?php
    263299                        printf(
    264300                            /* translators: %s: Footnote */
     
    266302                            '<sup id="ref15"><a href="#footnote15">15</a></sup>'
    267303                        );
    268                     ?></p>
     304                    ?>
     305                    </p>
    269306
    270307                    <h4><?php esc_html_e( 'A10 - Unvalidated Redirects and Forwards', 'wporg' ); ?></h4>
    271                     <p><?php
     308                    <p>
     309                    <?php
    272310                        printf(
    273311                            /* translators: %s: Footnote */
     
    275313                            '<sup id="ref16"><a href="#footnote16">16</a></sup>'
    276314                        );
    277                     ?></p>
     315                    ?>
     316                    </p>
    278317                    <h3><?php esc_html_e( 'Further Security Risks and Concerns', 'wporg' ); ?></h3>
    279318                    <h4><?php esc_html_e( 'XXE (XML eXternal Entity) processing attacks', 'wporg' ); ?></h4>
     
    283322                    <h2><?php esc_html_e( 'WordPress Plugin and Theme Security', 'wporg' ); ?></h2>
    284323                    <h3><?php esc_html_e( 'The Default Theme', 'wporg' ); ?></h3>
    285                     <p><?php
     324                    <p>
     325                    <?php
    286326                        printf(
    287327                            /* translators: %s: The latest Core Theme release - Currently Twenty Seventeen */
    288328                            esc_html__( 'WordPress requires a theme to be enabled to render content visible on the frontend. The default theme which ships with core WordPress (currently "%s") has been vigorously reviewed and tested for security reasons by both the team of theme developers plus the core development team.', 'wporg' ),
    289                             wp_get_theme( 'core/' . WP_CORE_DEFAULT_THEME )->display( 'Name' )
    290                         );
    291                     ?></p>
     329                            esc_html( wp_get_theme( 'core/' . WP_CORE_DEFAULT_THEME )->display( 'Name' ) )
     330                        );
     331                    ?>
     332                    </p>
    292333
    293334                    <p><?php esc_html_e( 'The default theme can serve as a starting point for custom theme development, and site developers can create a child theme which includes some customization but falls back on the default theme for most functionality and security. The default theme can be easily removed by an administrator if not needed.', 'wporg' ); ?></p>
     
    295336                    <h3><?php esc_html_e( 'WordPress.org Theme and Plugin Repositories', 'wporg' ); ?></h3>
    296337
    297                     <p><?php
     338                    <p>
     339                    <?php
    298340                        printf(
    299341                            /* translators: 1: Number of plugins - 50,000; 2: Number of themes - 5,000 */
    300                             esc_html__( 'There are approximately %1$s+ plugins and %2$s+ themes listed on the WordPress.org site. These themes and plugins are submitted for inclusion and are manually reviewed by volunteers before making them available on the repository.', 'wporg'
    301 ),
    302                             number_format_i18n( 50000 ),
    303                             number_format_i18n( 5000 )
    304                         );
    305                     ?></p>
    306 
    307                     <p><?php
     342                            esc_html__(
     343                                'There are approximately %1$s+ plugins and %2$s+ themes listed on the WordPress.org site. These themes and plugins are submitted for inclusion and are manually reviewed by volunteers before making them available on the repository.', 'wporg'
     344                            ),
     345                            esc_html( number_format_i18n( 50000 ) ),
     346                            esc_html( number_format_i18n( 5000 ) )
     347                        );
     348                    ?>
     349                    </p>
     350
     351                    <p>
     352                    <?php
    308353                        printf(
    309354                            /* translators: 1: Footnote; 2: Footnote */
     
    312357                            '<sup id="ref18"><a href="#footnote18">18</a></sup>'
    313358                        );
    314                     ?></p>
     359                    ?>
     360                    </p>
    315361
    316362                    <p><?php esc_html_e( 'Each plugin and theme has the ability to be continually developed by the plugin or theme owner, and any subsequent fixes or feature development can be uploaded to the repository and made available to users with that plugin or theme installed with a description of that change. Site administrators are notified of plugins which need to be updated via their administration dashboard.', 'wporg' ); ?></p>
     
    318364                    <p><?php esc_html_e( 'When a plugin vulnerability is discovered by the WordPress Security Team, they contact the plugin author and work together to fix and release a secure version of the plugin. If there is a lack of response from the plugin author or if the vulnerability is severe, the plugin/theme is pulled from the public directory, and in some cases, fixed and updated directly by the Security Team.', 'wporg' ); ?></p>
    319365                    <h3><?php esc_html_e( 'The Theme Review Team', 'wporg' ); ?></h3>
    320                     <p><?php
     366                    <p>
     367                    <?php
    321368                        printf(
    322369                            /* translators: 1: Footnote; 2: Footnote; 3: Footnote */
     
    326373                            '<sup id="ref21"><a href="#footnote21">21</a></sup>'
    327374                        );
    328                     ?></p>
     375                    ?>
     376                    </p>
    329377                    <h2><?php esc_html_e( 'The Role of the Hosting Provider in WordPress Security', 'wporg' ); ?></h2>
    330378                    <p><?php esc_html_e( 'WordPress can be installed on a multitude of platforms. Though WordPress core software provides many provisions for operating a secure web application, which were covered in this document, the configuration of the operating system and the underlying web server hosting the software is equally important to keep the WordPress applications secure.', 'wporg' ); ?></p>
    331379                    <h3><?php esc_html_e( 'A Note about WordPress.com and WordPress security', 'wporg' ); ?></h3>
    332                     <p><?php
     380                    <p>
     381                    <?php
    333382                        printf(
    334383                            /* translators: %s: Footnote */
     
    336385                            '<sup id="ref22"><a href="#footnote22">22</a></sup>'
    337386                        );
    338                     ?></p>
     387                    ?>
     388                    </p>
    339389                    <h2><?php esc_html_e( 'Appendix', 'wporg' ); ?></h2>
    340390                    <h3><?php esc_html_e( 'Core WordPress APIs', 'wporg' ); ?></h3>
    341                     <p><?php
     391                    <p>
     392                    <?php
    342393                        printf(
    343394                            /* translators: %s: Footnote */
     
    345396                            '<sup id="ref23"><a href="#footnote23">23</a></sup>'
    346397                        );
    347                     ?></p>
     398                    ?>
     399                    </p>
    348400
    349401                    <p><?php esc_html_e( 'While each WordPress API provides best practices and standardized ways to interact with and extend WordPress core software, the following WordPress APIs are the most pertinent to enforcing and hardening WordPress security:', 'wporg' ); ?></p>
     
    351403                    <h3><?php esc_html_e( 'Database API', 'wporg' ); ?></h3>
    352404
    353                     <p><?php
     405                    <p>
     406                    <?php
    354407                        printf(
    355408                            /* translators: %s: Footnote */
     
    357410                            '<sup id="ref24"><a href="#footnote24">24</a></sup>'
    358411                        );
    359                     ?></p>
     412                    ?>
     413                    </p>
    360414
    361415                    <h3><?php esc_html_e( 'Filesystem API', 'wporg' ); ?></h3>
    362416
    363                     <p><?php
     417                    <p>
     418                    <?php
    364419                        printf(
    365420                            /* translators: 1: Footnote; 2: Footnote */
     
    368423                            '<sup id="ref26"><a href="#footnote26">26</a></sup>'
    369424                        );
    370                     ?></p>
     425                    ?>
     426                    </p>
    371427
    372428                    <p><?php echo wp_kses_post( __( 'It does this through the <code>WP_Filesystem_Base</code> class, and several subclasses which implement different ways of connecting to the local filesystem, depending on individual host support. Any theme or plugin that needs to write files locally should do so using the WP_Filesystem family of classes.', 'wporg' ) ); ?></p>
     
    374430                    <h3><?php esc_html_e( 'HTTP API', 'wporg' ); ?></h3>
    375431
    376                     <p><?php
     432                    <p>
     433                    <?php
    377434                        printf(
    378435                            /* translators: 1: Footnote; 2: Footnote */
     
    381438                            '<sup id="ref28"><a href="#footnote28">28</a></sup>'
    382439                        );
    383                     ?></p>
     440                    ?>
     441                    </p>
    384442
    385443                    <h3><?php esc_html_e( 'Permissions and current user API', 'wporg' ); ?></h3>
    386444
    387                     <p><?php
     445                    <p>
     446                    <?php
    388447                        printf(
    389448                            /* translators: %s: Footnote */
     
    391450                            '<sup id="ref29"><a href="#footnote29">29</a></sup>'
    392451                        );
    393                     ?></p>
     452                    ?>
     453                    </p>
    394454                    <h3><?php esc_html_e( 'White paper content License', 'wporg' ); ?></h3>
    395                     <p><?php
     455                    <p>
     456                    <?php
    396457                        printf(
    397458                            /* translators: 1: Link to WordPress Foundation Trademark Polocy (English); 2: Link to Creative Commons CC0 license (English) */
     
    400461                            'https://creativecommons.org/publicdomain/zero/1.0/'
    401462                        );
    402                     ?></p>
    403 
    404                     <p><?php
     463                    ?>
     464                    </p>
     465
     466                    <p>
     467                    <?php
    405468                        printf(
    406469                            /* translators: %s: Link to the Drupal Security Whitepaper (english). */
     
    408471                            'http://drupalsecurityreport.org/'
    409472                        );
    410                     ?></p>
     473                    ?>
     474                    </p>
    411475                    <h3><?php esc_html_e( 'Additional Reading', 'wporg' ); ?></h3>
    412476                    <ul>
    413                         <li><?php
     477                        <li>
     478                        <?php
    414479                            printf(
    415480                                /* translators: %s: Link to News Blog including the <a> tags. */
     
    417482                                '<a href="https://wordpress.org/news/">https://wordpress.org/news/</a>'
    418483                            );
    419                         ?></li>
    420                         <li><?php
     484                        ?>
     485                        </li>
     486                        <li>
     487                        <?php
    421488                            printf(
    422489                                /* translators: %s: Link to News Blog Security Release Archive including the <a> tags. */
     
    424491                                '<a href="https://wordpress.org/news/category/security/">https://wordpress.org/news/category/security/</a>'
    425492                            );
    426                         ?></li>
    427                         <li><?php
     493                        ?>
     494                        </li>
     495                        <li>
     496                        <?php
    428497                            printf(
    429498                                /* translators: %s: Link to Developer.WordPress.org including the <a> tags. */
     
    431500                                '<a href="https://developer.wordpress.org/">https://developer.wordpress.org/</a>'
    432501                            );
    433                         ?></li>
     502                        ?>
     503                        </li>
    434504                    </ul>
    435505
Note: See TracChangeset for help on using the changeset viewer.