背景
我已经接管了正在运行非常旧版本的PHP的网站的更新。此后,我注意到该网站从5.3移至7.1之后,我注意到授权。
我们将不再允许TLS 1.0和1.1
它指出,它将在接下来的几周内完全停止工作,我不确定该网站是否使用此弃用版本的TLS。我认为我应该能够通过应用程序中的授权。NET类知道。但是代码并非任何方式参考TLS
。我还以为我可以通过使用的端点来知道,但是我还没有看到有关使用的TLS版本的任何内容,与所使用的端点有关。
有人知道测试并知道我们是否确实在我们的网站中使用较旧版本的TLS?或者,如果可能的话,我们在网站中使用非常旧版本的oferitize.net完全不依赖TLS?
示例代码
这些是应用程序中使用的一些类的开始。也许有人对您正在使用的authorize.net api
版本使用的TLS
版本有所了解。
class.aim.cc.license.php
<?php
/*********************/
/* */
/* Dezend for PHP5 */
/* NWS */
/* Nulled.WS */
/* */
/*********************/
class authnetcc
{
var $fields = array( );
var $license_key;
var $gateway_url = "https://secure.authorize.net/gateway/transact.dll";
var $proxy_url;
var $proxy_port;
var $secure_source = false;
var $error_code;
var $error_message;
var $error_field;
...
aim.class.php
<?php
/**
* CLASS AIM
*
*
*/
class AIM {
// login credentials that Authorize.net uses for verification
var $login_id = '';
var $trans_key = '';
// server
var $server = '';
// credit card information
var $cc_name = '';
var $cc_number = '';
var $cc_month = '';
var $cc_year = '';
var $cc_code = '';
var $cc_type = '';
// error stack array
var $errorStack = array();
// modes
var $testMode = false;
var $debugMode = false;
var $errorRetries = 2;
// buyer information
var $buyer = array();
// response information
var $status = '';
var $subcode = '';
var $response_code = '';
var $response_text = '';
var $approval_code = '';
var $md5hash = '';
var $code = '';
var $remaining = array();
// constructor
function __construct($login_id, $trans_key) {
$this->login_id = $login_id;
$this->trans_key = $trans_key;
$this->setTesting(0);
}
...
这是不是编码问题。授权。NET已发送这些电子邮件已有一年多。与其他所有符合PCI的付款网关一样,他们必须使用TLS 1.2或更好才能保持PCI符合PCI,这意味着他们的所有客户也必须符合符合性。这是您在服务器上配置的东西,而不是在PHP代码中进行的。如果您使用的是共享的Web托管提供商,则需要与他们联系,并要求将其移至支持TLS 1.2的服务器或找到支持它的新主机。
fyi,您还应将新的Akamai URL用于其API,还必须更新。前进的正确URL是https://api2.authorize.net/xml/v1/request.api
。