@@ -80,17 +80,35 @@ public function processSendRequestToFraudLabsPro($order) {
80
80
$ rejectStatus = $ this ->scopeConfig ->getValue ('fraudlabspro/active_display/reject_status ' , \Magento \Store \Model \ScopeInterface::SCOPE_STORE );
81
81
82
82
$ billingAddress = $ order ->getBillingAddress ();
83
+
83
84
$ ip = $ _SERVER ['REMOTE_ADDR ' ];
85
+ $ headers = array (
86
+ 'HTTP_CF_CONNECTING_IP ' , 'HTTP_X_REAL_IP ' , 'HTTP_X_FORWARDED_FOR ' , 'HTTP_INCAP_CLIENT_IP ' , 'HTTP_X_SUCURI_CLIENTIP '
87
+ );
84
88
85
- if (isset ($ _SERVER ['HTTP_CF_CONNECTING_IP ' ]) && filter_var ($ _SERVER ['HTTP_CF_CONNECTING_IP ' ], FILTER_VALIDATE_IP )) {
86
- $ ip = $ _SERVER ['HTTP_CF_CONNECTING_IP ' ];
89
+ foreach ($ headers as $ header ) {
90
+ if (isset ($ _SERVER [$ header ]) && filter_var ($ _SERVER [$ header ], FILTER_VALIDATE_IP , FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE )) {
91
+ $ ip = $ _SERVER [$ header ];
92
+ }
87
93
}
88
94
89
- if (isset ($ _SERVER ['HTTP_X_FORWARDED_FOR ' ])) {
95
+ // get the data of all ips
96
+ $ ip_sucuri = $ ip_incap = $ ip_cf = $ ip_forwarded = '::1 ' ;
97
+ $ ip_remoteadd = $ _SERVER ['REMOTE_ADDR ' ];
98
+ if (isset ($ _SERVER ['HTTP_X_SUCURI_CLIENTIP ' ]) && filter_var ($ _SERVER ['HTTP_X_SUCURI_CLIENTIP ' ], FILTER_VALIDATE_IP , FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE )){
99
+ $ ip_sucuri = $ _SERVER ['HTTP_X_SUCURI_CLIENTIP ' ];
100
+ }
101
+ if (isset ($ _SERVER ['HTTP_INCAP_CLIENT_IP ' ]) && filter_var ($ _SERVER ['HTTP_INCAP_CLIENT_IP ' ], FILTER_VALIDATE_IP , FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE )){
102
+ $ ip_incap = $ _SERVER ['HTTP_INCAP_CLIENT_IP ' ];
103
+ }
104
+ if (isset ($ _SERVER ['HTTP_CF_CONNECTING_IP ' ]) && filter_var ($ _SERVER ['HTTP_CF_CONNECTING_IP ' ], FILTER_VALIDATE_IP , FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE )){
105
+ $ ip_cf = $ _SERVER ['HTTP_CF_CONNECTING_IP ' ];
106
+ }
107
+ if (isset ($ _SERVER ['HTTP_X_FORWARDED_FOR ' ])){
90
108
$ xip = trim (current (explode (', ' , $ _SERVER ['HTTP_X_FORWARDED_FOR ' ])));
91
109
92
110
if (filter_var ($ xip , FILTER_VALIDATE_IP , FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE )) {
93
- $ ip = $ xip ;
111
+ $ ip_forwarded = $ xip ;
94
112
}
95
113
}
96
114
@@ -109,6 +127,11 @@ public function processSendRequestToFraudLabsPro($order) {
109
127
'format ' => 'json ' ,
110
128
'key ' => $ apiKey ,
111
129
'ip ' => $ ip ,
130
+ 'ip_remoteadd ' => $ ip_remoteadd ,
131
+ 'ip_sucuri ' => $ ip_sucuri ,
132
+ 'ip_incap ' => $ ip_incap ,
133
+ 'ip_forwarded ' => $ ip_forwarded ,
134
+ 'ip_cf ' => $ ip_cf ,
112
135
'first_name ' => $ billingAddress ->getFirstname (),
113
136
'last_name ' => $ billingAddress ->getLastname (),
114
137
'bill_addr ' => implode (" " , $ billingAddress ->getStreet ()),
@@ -128,7 +151,7 @@ public function processSendRequestToFraudLabsPro($order) {
128
151
'payment_mode ' => $ paymentMode ,
129
152
'flp_checksum ' => ( isset ( $ _COOKIE ['flp_checksum ' ] ) ) ? $ _COOKIE ['flp_checksum ' ] : '' ,
130
153
'source ' => 'magento ' ,
131
- 'source_version ' => '2.0.11 ' ,
154
+ 'source_version ' => '2.0.12 ' ,
132
155
);
133
156
134
157
$ shippingAddress = $ order ->getShippingAddress ();
0 commit comments