Sida 1 av 1
CGI script
Postat: 21 feb 2009, 00:23
av exploit
Hejsan..
Jag har apache2 o php5
är lite nyfiken på om man ska använda cgi script hur funkar det?
det vanligaste är ju i katalogen cgi-bin som ska ligga under respektive domän mapp..
men om det inte gör det då?
hur testar man enklast om man kan köra cgi skript på servern? eller hur installerar man det?
Re: CGI script
Postat: 21 feb 2009, 07:51
av palle-kuling
det vanligaste är ju i katalogen cgi-bin som ska ligga under respektive domän mapp..
men om det inte gör det då?
Då kan jag nästan garantera att du inte kan köra cgi.
hur testar man enklast om man kan köra cgi skript på servern? eller hur installerar man det?
Man slänger ett jätteenkelt cgi script i katalogen och kollar vad som händer när du pekar på det med din webbläsare? (kom ihåg att göra det körbart först)
Re: CGI script
Postat: 21 feb 2009, 09:51
av Osprey
palle-kuling skrev:det vanligaste är ju i katalogen cgi-bin som ska ligga under respektive domän mapp..
men om det inte gör det då?
Då kan jag nästan garantera att du inte kan köra cgi.
Jag har för mig att det är konfigurerbart i t.ex Apache...
palle-kuling skrev:hur testar man enklast om man kan köra cgi skript på servern? eller hur installerar man det?
Man slänger ett jätteenkelt cgi script i katalogen och kollar vad som händer när du pekar på det med din webbläsare? (kom ihåg att göra det körbart först)
Precis, som t.ex:
Tänk på att ett cgi-script ska leverera sitt resultat som html eller motsvarande...
Re: CGI script
Postat: 21 feb 2009, 14:24
av palle-kuling
Jag har apache2 o php5
är lite nyfiken på om man ska använda cgi script hur funkar det?
ett cgi script är inte riktigt samma sak som en servlet typ php. En servlet kör man oftast i html kod, medans cgi kör du som ett program vid sidan av.
Så, har du php5 (och vill använda det i samma syfte som ett cgi script) så är du förmodligen inte alls beroende av en cgi mapp.
Jag har för mig att det är konfigurerbart i t.ex Apache...
Det är det. Jag antog att exploit inte har tillgång till apache konfigurationen (typ konto hos något webbhotell). Men om man kör det på en egen server, så visst.
Re: CGI script
Postat: 21 feb 2009, 23:24
av palle-kuling
Jag kanske ska förklara lite närmare hur vi menade?
Ett cgi är ett program, precis som vilket annat program. Det funkar lika bra att köra i en terminal, som på webservern. Observera att man måste bygga upp html koden med programmet;
(hello_world.py)
Kod: Markera allt
#!/usr/bin/env python
import cgi
import cgitb; cgitb.enable()
print "Content-type: text/html"
print ""
str="hello world"
print "<body>"
print "<h1>" + str + "</h1>"
print "</body>"
sh(ell) cgi (går också fint att köra i terminalen);
(hello_world.sh)
Kod: Markera allt
#!/usr/bin/env sh
echo "Content-type: text/html"
echo ""
STR="Hello world"
echo "<body>"
echo "<h1>${STR}</h1>"
echo "</body>"
En servlet, typ php, har koden strategiskt utplacerad *inuti* html, så man bygger inte hela html dokumentet av koden, utan lägger bitar med kod där man tycker det passar;
(hello_world.php)
Kod: Markera allt
<body>
<h1><?php $str = "Hello world"; print $str ?></h1>
</body>
Det kan hända att du kan aktivera cgi i .htaccess filen som du har i din tilldelade mapp för din hemsida (om du inte har tillgång till apache konfigurationen). Men i sådana fall bör det finnas instruktioner för det på webbhotellets FAQ/Dokumentation. Men som sagt, du kan ju alltid köra php istället

Re: CGI script
Postat: 22 feb 2009, 12:51
av jsiei97
palle-kuling skrev:En servlet, typ php, har koden strategiskt utplacerad *inuti* html, så man bygger inte hela html dokumentet av koden, utan lägger bitar med kod där man tycker det passar;
(hello_world.php)
Kod: Markera allt
<body>
<h1><?php $str = "Hello world"; print $str ?></h1>
</body>
Stopp på belägg, nu är det rätt rörigt i denna tråd!
Man kan man
inte använda ordet servlet på detta vis, en servlet är en java baserat modul.
Php kod kan aldrig bli en servlet.
http://en.wikipedia.org/wiki/Servlet.
Men för att fortsätta så exakt samma sak som du visade med python o cgi kan man och bör man göra med php.
Kod: Markera allt
<?php
$STR="Hello world";
echo "<body>";
echo "<h1>".$STR."</h1>";
echo "</body>";
?>
Men hela poängen är att man kan göra väldigt mycket mer i språk som python och php,
framför allt kan man strukturera upp sin websida lättare så man har något att växa i.
palle-kuling skrev: Men som sagt, du kan ju alltid köra php istället

Helt rätt, ignorera alla tankar om cgi.
Om ditt webhotell använder php, så använd detta.
Det finns som sagt inget i cgi som du inte kan göra med php.
Mvh Johan
Re: CGI script
Postat: 22 feb 2009, 22:31
av palle-kuling
Man kan man inte använda ordet servlet på detta vis
Ärtans också! Det strulade lite i huvet. Jag syftade på ett "server side embedded scripting language" (vad man nu översätter det med).
Python finns t.ex i formen kallas "python server pages" (PSP) som inkluderas i befintlig html precis som php, och inte behöver köras via ett traditionellt CGI.
Men för att fortsätta så exakt samma sak som du visade med python o cgi kan man och bör man göra med php.
Du får gärna utveckla lite om varför man *bör* bygga upp html strukturen med php istället. Att skaffa sig bättre vanor (om det finns rationella argument för dom) bör ju vara i allas intresse.
Re: CGI script
Postat: 23 feb 2009, 08:48
av jsiei97
palle-kuling skrev:Men för att fortsätta så exakt samma sak som du visade med python o cgi kan man och bör man göra med php.
Du får gärna utveckla lite om varför man *bör* bygga upp html strukturen med php istället. Att skaffa sig bättre vanor (om det finns rationella argument för dom) bör ju vara i allas intresse.
Hej igen
Satt och funderade på hur jag skulle svara på denna tråden och kom fram till att jag nog inte
är rätt person att berätta om det *bästa* sättet att programmera php
(även om jag har skrivit rätt mycket i språket så brukar jag ta för många genvägar....)
Så jag kastar in ett par bra sökningar istället och duckar frågan...
*
http://www.google.se/search?q=php+tutorial
*
http://stackoverflow.com/questions/tagg ... ices%20php
*
http://stackoverflow.com/questions/tagg ... ces%20php5
*
http://www.google.se/search?q=php+best+ ... tnG=Search
(Kanske kommer på andra tankar imorgon

)
Mvh Johan