Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如果在您的URL中手动更改订单密钥,则显示错误_Php_Wordpress_Woocommerce_Key_Orders - Fatal编程技术网

Php 如果在您的URL中手动更改订单密钥,则显示错误

Php 如果在您的URL中手动更改订单密钥,则显示错误,php,wordpress,woocommerce,key,orders,Php,Wordpress,Woocommerce,Key,Orders,我已经开发了一个网页,并集成了Cc Avenue gateway用于支付,目前运行良好 我的问题是,银行客户成功付款后,会被重定向到“谢谢”页面,该页面将包含订单号、日期、客户详细信息等详细信息。URL类似于:https://mysite/checkout/order-received/785/?key=wc_order_5b909f1966e92 如果我手动将key=wc\u order\u 5b909f1966e92更改为key=wc\u order\u 5b909f1966e81则“谢谢”

我已经开发了一个网页,并集成了Cc Avenue gateway用于支付,目前运行良好

我的问题是,银行客户成功付款后,会被重定向到“谢谢”页面,该页面将包含订单号、日期、客户详细信息等详细信息。URL类似于:
https://mysite/checkout/order-received/785/?key=wc_order_5b909f1966e92

如果我手动将
key=wc\u order\u 5b909f1966e92
更改为
key=wc\u order\u 5b909f1966e81
则“谢谢”页面上会显示错误,如“无效订单”。相反,它显示“谢谢。您的订单已收到。”页面上没有任何订单详细信息

更换钥匙前:

更换钥匙后:


以下功能将检查订单密钥的有效性。如果订单键不匹配,它将显示一个自定义错误通知(如果需要,还可以选择重定向到shop页面):

代码进入活动子主题(或活动主题)的function.php文件。测试和工作

使用可选的重定向到商店页面:


你能在什么地方加上相关的代码吗。这可能会让你更容易得到帮助?我正在使用woocommerce的功能和CC avenue payment gate way,我还没有为此编写任何代码。我的银行网关在对我的we站点进行审计时提出了一个问题(安全威胁)。请查看以下银行反馈“测试发现一个高风险漏洞(即篡改量)根据测试用例打开非常感谢。正是我需要的,它解决了我的问题
add_action( 'template_redirect', 'check_thankyou_order_key' );
function check_thankyou_order_key() {
    if( is_wc_endpoint_url('order-received') && isset($_GET['key']) ) {
        global $wp;

        $order_id  = absint( $wp->query_vars['order-received'] );
        $order     = wc_get_order( $order_id );

        if( $order->get_order_key() != wc_clean($_GET['key']) ){
            // Display a custom error notice
            wc_add_notice( __('Oups! The order key is invalid…', 'woocommerce'), 'error');

            // Optionally redirect to shop page (uncomment code below)
            // wp_redirect( get_permalink( wc_get_page_id( 'shop' ) ) );
            // exit();
        }
    }
}