gpt4 book ai didi

php - url 在 wp_safe_remote_get 上无效

转载 作者:搜寻专家 更新时间:2023-10-31 21:26:25 26 4
gpt4 key购买 nike

我使用 woocommerce v3 API 开发了一个应用程序。

我想通过 remote_url 推送图片。

我的网址:http://tshirt-previewer.internal.teezily.com/media/W1siZiIsIjIwMTUvMTAvMjgvMTQvNTAvMzMvNGQ0NmVhYzAtYmVlNC00Y2IzLTlkN2QtZDM5ZmJlNzFmMWM5L0dJNjQwMDBfZnJvbnQucG5nIl0sWyJwIiwicHJldmlld3MiLDIwLCJyb3lhbCBibHVlIix7InBvc2l0aW9uX3giOjM2LCJwb3NpdGlvbl95IjoxLCJ3aWR0aCI6NjIsImhlaWdodCI6NjIsImRlc2lnbl91cmwiOiJodHRwczovL3RlZXppbHktcGx1cy5zMy5hbWF6b25hd3MuY29tL3VwbG9hZHMvZGVzaWduL3BpY3R1cmUvMzM3Ny9pbWFnZS0xMjAweDE2MDAuanBnIn1dXQ/GI64000_front.png?sha=989266d5133de145

但我无法通过产品 API 更新将其上传到 Woocommerce

我在代码中发现图像是由 wp_safe_remote_get 从 Wordpress 下载的问题。但是这个方法认为我的 URL 不安全。

为什么不安全?我可以添加一些白名单系统以避免将此 URL 视为不安全吗?

最佳答案

Wordpress 代码似乎对使用 wp_safe_remote_get() 获取的 url 进行同一主机检查。

这是来源:https://github.com/WordPress/WordPress/blob/c73a812109e1a64ecf21b6a198f949c58d1f2674/wp-includes/http.php

重要的部分是 wp_http_validate_url 函数,特别是第 524-530 行,它们在这里:

$parsed_home = @parse_url( get_option( 'home' ) );
if ( isset( $parsed_home['host'] ) ) {
$same_host = ( strtolower( $parsed_home['host'] ) === strtolower( $parsed_url['host'] ) || 'localhost' === strtolower( $parsed_url['host'] ) );
} else {
$same_host = false;
}

如果 $same_hostfalse,该方法将 url 视为不安全。

我看不到白名单。如果您想避免该问题,您可能需要编辑代码以使用 wp_remote_get()

更新:前面的论点是错误的。只要端口正常,即使主机不同,代码也返回url。

关于php - url 在 wp_safe_remote_get 上无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35320970/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com