» »

Spletna stran in ukazi na linux serverju (bash skripta)

Spletna stran in ukazi na linux serverju (bash skripta)

alexa-lol ::

hej :) imam neko stran, ki od uporabnika pobere neke podatke (čisti HTML, ne rabim PHP ker ni vsebine, ki bi se generirala on the go). Ob tem imam na linux serverju neko bash skripto, ki s temi podatki nekaj izvede. Kako bi najlažje, najbolj elegantno to dvoje povezal. Probal sem z PHP in shell_exec in načeloma dela, ob tem sem pa še bral nekaj o CGI pa me samo zanima drugo mnenje kako bi vi zasnovali to zadevo, katero tehnologijo bi uporabili.

Hvala in lep pozdrav :)

PS podatke pošljem na server preko POST, to ni problem

kunigunda ::

shell scripto pac pozenes iz web prowserja (das .sh npr da je CGI v apache nastavitvah npr), parametre
dobis kot spremenljivke (moras enejblat setenv module), v scripti pa pol html kot response generiras

echo "Content-type: text/html"
echo ""
echo "html...."


Drgac pa boljs, da vse naredis v php,perl itd.. in klices v html to scripto.

alexa-lol ::

no sj to bi rad iz web browserja pognal skripto... zdj je tko:
<?php
$param1 = $_POST['param_1'];
$param2 = $_POST['param_2'];
shell_exec("source skripta.sh $param1 $param2");
?>


Zdaj me pa zanima če obstaja kakšen bolj eleganten način oz. kakšen drugačen način da bi ta POST request handlu (iščem alternative), npr. brez PHP serverja in čisto nekaj tretjega.. kaj pa vem.. in ker o teh tehnologijah nimam lihk dost pojma tu sprašujem.

@konigunda ali lahko malo bolj pojasniš to s CGI ker ne dojamem ravno CGI-ja.

Zgodovina sprememb…

ender ::

http://example.org/ foo.php?param_1=%60rm%20-rf%20/*%60
There are only two hard things in Computer Science:
cache invalidation, naming things and off-by-one errors.

Zgodovina sprememb…

  • spremenilo: ender ()

alexa-lol ::

@ender.. ok to je pač GET

jaz hočem k istemu problemu pristopiti iz vidika različnih tehnologij. Kar imam je spletna stran, ki na nek URL pošlje POST request. Ob tem imam še BASH kripto, ki nekaj naredi. Zdaj iščem vse možne rešitve tega problema.

ender ::

echo -e 'POST /foo.php HTTP/1.0\nHost: example.org\nContent-type: application/x-www-from-urlencoded\n\nparam_1=rm+-rf+%2F*' | nc example.org 80
There are only two hard things in Computer Science:
cache invalidation, naming things and off-by-one errors.

Ziga Dolhar ::

Okej - enderjevega odgovora ne jemlji dobesedno. Ender te želi opozoriti na izjemno kritično varnostno luknjo v tvoji kodi.
https://dolhar.si/

alexa-lol ::

aha in kaj lahko ta povzroči?
Se jo da kako zakrpati?
Sploh obstaja varen način, da bi poslal podatke na server kjer bi se izvedla neka skripta, ki bi te podatke uporabljala?

kunigunda ::

Eleganten definitivno ni tvoj pristop. Naredi vse v PHPju ce ze delas.
Sicer pa imas ze narejeno kot vidim (source lahko pri execu spustis)

moras pa se nekaj ven dati ker to web server pricakuje, s phpjem po exec-u izpisi pac Content-type in ostalo saro.

MrStein ::

uporabi exec, namesto shell exec, da se parametri ne izvedejo. (ne vem kako se prav funkcija v PHP imenuje)
Ali pa lahko probaš kako knjižnico za escapanje parametra uporabit.
Prav tako v skripti skripta.sh moraš biti pozoren, kaj počneš s parametri.
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!

Mesar ::

zakaj te? sej pa nima kajb it, to lepo nalozi nekam pa reseno vazno, da dela, boli te za neke kozmeticne popravke
Your turn to burn!


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

PHP POST težava

Oddelek: Programiranje
121403 (1269) DeeJay
»

PHP davčna blagajna

Oddelek: Programiranje
187611 (5635) brble
»

Apache - localhost JA, IP naslov NE

Oddelek: Omrežja in internet
182592 (2451) ManDriver
»

Linux sendmail - Problem !!!??

Oddelek: Omrežja in internet
151879 (1640) n0name
»

kak se na slohostingu postav forum in katerega?

Oddelek: Izdelava spletišč
392132 (1776) Klemenn

Več podobnih tem