немного уточню. мне нужно запускать программу именно с сайта http://site.ru/script.php и файла script.php .
а разве я не могу зайти под именем php-fpm или cgi или кто там его запускает и запустить от его имени? это уже не то что мне нужно
можно ещё вот так попробовать
1 - в с++ проге определяете pid по getpid()
2 - в c++ проге запускаете системную команду
ps xao pid,ppid,pgid,sid,comm
там будет весь список процессов, вместе с pid и parent pid
в полученном списке находите по pid программы parent pid (ppid), и если в списке есть pid, соответствующий ppid, то смотрите, пхп или нет
pid не подходит. я в консоли могу его запустить а не с script.php и получу pid и передам его myprogram.
когда запускаете из пхп программу, то можете получить её pid и записать во временный файл, а из проги проверить по этому pid, совапдает ли с pid программы
getpid()
$command = 'yourcommand' . ' > /dev/null 2>&1 & echo $!; ';$pid = exec($command, $output);
можно по pid + ps aux
https://pubs.opengroup.org/onlinepubs/009695399/functions/getppid.html
https://www.systutorials.com/how-to-get-the-running-process-pid-in-c-cpp/
https://stackoverflow.com/questions/1470910/invoke-external-shell-script-from-php-and-get-its-process-id
Он же видит реальные IP, читай выше.
да, вижу, ну значит остаётся просто банить по сети, не по отдельному айпишнику
52.0.0.0/1052.64.0.0/1234.192.0.0/10
согласен, надо глядеть в логи, раз через cloudflare, то просто анализом логов не отделаешься, надо изменить структуру сохраняемых по умолчанию логов в nginx и добавить реальный айпишник "http_x_forwarded_for"
log_format main '$remote_addr - $remote_user [$time_local] $host "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"';
по нему и вычисляйте зловреда
ну как минимум сделать так, чтобы жалующийся загружал доки, подтверждающие факт трудоустройства, для проверки админом, без публикации