Codeigniter form with integrated data and file validation

In one application built on Codeigniter framework I needed to create a special form. The form had to allow a user to both enter text data and upload an image. It was actually the first time I had any experience with programming forms that would include file upload. And I found out it is not a completely trivial task in Codeigniter. There are multiple reasons for this, but the main one is this: image validation and form data validation are done separately in Codeigniter. Not only the validation is done by two different classes, but the error messages are also independent.

So I went on to create a form that would integrate both types of validation (or rather, the error messages). On the way I had to decide on one major usability problem: what to do with image if the user submits the right image but the rest of the form does not validate (for example, forgets to enter name or email). I decided to go with the simplest option – the image is discarded, and the user is warned to not forget to attach the image again (since the file upload field cannot be repopulated, as other fields can be).

Admittedly, the image could be saved to save user the trouble of attaching it again, but in that case you have to solve another problem – what to do with the images that the user (a malicious user) submits and subsequently fails to submit the properly filled in form. I know, something could be done at the browser level using Javascript validation, but the server-side validation is still necessary… Toliau skaityti Codeigniter form with integrated data and file validation

Puiku, kad EŽTT „išteisino“ „Jėzau-Marija“ reklamą, tačiau tai nereiškia, kad dabar viskas galima

Europos Žmogaus Teisių Teismas šiandien paskelbė sprendimą, kuriuo pripažino, kad Lietuva nepagrįstai apribojo K. Kalinkino drabužių reklamą kūrusios įmonės išraiškos laisvę, taigi, pažeidė Europos žmogaus teisių konvencijos 10 straipsnį.  „Jėzus-Marija“ reklama Europos Žmogaus Teisių Teismo „išteisinta“ vienbalsiai. Teismo sprendime ir kūrybos laisvei, ir tikinčiųjų jausmų apsaugai skirtas tinkamas svoris, įvertinant, kad reklama iš tiesų nebuvo ką nors žeminanti. Daugių daugiausiai – pašiepianti. Ir dėl to, kad Lietuvos teismai aiškiai nesubalansavo šių dalykų tinkamai, pripažintas Konvencijos pažeidimas.

Sprendimas priimtas vienbalsiai, kas gerai parodo Lietuvos pozicijos silpnumą šioje byloje. Griežtai atskirojoje papildančioje nuomonėje rašo teisėjas iš Maltos Vincent A. De Gaetano (beje, kiek jį pažįstu iš Europos valstybės ir bažnyčios tyrimų konsorciumo susitikimų, jis yra aktyvus katalikas):

„nesuvokiama, kad faktas, jog reklamoje vaizduojama vyro galva turėjo tam tikro panašumo į įprastą Kristaus vaizdavimą klasikiniame mene bei žodžiai „Jėzus“ ir „Marija“, galėjo atskirai, ar kartu paėmus, būti įvardinti kaip prieštaraujantys „visuomenės moralei“.

Toliau skaityti Puiku, kad EŽTT „išteisino“ „Jėzau-Marija“ reklamą, tačiau tai nereiškia, kad dabar viskas galima

„Skiepai kenkia?“ „Ne, bet mirusiųjų mes neskaičiavome“

Vienoje nesenoje diskusijoje radau emocingą atsiliepimą apie mokslinę studiją skiepų klausimu. Mokslinėje studijoje buvo lyginamos nepageidaujamos reakcijos į stabligės, difterijos ir kokliušo vakciną (Tdap) nėščiosioms. Publikuotame straipsnyje, kuriame apžvelgiami duomenys apie nepageidaujamas reakcijas į skiepus tiriamosiose grupėse ir kontrolinėje grupėje, nurodoma, kad nebuvo skaičiuojami atvejai, kurie nesibaigė gyvo kūdikio gimimu (abortų, persileidimų ir pan. atvejai). Duomenis apžvelgę tyrėjai priėjo išvados, kad pakartotinė vakcinacija Tdap vakcina nekelia didesnės grėsmės nėščiosioms, nei pirminė vakcinacija. O Facebook diskusijoje kovotojai prieš skiepus tyrimą komentavo maždaug taip, kaip parašiau straipsnio pavadinime: „kokia nesamonė, koks skandalas, tiria nepageidaujamas reakcijas, o išmeta duomenis apie mirties atvejus“. Toliau skaityti „Skiepai kenkia?“ „Ne, bet mirusiųjų mes neskaičiavome“

25, 12 ar 30 tūkstančių? Ką apie partizaninio karo aukas sako tyrimų duomenys

Rusijos užsienio reikalų ministerijai aštriai sureagavus į NATO filmuką apie Baltijos šalių partizanus įsiplieskė mažas socialinių tinklų karas. Rusijos URM publikavo pagiežingą komentarą „О зверствах „лесных братьев“ в новогодние праздники“, kuriame pridėjo saugumo LSSR vidaus reikalų ministerijos suvestine apie konkrečius nužudymo atvejus bei vaizdingą infografiką. Į kovą su šia Rusijos provokacija pakvietė žurnalistas Andrius Tapinas, paraginęs grotažyme #kremliaumusuistorijosneperrasysi ir neigiamu vertinimu mostelėti Rusijos URM’ui, nes paskelbtąja informacija yra „pilamas purvas“ ant Lietuvos. Ir nors tūkstančiai tautiečių pasekė A. Tapino raginimu, taip ir liko neaišku, kokia konkrečiai informacija yra tas purvas. Iš vėliau žiniasklaidoje publikuojamų pranešimų susidaro įspūdis, kad reaguojama buvo išskirtinai į infografiką. Infografike buvo nurodyta, jog partizanai nužudė 25 108 žmones Lietuvoje, iš jų 86,4% sudarė lietuviai. Taip pat nurodyta, kad tarp tų 25 108 žmonių 1 054 buvo vaikai, įskaitant ir 52 vaikus, neturinčius 2 metų. Toliau skaityti 25, 12 ar 30 tūkstančių? Ką apie partizaninio karo aukas sako tyrimų duomenys

Kaip patvirtinti dokumento sudarymo datą su elektronine „laiko žyma“

Nors jau kurį laiką žinojau, kad pasirašant dokumentą elektroniniu parašu dažnai prie dokumento yra pridedama ir „laiko žyma“, tik ne per seniausiai išsiaiškinau, kad tai per daiktas, ir kam tos laiko žymos gali būti naudingos.

El parašo atveju laiko žyma patvirtina, iki kada buvo sudarytas (ir pasirašytas) dokumentas. gal būt anksčiau nei laiko žymoje nurodyta data, bet tikrai ne vėliau. Laiko žyma yra tiesiog dar vienas elektroninis parašas ant mano pasirašomo dokumento. Skirtumas tik tas, kad tą laiko žymą pasirašau ne aš, o laiko žymų tarnyba.

Laiko žymos pridėjimas prie failo vyksta maždaug taip. Programa, kuri formuoja el. parašą ir „prikabina“ jį prie pasirašomo dokumento, generuoja dokumento santrauką („hešą“) ir siunčia jį žymų tarnybai. Žymų tarnyba prideda prie dokumento santraukos laiko žymą ir pasirašo tuos duomenis savo el. parašu automatiškai. Jei laiko žymų tarnyba turi valstybės įgaliojimą tai veiklai, jos laiko žymos yra laikomos patikimomis ir pripažįstamos tiek valstybės institucijose, tiek ir teismuose. El. parašą formuojanti programa prikabina laiko žymų tarnybos pasirašytą failą su laiko žyma prie pasirašomo failo.

Laiko žyma prie failo pridedama siekiant užtikrinti, kad dokumentas tikrai buvo sudarytas (ar egzistavo) tam tikru metu. Nes failo data galima lengvai manipuliuoti keičiant kompiuterio laikrodžio rodmenis.

Tačiau laiko žymas galima naudoti ir be elektroninio parašo. Kokiu tikslu? Pvz., laiko žyma galima patvirtinti tam tikro išradimo sukūrimo laiką, nuotraukos padarymo laiką (jei, pvz., tokia nuotrauka žmona nori įrodyti, kad vyras su meiluže susitikinėjo dar prieš sutuoktinių faktinį išsiskyrimą) ir panašiai. Toliau skaityti Kaip patvirtinti dokumento sudarymo datą su elektronine „laiko žyma“

PDF dokumentų pasirašymas elektroniniu parašu kompiuteryje su Linux

Reikalavimai prieš pradedant darbą: kompiuteris su pakankamai nesena Linux operacine sistema, įdiegta Java programine įranga, asmens tapatybės kortelė su elektroniniu parašu, kortelės skaitytuvas, įdiegta ir veikianti kortelės skaitytuvo įranga (žr. VRM parengtas instrukcijas čia).

Atsisiunčiam JSignPdf programą – zip archyvo pavidalu – ir išskleidžiam zip archyvą. Perkeliam programos failus kur nors į failų sistemą (aš tokias programas dedu į /opt). Gausime vat štai tokį failų medį: Toliau skaityti PDF dokumentų pasirašymas elektroniniu parašu kompiuteryje su Linux