PHP / Python Проверьте, выключен ли брандмауэр - PullRequest
0 голосов
/ 28 ноября 2018

возможно ли написать сценарий PHP, который проверяет, отключен ли брандмауэр ПК, и затем выводить yes / no в флажок на веб-странице?(Хостинг моего собственного веб-сервера с использованием WAMP)

В настоящее время я имею в виду создание файла .bat, который проверяет, отключен ли брандмауэр, с помощью:

netsh advfirewall show public

, затем проверяйте состояниев CMD отображается значение «Вкл. / Выкл.», и результаты возвращаются в флажок веб-страницы.Дело в том, что я понятия не имею, как мне выполнить проверку состояния и вернуть результаты.

Пожалуйста, сообщите.Также открыты для других идей / решений, которые могут дать аналогичные результаты.

PS: Я новичок в PHP-скриптинге и только начал изучать Python сегодня, а проект должен быть через 3 недели.Также было бы неплохо, если бы вы могли связать решения с полным кодом, если вы знаете что-либо.Я учусь быстрее, используя ссылки.

1 Ответ

0 голосов
/ 28 ноября 2018

Вы можете использовать эту команду, чтобы получить только статус общедоступного профиля:

"netsh advfirewall show public state"

Эта команда может использоваться вскрипт Python с модулем подпроцесса:

result = subprocess.check_output(["netsh", "advfirewall", "show ", "allprofiles", "state"].decode('utf-8')

Результатом будет строка, с помощью регулярного выражения вы сможете получить значение из нее.

https://docs.python.org/3/library/re.html

Пример регулярного выражения:

status = re.search('state[ ]*([A-Za-z])*', result).group(1)
...