- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
VK приобрела 70% в структуре компании-разработчика red_mad_robot
Которая участвовала в создании RuStore
Оксана Мамчуева
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Не понимаю... так у вас это всё под контролем или это какая-то общедоступная программа. От кого нужно скрывать программу?! От самого себя же ?
Кто узнает, что надо вводить:
Другие пользователи на сервере, которые не подкотрольны вам?
script.php открытый код. запускает программу myscript
нужно сделать так что запуск программы был именно из под script.php и никаким другим образом
немного уточню. мне нужно запускать программу именно с сайта http://site.ru/script.php и файла script.php . а не с консоли bash sh ...
Просто удлинили проблему на 1 шаг
1) вызвали скрипт с токеном сгенерированным по своему алгоритму (в примере делаем примитивные одноминутный токен - умножаем текущий час 9 на минуту 21)
curl http://site.ru/script.php?token=189
2) В скрипте вызываем программу и передаём токен
3) Вычисляем токен и выполняем / не выполняем код
Советникам про токены было бы полезно сначала читать тему, я это советовал в самом начале темы, и начальник темы пояснил, почему для его задачи такой способ не годится. Можно решить задачу криво, но должно работать. Переносим вызывающий скрипт из каталога для страниц в каталог для CGI программ, и оформляем запуск вызывающего скрипта как запуск CGI программы.
Было
http://domain/script.php
<?php
exec("softina");
?>Надо
http://domain/cgi-bin/script.php
#!/usr/local/bin/php
exec("softina");
Ставим вызывающему скрипту setuid права доступа, чтобы вызывающий скрипт исполнялся не от пользователя HTTP сервера, а от пользователя хозяина вызывающего скрипта.
$ chmod 6755 cgi-bin/script.php
И проверяем в вызываемом скрипте, какой пользователь исполняет вызываемый скрипт.
if (getuid() != userid) exit(failure);
Надо выбрать годную getuid() функцию из php зоопарка на эту тему.
Такое решение не защитит от запуска кем попало вызывающего скрипта, но защитит от вызова откуда попало вызываемого скрипта.
начальник темы пояснил, почему для его задачи такой способ не годится
Вероятно я туплю, но кроме открытости php-кода я не вижу претензий от автора.
Однако, чем открытость кода
может скомпрометировать алгоритм формирования токена?
формирования токена?
Ваш способ зависит от получения внешнего токена, поэтому не решает задачу в общем случае.
может скомпрометировать алгоритм формирования токена?
да. я вот позавчера тему создал https://searchengines.guru/ru/forum/1096624
токен можно перехватить
да. я вот позавчера тему создал https://searchengines.guru/ru/forum/1096624
токен можно перехватить
Так токен должен быть одноразовый. Его перехват ничего не даёт.
Так токен должен быть одноразовый
вроде как не одноразовый. а у него есть время жизни. за етот промежуток времени можно его использовать