Filtering
Filtering functions allow you to check visits to your sites as quickly as possible. They are placed in a separate interface, which has the minimum response time and maximum performance.
Check the visit
URL: https://www.altercpa.one/fltr/{user}-{key}-{id}
In the function address, instead of {user}
and {key}
, specify the API ID and key from the profile, instead of {id}
specify the identifier of the filter site you added. You can get the specific URL by clicking on the "Manual" button of the corresponding site in your your personal account.
To check your visit, you need to send a POST request to the above URL. Pass the fields of your array $_SERVER
as the body of the request - we will parse them and show the response in JSON format. A successful response includes the status
, action
and url
fields. The status
field always contains the value ok
. The action
field of the response will contain allow
or deny
depending on the verification results, the url
field will contain the corresponding URL. In the error response, the status
field will contain error
, the error code will be indicated in the error
field.
The POST part of the request must be in x-www-form-urlencoded
format, JSON format is not supported. We parse the following fields from the $_SERVER
array:
HTTP_USER_AGENT, HTTP_ACCEPT, HTTP_ACCEPT_CHARSET, HTTP_ACCEPT_ENCODING, HTTP_ACCEPT_LANGUAGE, HTTP_AUTHORIZATION, HTTP_CACHE_CONTROL, HTTP_CONNECTION, HTTP_CONTENT_DISPOSITION, HTTP_DATE, HTTP_EXPECT, HTTP_FROM, HTTP_HOST, HTTP_IF_MATCH, HTTP_IF_MODIFIED_SINCE, HTTP_IF_NONE_MATCH, HTTP_IF_RANGE, HTTP_IF_UNMODIFIED_SINCE, HTTP_MAX_FORWARDS, HTTP_PRAGMA, HTTP_PROXY_AUTHORIZATION, HTTP_RANGE, HTTP_REFERER, HTTP_TE, HTTP_TRAILER, HTTP_TRANSFER_ENCODING, HTTP_UPGRADE, HTTP_VIA, HTTP_X_FORWARDED_FOR, REMOTE_ADDR, REMOTE_PORT, REQUEST_METHOD, REQUEST_URI, QUERY_STRING, HTTP_CF_CONNECTING_IP, HTTP_CLIENT_IP, HTTP_X_REAL_IP, HTTP_X_PURPOSE, HTTP_X_FB_HTTP_ENGINE
The result of executing the function is an associative array:
Field |
Description |
status |
The result of the operation: ok in case of successful execution, error in case of an error |
action |
Action required based on verification results:
allow - legitimate visit, show target site
deny - suspicious visit, show dummy site
|
result |
The real result of testing traffic, which does not depend on the enabled training mode:
allow - legitimate visit, show target site
deny - suspicious visit, show dummy site
In training mode, the value of result may differ from the value of action .
|
url |
The site URL for the request depends on the results of the check. |
target |
The URL of the target site, if available, is always shown regardless of the check results. |
dummy |
The URL of the dummy site, if available, is always shown regardless of the check results. |
error |
Error ID: access-denied if there is no access to the verification system, bad-request if the verification URL is incorrectly specified, bad-site if specified site not found. |
An example of the implementation of sending a request:
$curl = curl_init( 'https://www.altercpa.one/fltr/123-abcd-45' );
curl_setopt( $curl, CURLOPT_POST, true );
curl_setopt( $curl, CURLOPT_POSTFIELDS, $_SERVER );
curl_setopt( $curl, CURLOPT_RETURNTRANSFER, true );
$result = curl_exec( $curl );
curl_close( $curl );
$result = $result ? json_decode( $result, true ) : [];
if ( isset( $result['action'] && $result['action'] == 'allow' ) {
include( 'target-index.php' );
} else include( 'dummy-index.php' );
Successful server responce example:
{
"status": "ok",
"action": "allow",
"url": "http://black.site/url"
}
Error response example:
{
"status": "error",
"error": "access-denied"
}