WordPress.org

Make WordPress Core

Ticket #23350: 23350.patch

File 23350.patch, 1.7 KB (added by hakre, 5 years ago)
  • wp-includes/comment.php

    IDEA additional info:
    Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
    <+>UTF-8
     
    19761976
    19771977        $parsed_home = @parse_url( get_option( 'home' ) );
    19781978
    1979         $same_host = strtolower( $parsed_home['host'] ) === strtolower( $parsed_url['host'] );
     1979        $same_host = strcasecmp( $parsed_home['host'], $parsed_url['host'] ) === 0;
    19801980
    19811981        if ( ! $same_host ) {
    19821982                $host = trim( $parsed_url['host'], '.' );
    1983                 if ( preg_match( '#^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$#', $host ) ) {
    1984                         $ip = $host;
    1985                 } else {
     1983                $ip = filter_var( $host, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4 );
     1984                if ( ! $ip ) {
    19861985                        $ip = gethostbyname( $host );
    19871986                        if ( $ip === $host ) // Error condition for gethostbyname()
    19881987                                $ip = false;
    19891988                }
    19901989                if ( $ip ) {
    1991                         if ( '127.0.0.1' === $ip )
     1990                        if ( ! filter_var( $ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4 | FILTER_FLAG_NO_RES_RANGE | FILTER_FLAG_NO_PRIV_RANGE ) ) {
    19921991                                return '';
    1993                         $parts = array_map( 'intval', explode( '.', $ip ) );
    1994                         if ( 10 === $parts[0] )
    1995                                 return '';
    1996                         if ( 172 === $parts[0] && 16 <= $parts[1] && 31 >= $parts[1] )
    1997                                 return '';
    1998                         if ( 192 === $parts[0] && 168 === $parts[1] )
    1999                                 return '';
    2000                 }
    2001         }
     1992                        }
     1993                }
    20021994
    20031995        if ( empty( $parsed_url['port'] ) )
    20041996                return $uri;
     
    20071999        if ( 80 === $port || 443 === $port || 8080 === $port )
    20082000                return $uri;
    20092001
    2010         if ( $parsed_home && $same_host && $parsed_home['port'] === $port )
     2002        if ( $same_host && isset( $parsed_home['port'] ) && $parsed_home['port'] === $port )
    20112003                return $uri;
    20122004
    20132005        return '';