Ik wil een aantal services proberen te starten en stoppen via een webinterface. Dit doe ik uiteraard met een bashscript, maar deze wil ik wel enigzins veilig aanroepen voor iedere gebruiker apart.
Omdat voor iedere start of stop button een apart formulier teveel van het goede is en javascript toch niet als standaard "aan" gezien mag worden vinden sommige mensen wil ik het gewoon via PHP doen.
Ik laat de gebruiker inloggen en registreer in een sessie een login = TRUE en zijn userID. Tevens nog wat andere dingen, of ik kan meer toevoegen natuurlijk.
Op iedere regel van een service op een bepaald IP haal ik met een simpele query gewoon binnen welk IP en welke poort die service is, ik kan aan de hand van die controles een veld in de database eruit plukken waardoor ik weet welk script ik moet starten, stoppen of herstarten.
Hoe ga ik dit extra veilig laten zijn en ook flexibel ?
Ik dacht zelf aan een URL met het ip en de poort als variabele. Ik wil eigenlijk posten naar een extern script en zonder dat externe script te gebruiken om via een header terug te komen op de pagina waar mijn start stop buttons staan.
UIteraard zal ik de user nog verifieren aan de hand van de userID sessie variabele of deze wel deze service op deze poort op dit IP mag herstarten of stoppen.
Dat is allemaal redelijk basic en een beetje exec() werk.
Ik wil alleen even de discussie aanhalen hoe ik het beste de naar het script kan posten of de variabele kan sturen zonder dat iemand direct weet hoe ik mijn script van waarden voorzie zodat hij handmatig met het invullen van de variabelen in de adresbalk hetzelfde kan doen.
Ik dacht dus aan een extern script dat sowiezo de sessie controleert en nog iets in de sessie waar de user niet van weet dat het in de sessie staat. Als hij de pagina waar ik alleen de waarden heen post wil bezoeken zal hij worden terug gestuurd, aangezien hij een aantal zaken mist welke wel in zijn sessie staan maar in combinatie met de rest van de informatie die hij handmatig post of in via variabele in de adresbalk zet toch niet overeen komen.
Op een dergelijke manier met dubbele checks wil ik dus voorkomen dat een script zoals dat handmatig kan worden aangeroepen if() is je vriend.
Mijn vraag is sowieso, kan ik posten naar een ander script en toch op de pagina aanwezig blijven waarvan ik post, dus alleen een soort van refresh ?
Kan ik variabelen posten zonder formfields naar een form, dit zal denk ik alleen met een javascript gaan.
Waarom zonder form ? Ik zou anders per service 3 forms krijgen, tel maar uit bij meerdere services.
Wat is een goede maar toch "listige" manier om een gebruiker toch deze acties uit te kunnen laten voeren maar voor hem handmatisch vrij weinig over te laten ?
Omdat voor iedere start of stop button een apart formulier teveel van het goede is en javascript toch niet als standaard "aan" gezien mag worden vinden sommige mensen wil ik het gewoon via PHP doen.
Ik laat de gebruiker inloggen en registreer in een sessie een login = TRUE en zijn userID. Tevens nog wat andere dingen, of ik kan meer toevoegen natuurlijk.
Op iedere regel van een service op een bepaald IP haal ik met een simpele query gewoon binnen welk IP en welke poort die service is, ik kan aan de hand van die controles een veld in de database eruit plukken waardoor ik weet welk script ik moet starten, stoppen of herstarten.
Hoe ga ik dit extra veilig laten zijn en ook flexibel ?
Ik dacht zelf aan een URL met het ip en de poort als variabele. Ik wil eigenlijk posten naar een extern script en zonder dat externe script te gebruiken om via een header terug te komen op de pagina waar mijn start stop buttons staan.
UIteraard zal ik de user nog verifieren aan de hand van de userID sessie variabele of deze wel deze service op deze poort op dit IP mag herstarten of stoppen.
Dat is allemaal redelijk basic en een beetje exec() werk.
Ik wil alleen even de discussie aanhalen hoe ik het beste de naar het script kan posten of de variabele kan sturen zonder dat iemand direct weet hoe ik mijn script van waarden voorzie zodat hij handmatig met het invullen van de variabelen in de adresbalk hetzelfde kan doen.
Ik dacht dus aan een extern script dat sowiezo de sessie controleert en nog iets in de sessie waar de user niet van weet dat het in de sessie staat. Als hij de pagina waar ik alleen de waarden heen post wil bezoeken zal hij worden terug gestuurd, aangezien hij een aantal zaken mist welke wel in zijn sessie staan maar in combinatie met de rest van de informatie die hij handmatig post of in via variabele in de adresbalk zet toch niet overeen komen.
Op een dergelijke manier met dubbele checks wil ik dus voorkomen dat een script zoals dat handmatig kan worden aangeroepen if() is je vriend.
Mijn vraag is sowieso, kan ik posten naar een ander script en toch op de pagina aanwezig blijven waarvan ik post, dus alleen een soort van refresh ?
Kan ik variabelen posten zonder formfields naar een form, dit zal denk ik alleen met een javascript gaan.
Waarom zonder form ? Ik zou anders per service 3 forms krijgen, tel maar uit bij meerdere services.
Wat is een goede maar toch "listige" manier om een gebruiker toch deze acties uit te kunnen laten voeren maar voor hem handmatisch vrij weinig over te laten ?