Комментарии 13
мне кажется, что перед участками кода хорошо бы добавить «cd /etc» и «cd ~» в соответствующие места, мелочь, а приятно
Более нанотехнологично использовать абсолютные пути в скриптах. В данных примерах они не требуются. А дальше пользователь сам волен решать какой стиль программирования использовать.
ну я не совсем об этом, показалось сначала, что Вы создаете файл freecashpayment.sh в /etc, только потом заметил сменившийся путь.

я не настаиваю :)
А где ответ клиенту? Или он безболезненно переносит обрыв без статуся?
Спасибо, что обратили внимание.

Клиенту отдается в таком виде:

ASTRI='текст'
ASTRI=$ASTRI'еще текст'
#Вычисляем длину
ASTRIII=`echo $ASTRI | wc -c`
#Отправляем заголовок
echo «HTTP/1.0 200 OK»
echo «Server: PlanetIX FreeCash Payment Gate/1.0»
echo «Content-type: text/html»
echo «Content-length: $ASTRIII»
echo ""
#Отправляем ответ
echo $ASTRI
А мне приятно, что «Свободная касса» имеет самое вменяемое API, там работают самые адекватные люди и я встаю на колени перед технарями. Спасибо вам :)
Вполне возможно. Но этот метод не требует установки дополнительных пакетов.
Я не утверждаю, что он самый лучший. Я просто говорю, что есть и такой метод. Просто часто встречаю для таких случаев вмонстяченый апач с пхп, хотя можно обойтись несколькими строками.
Ровно на столько, сколько потенциальных дыр оставить в обработке запроса :)
Думаю, что тут больше вопрос в уязвимостях inetd. А дыры можно на любом ЯП написать.
ну с inetd то понятно. в этом смысле, кстати, xinetd более устойчив.

а вот если куда-нибудь в запросе засунуть $(...)?
Ненене, Дэвид Блэйн ))) Скрипту не придет никаких $1, $2 и т.д. Ему придет только "/?x=1&y=2&z=3". В таком духе. Останется только разгрести это и использовать. А вот дыры могут быть уже начиная с разгребания. Тут уже от /dev/hands зависит. Можно сразу заюзать, а можно сначала «причесать», прорегэкспить, удостовериться и т.д.

То, что описал я это ровно до момента по аналогии с php:

<?
$q = $_GET['q'];


Вот все, что дальше — потенциальная дыра. Но она зависит от рук. Так и здесь. Я поделился только методом реализации принимания запроса и ответа.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.