Kirjoittaja Aihe: CGI-skriptiä, veppilomakkeen tallennusta  (Luettu 2982 kertaa)

New_user

  • Käyttäjä
  • Viestejä: 1243
    • Profiili
CGI-skriptiä, veppilomakkeen tallennusta
« : 26.09.13 - klo:07.50 »
Ääh taas joutuisi opettelemaan ;) IIS:llä ja Fronpegella oli aikoinaan helppoa tehdä nettilomake, ja tallennukset sille. Nyt sitten pitäisi opetella täällä Ubuntun puolella. Lomakkeen osaan jo tehdä, mutta se tietojen tallennus...

Netistä löytyy kaikenmoisia ratkaisumalleja, muttei yhtään hyvää esimerkkiä koodeineen. Nettilomakkeen Action= -kohdassa on linkki CGI-skriptiin, jonka siis pitäisi hoitaa hommaa. Kokeilin yhtä netistä löytämääni, mutta lomakkeen "lähetä" napin painallus vain aiheuttaa siirron uudelle sivulle, jossa tulosteena skriptin koodi. En tiedä mitä puuttuu. Apache2 pelittää, sivuhakemistossa on tuo tekemäni lomake, ja alihakemistoon laitoin skriptin, ja sille ajo-oikeudet. Miten ihmeessä noita (ilmeisesti siis Perl-) skiptejä ajetaan?

Niin ja jos jollakin on hyvää skriptiä peruslomakkeen tietojen tallennukseen palvelimelle tai muuta ideaa, antaa tulla. Lomakkeessa vain tekstikenttiä, ei valikoita eikä radionappeja.

Ei tässä viitsisi kaivaa Frontpagea esille, ja ruveta Win-puolella tuota tekemään.

mrl586

  • Käyttäjä
  • Viestejä: 4638
    • Profiili
Vs: CGI-skriptiä, veppilomakkeen tallennusta
« Vastaus #1 : 26.09.13 - klo:08.35 »
Oletko harkinnut PHP:n käyttöä?

New_user

  • Käyttäjä
  • Viestejä: 1243
    • Profiili
Vs: CGI-skriptiä, veppilomakkeen tallennusta
« Vastaus #2 : 26.09.13 - klo:09.46 »
Oletko harkinnut PHP:n käyttöä?

En ole. Yritän rajoittaa tämän mahdollisimman kapealle, ja mielellään vain ohi mennen, koska tämä lomakehomma saattaa olla jopa kertaluontoinen. Jos ei se mene aika helpolla, ulkoistan koko jutun Webropolin alle.

PHP:stä; mulla oli kotona jonkin aikaa yksi Ubuntu kone maailmalle auki, Natin kautta yhtä testausta varten. Apachen lokista näki, etä pari-kolme kävijää ulkomaisella IP:llä oli yrittänyt ronkkia konetta etsien jotain tiettyä PHP-hakemistoa. Sieltä kautta olisi ilmeisesti auennut jokin turvareikä. PHP ei ollut koneelle asennettuna :)

nm

  • Käyttäjä
  • Viestejä: 16296
    • Profiili
Vs: CGI-skriptiä, veppilomakkeen tallennusta
« Vastaus #3 : 26.09.13 - klo:10.19 »
CGI-skriptien suoritus pitää erikseen sallia Apachen asetuksissa: http://httpd.apache.org/docs/2.2/howto/cgi.html
Lue tuo koko dokumentaatio ajatuksella läpi.

Ronkkimisilta ei välty minkään kielen kanssa. Yksinkertaisen lomakkeen kanssa tuosta voi olla haittaa silloin, jos joku robotti yrittää SQL-injektioita tai vastaavaa lomakkeen kenttiin, jolloin ilman varmistuksia tai käyttäjän tunnistamista tallenteesi ovat pian täynnä moskaa. Jos käytät tallennukseen tietokantaa, suojaa lomakkeesta luetut merkkijonot niin, ettei SQL-injektio ole mahdollinen.
« Viimeksi muokattu: 26.09.13 - klo:10.21 kirjoittanut nm »

New_user

  • Käyttäjä
  • Viestejä: 1243
    • Profiili
Vs: CGI-skriptiä, veppilomakkeen tallennusta
« Vastaus #4 : 26.09.13 - klo:13.26 »
Kiitos vastanneille.

Näyttää yhä enemmän siltä, että pidän loman, ja sen jälkeen paukuttelen lomakkeen Webropoliin, ja annan heidän vastata sitten asiasta eteenpäin. Alunperin oli ideana kerätä paikkatietosovelluksen kautta data, mutta koska kerättäviä kenttiä on paljon, ja muutama kenttä pitkiä tekstikenttiä, teenkin jokaisen lomakkeen datasta oman veppisivun, koska niitä tulee aika rajallinen määrä. Saattaa jopa olla, että Webropol tukee lomakkeen datan tallentamista suoraan html:ksi.

Paikkatietosovellukselle jää sitten vain esittäminen, eli karttapistettä klikatessa saadaankin tietokannasta vain veppilinkki pisteen ominaisuustietona, jota sitten käytetään ohjelmallisesti uudelleenohjaukseen oikealle veppisivulle, jossa on kerätty ko. pisteen data.

Case closed. Ei kannata alkaa vääntää lomakehommaa nyt omalle palvelimelle. Taustalla silti opiskelen jossain vaiheessa tuon lomakkeen vastaanoton Apachea ja CGI-skriptiä käyttäen myöhempiä varten.