Spotter-VM/zz-extra/vm-ping.php

24 lines
654 B
PHP
Raw Normal View History

2018-09-02 18:16:48 +02:00
<?php
// Extract URL from 'url' GET field
$url = (string)filter_input(INPUT_GET, 'url');
2018-09-02 18:16:48 +02:00
if (empty($url)) {
exit;
}
// Strip endpoint to scheme://host:port/vm-ping to prevent abuse
$url = parse_url($url);
if (!$url) {
exit;
2018-09-02 18:16:48 +02:00
}
$url = $url['scheme'].'://'.$url['host'].(!empty($url['port']) ? ':'.$url['port'] : '').'/vm-ping';
2018-09-02 18:16:48 +02:00
// Ping the remote endpoint
2018-09-02 18:16:48 +02:00
$ch = curl_init($url);
curl_setopt_array($ch, [CURLOPT_RETURNTRANSFER => TRUE, CURLOPT_HEADER => FALSE, CURLOPT_SSL_VERIFYHOST => FALSE, CURLOPT_SSL_VERIFYPEER => FALSE, CURLOPT_TIMEOUT => 4]);
$content = curl_exec($ch);
curl_close($ch);
2018-09-03 17:24:48 +02:00
if ($content == 'vm-pong') {
echo 'vm-pong';
2018-09-02 18:16:48 +02:00
}