| Server IP : 104.21.21.239 / Your IP : 216.73.216.11 Web Server : Apache/2.4.68 (Amazon Linux) OpenSSL/3.5.5 System : Linux ip-172-31-69-123.ec2.internal 6.1.176-223.369.amzn2023.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Jul 24 13:34:27 UTC 2026 x86_64 User : ec2-user ( 1000) PHP Version : 8.4.23 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/banners/domains/stagemag/ |
Upload File : |
<?php
// CONFIG
$PIXEL_ID = '128124764529976';
$ACCESS_TOKEN = 'EAAevkFHhd0oBPsvcVnHzuTEruMOONyXU4eCjSCmDn6r3qEhVljmxX4LHaoLpap6Y0menQjJDzkTJ8wy5NpDRI0u2U8GcZBSxEopsXXzNcI8fYf9QFCIrtQBMZC8yi38siEfFhZASHa1KvBKVcIWe5yTvRQ7GzWF7ojkZBTFFqs9MddbMjtjjqCqreAZAn4ZCccPgZDZD';
$GRAPH_VER = 'v21.0';
// Helpers
function sha256_lower($v){ $v = trim(mb_strtolower($v ?? '')); return $v ? hash('sha256',$v) : null; }
function read_cookie($n){ return $_COOKIE[$n] ?? null; }
function client_ip(){
$cf = $_SERVER['HTTP_CF_CONNECTING_IP'] ?? null;
$xff = $_SERVER['HTTP_X_FORWARDED_FOR'] ?? null;
$xri = $_SERVER['HTTP_X_REAL_IP'] ?? null;
$rem = $_SERVER['REMOTE_ADDR'] ?? null;
if ($xff && strpos($xff, ',') !== false) { $xff = trim(explode(',', $xff)[0]); }
foreach ([$cf,$xff,$xri,$rem] as $ip) {
if ($ip && filter_var($ip, FILTER_VALIDATE_IP)) return $ip;
}
return null;
}
// Input
$input = file_get_contents('php://input');
$data = json_decode($input, true) ?: [];
$event_id = $data['event_id'] ?? null;
$events = $data['events'] ?? [];
$page_url = $data['page_url'] ?? null;
$now = time();
// user_data
$user_data = array_filter([
'client_ip_address' => client_ip(),
'client_user_agent' => $_SERVER['HTTP_USER_AGENT'] ?? null,
'fbc' => read_cookie('_fbc'),
'fbp' => read_cookie('_fbp'),
// 'em' => [ sha256_lower($logged_in_email) ],
// 'ph' => [ sha256_lower($logged_in_phone) ],
]);
$event_source_url = $page_url ?: ($_SERVER['HTTP_REFERER'] ?? (
(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']==='on' ? 'https' : 'http') .
'://' . $_SERVER['HTTP_HOST'] . ($_SERVER['REQUEST_URI'] ?? '/')
));
// Build events
$server_events = [];
foreach ($events as $e) {
$server_events[] = [
'event_name' => $e['name'] ?? '',
'event_time' => $now,
'event_id' => $event_id,
'action_source' => 'website',
'event_source_url' => $event_source_url,
'user_data' => $user_data,
'custom_data' => $e['params'] ?? []
];
}
$payload = ['data' => $server_events];
//$payload['test_event_code'] = 'TEST38806';
$endpoint = "https://graph.facebook.com/{$GRAPH_VER}/{$PIXEL_ID}/events?access_token=" . urlencode($ACCESS_TOKEN);
$ch = curl_init($endpoint);
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode($payload, JSON_UNESCAPED_UNICODE),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 10,
]);
$response = curl_exec($ch);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
header('Content-Type: application/json');
echo json_encode(['ok' => $http_code >= 200 && $http_code < 300, 'status' => $http_code]);