diff --git a/upload/install/include/install_function.php b/upload/install/include/install_function.php index 822a8743663f7fb30308bf09fd5c95e369d54ee8..56271f0f84863d793264136c8baf7f9aef6d00e1 100644 --- a/upload/install/include/install_function.php +++ b/upload/install/include/install_function.php @@ -886,9 +886,9 @@ function dfopen($url, $limit = 0, $post = '', $cookie = '', $bysocket = FALSE, $ $ch = curl_init(); $ip && curl_setopt($ch, CURLOPT_HTTPHEADER, array("Host: ".$host)); curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); - // 在请求主机名并非一个合法 IP 地址, 且 PHP 版本 >= 5.5.0 时, 使用 CURLOPT_RESOLVE 设置固定的 IP 地址与域名关系 + // 在提供 IP 地址的同时, 当请求主机名并非一个合法 IP 地址, 且 PHP 版本 >= 5.5.0 时, 使用 CURLOPT_RESOLVE 设置固定的 IP 地址与域名关系 // 在不支持的 PHP 版本下, 继续采用原有不支持 SNI 的流程 - if(!filter_var($host, FILTER_VALIDATE_IP) && version_compare(PHP_VERSION, '5.5.0', 'ge')) { + if(!empty($ip) && filter_var($ip, FILTER_VALIDATE_IP) && !filter_var($host, FILTER_VALIDATE_IP) && version_compare(PHP_VERSION, '5.5.0', 'ge')) { curl_setopt($ch, CURLOPT_RESOLVE, array("$host:$port:$ip")); curl_setopt($ch, CURLOPT_URL, $scheme.'://'.$host.':'.$port.$path); } else { diff --git a/upload/source/function/function_filesock.php b/upload/source/function/function_filesock.php index ffe66c7fa7599aff466f1ec47e3e152c989e8da7..1af2df4be793cfb109af75b388be720c4b3f1c45 100644 --- a/upload/source/function/function_filesock.php +++ b/upload/source/function/function_filesock.php @@ -95,9 +95,9 @@ function _dfsockopen($url, $limit = 0, $post = '', $cookie = '', $bysocket = FAL if($httpheader) { curl_setopt($ch, CURLOPT_HTTPHEADER, $httpheader); } - // 在请求主机名并非一个合法 IP 地址, 且 PHP 版本 >= 5.5.0 时, 使用 CURLOPT_RESOLVE 设置固定的 IP 地址与域名关系 + // 在提供 IP 地址的同时, 当请求主机名并非一个合法 IP 地址, 且 PHP 版本 >= 5.5.0 时, 使用 CURLOPT_RESOLVE 设置固定的 IP 地址与域名关系 // 在不支持的 PHP 版本下, 继续采用原有不支持 SNI 的流程 - if(!filter_var($host, FILTER_VALIDATE_IP) && version_compare(PHP_VERSION, '5.5.0', 'ge')) { + if(!empty($ip) && filter_var($ip, FILTER_VALIDATE_IP) && !filter_var($host, FILTER_VALIDATE_IP) && version_compare(PHP_VERSION, '5.5.0', 'ge')) { curl_setopt($ch, CURLOPT_RESOLVE, array("$host:$port:$ip")); curl_setopt($ch, CURLOPT_URL, $scheme.'://'.$host.':'.$port.$path); } else { diff --git a/upload/uc_client/client.php b/upload/uc_client/client.php index 707c94ce0584f82a73623f206a01bab0fc7396b7..87d09e7348f6d656d3b251074546cdf246c6ce7d 100644 --- a/upload/uc_client/client.php +++ b/upload/uc_client/client.php @@ -234,9 +234,9 @@ function uc_fopen($url, $limit = 0, $post = '', $cookie = '', $bysocket = FALSE, $ch = curl_init(); $ip && curl_setopt($ch, CURLOPT_HTTPHEADER, array("Host: ".$host)); curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); - // 在请求主机名并非一个合法 IP 地址, 且 PHP 版本 >= 5.5.0 时, 使用 CURLOPT_RESOLVE 设置固定的 IP 地址与域名关系 + // 在提供 IP 地址的同时, 当请求主机名并非一个合法 IP 地址, 且 PHP 版本 >= 5.5.0 时, 使用 CURLOPT_RESOLVE 设置固定的 IP 地址与域名关系 // 在不支持的 PHP 版本下, 继续采用原有不支持 SNI 的流程 - if(!filter_var($host, FILTER_VALIDATE_IP) && version_compare(PHP_VERSION, '5.5.0', 'ge')) { + if(!empty($ip) && filter_var($ip, FILTER_VALIDATE_IP) && !filter_var($host, FILTER_VALIDATE_IP) && version_compare(PHP_VERSION, '5.5.0', 'ge')) { curl_setopt($ch, CURLOPT_RESOLVE, array("$host:$port:$ip")); curl_setopt($ch, CURLOPT_URL, $scheme.'://'.$host.':'.$port.$path); } else { diff --git a/upload/uc_client/model/misc.php b/upload/uc_client/model/misc.php index ae9a02aa39c66c31cf0b1406981e013dbcbc336d..7e96bfa3ccb6f13ffb40c7f8ca47589012525dc1 100644 --- a/upload/uc_client/model/misc.php +++ b/upload/uc_client/model/misc.php @@ -73,9 +73,9 @@ class miscmodel { $ch = curl_init(); $ip && curl_setopt($ch, CURLOPT_HTTPHEADER, array("Host: ".$host)); curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); - // 在请求主机名并非一个合法 IP 地址, 且 PHP 版本 >= 5.5.0 时, 使用 CURLOPT_RESOLVE 设置固定的 IP 地址与域名关系 + // 在提供 IP 地址的同时, 当请求主机名并非一个合法 IP 地址, 且 PHP 版本 >= 5.5.0 时, 使用 CURLOPT_RESOLVE 设置固定的 IP 地址与域名关系 // 在不支持的 PHP 版本下, 继续采用原有不支持 SNI 的流程 - if(!filter_var($host, FILTER_VALIDATE_IP) && version_compare(PHP_VERSION, '5.5.0', 'ge')) { + if(!empty($ip) && filter_var($ip, FILTER_VALIDATE_IP) && !filter_var($host, FILTER_VALIDATE_IP) && version_compare(PHP_VERSION, '5.5.0', 'ge')) { curl_setopt($ch, CURLOPT_RESOLVE, array("$host:$port:$ip")); curl_setopt($ch, CURLOPT_URL, $scheme.'://'.$host.':'.$port.$path); } else { diff --git a/upload/uc_server/install/func.inc.php b/upload/uc_server/install/func.inc.php index b5a9ee2eb164f118322ab84ee52cbe49fc5ac92c..a572f54c651feaae8405be16e467a397813179e3 100644 --- a/upload/uc_server/install/func.inc.php +++ b/upload/uc_server/install/func.inc.php @@ -755,9 +755,9 @@ function dfopen($url, $limit = 0, $post = '', $cookie = '', $bysocket = FALSE, $ $ch = curl_init(); $ip && curl_setopt($ch, CURLOPT_HTTPHEADER, array("Host: ".$host)); curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); - // 在请求主机名并非一个合法 IP 地址, 且 PHP 版本 >= 5.5.0 时, 使用 CURLOPT_RESOLVE 设置固定的 IP 地址与域名关系 + // 在提供 IP 地址的同时, 当请求主机名并非一个合法 IP 地址, 且 PHP 版本 >= 5.5.0 时, 使用 CURLOPT_RESOLVE 设置固定的 IP 地址与域名关系 // 在不支持的 PHP 版本下, 继续采用原有不支持 SNI 的流程 - if(!filter_var($host, FILTER_VALIDATE_IP) && version_compare(PHP_VERSION, '5.5.0', 'ge')) { + if(!empty($ip) && filter_var($ip, FILTER_VALIDATE_IP) && !filter_var($host, FILTER_VALIDATE_IP) && version_compare(PHP_VERSION, '5.5.0', 'ge')) { curl_setopt($ch, CURLOPT_RESOLVE, array("$host:$port:$ip")); curl_setopt($ch, CURLOPT_URL, $scheme.'://'.$host.':'.$port.$path); } else { diff --git a/upload/uc_server/model/misc.php b/upload/uc_server/model/misc.php index 8eb5f45c8dfaa2c91f7c3f4aeb4af5f438b8854f..d6b80d0b8e9bc03cc0b76afbadfafc1388163818 100644 --- a/upload/uc_server/model/misc.php +++ b/upload/uc_server/model/misc.php @@ -71,9 +71,9 @@ class miscmodel { $ch = curl_init(); $ip && curl_setopt($ch, CURLOPT_HTTPHEADER, array("Host: ".$host)); curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); - // 在请求主机名并非一个合法 IP 地址, 且 PHP 版本 >= 5.5.0 时, 使用 CURLOPT_RESOLVE 设置固定的 IP 地址与域名关系 + // 在提供 IP 地址的同时, 当请求主机名并非一个合法 IP 地址, 且 PHP 版本 >= 5.5.0 时, 使用 CURLOPT_RESOLVE 设置固定的 IP 地址与域名关系 // 在不支持的 PHP 版本下, 继续采用原有不支持 SNI 的流程 - if(!filter_var($host, FILTER_VALIDATE_IP) && version_compare(PHP_VERSION, '5.5.0', 'ge')) { + if(!empty($ip) && filter_var($ip, FILTER_VALIDATE_IP) && !filter_var($host, FILTER_VALIDATE_IP) && version_compare(PHP_VERSION, '5.5.0', 'ge')) { curl_setopt($ch, CURLOPT_RESOLVE, array("$host:$port:$ip")); curl_setopt($ch, CURLOPT_URL, $scheme.'://'.$host.':'.$port.$path); } else {