miercuri, 25 martie 2009
Criptarea parolelor in php
Criptarea in php este necesara pentru ca nu este indicat s afie tinute in bazele de date (spre exemplu MySql) parole in clar. In cazul unei brese de securitate, o persoana neautorizata ar putea sa citeasca bazele de date (si parolele retinute in clar).
Linkuri unde se poate citi despre metode de criptare:
- http://www.astahost.com/info.php/Php-Mysql-Encrypting-Data_t10614.html
- http://dev.mysql.com/doc/refman/5.1/en/encryption-functions.html
- http://md5.kokosdesign.de/
- http://fr2.php.net/md5
- http://www.ibm.com/developerworks/opensource/library/os-php-encrypt/
Retinerea in baza de date a nuei parole care este criptata (printr-un algoritm ireversibil, aventual, sau foarte apropiat de asta), implica faptul ca atunci cand un user ar cere sa reprimeasca o parola uitata, singura posibilitate a administratorului ar fi sa schimbe parola si sa trimita noua parola.
Publicat de Mihaela la 12:18 0 comentarii
miercuri, 18 martie 2009
Cateva functii php interesante
Pentru a modifica din cod fisierul PHP.ini :
ini_set("SMTP","your.Smtp.Server");
ini_set("smtp_port","25");
Publicat de Mihaela la 10:24 0 comentarii
marți, 10 martie 2009
Java Hibernate
Hibernate este o librarie ORM()Object-Relational Mapping) pentru limlajul Java, folosind la maparea modelului orientat pe obiecte peste bazele de date relationale.
Aceasta tehnologie este gratuita si open source, distribuita sub licenta GNU Lesser General Public License.
Principala caracteristica a Hibernate este maparea intre clasele Java si tabelele bazelor de date precum si intre tipurile de date Java si SQL. Hibernate pune la dispozitie posibilitatea redactarii de query-uri si data-retrieval. Salvarea datelor (reprezentate prin clase) intr-un spatiu de storare se numeste persistenta.

Pentru mai multe informatii privind aceasta tehnologie (mapare, presistenta, HQL, integrare si aplicatii), consultati http://en.wikipedia.org/wiki/Hibernate_(Java).
Un exemplu simplu pentru inceperea acomodarii cu Hibernate puteti gasi la http://www.javaworld.com/javaworld/jw-10-2004/jw-1018-hibernate.html.
Inca un prim exemplu de hibernate, impreuna cu explicatii suplimentare, se poate gasi la adresa : http://www.laliluna.de/first-hibernate-example-tutorial.html
Publicat de Mihaela la 13:50 0 comentarii
luni, 9 martie 2009
Secure PHP login script
- Aici sunt cateva linkuri de unde se poate alege o metoda :
- http://www.devshed.com/c/a/PHP/Creating-a-Secure-PHP-Login-Script/ - all yellow, destul de ok explicat dar nu f complex
- http://www.mtdev.com/2002/07/creating-a-secure-php-login-script - foloseste clase
- pentru a folosi logarea pentru useri este nevoie sa intelegi conceptul de php session. Aici este un tutorial simplu pentru a incepe : http://www.phpro.org/tutorials/Introduction-To-PHP-Sessions.html
- Inainte de a trimite un query bazei de date sau orice altceva, verifica stringurile trimise de utilizator : http://www.phpro.org/tutorials/Validating-User-Input.html
Iar pentru a fi atent la ce Nu trebuie sa faci, citeste mai multe despre SQL injection:
- http://www.unixwiz.net/techtips/sql-injection.html - cum un simplu camp pentru trimiterea parolei uitate unui user, via e-mail, poate compromite intreaga baza de date
- http://www.ase.md/~osa/publ/ro/pubro32/ - info in romana inclusiv cum ar trebui filtrate datele de intrare pentru a evita atacurile
Publicat de Mihaela la 11:20 0 comentarii
miercuri, 18 februarie 2009
Cum sa procesezi fisiere Word si Excel in Java
Ceea ce am vrut sa realizez este extragerea unor informatii aflate intr-un tabel Excel si crearea pe baza lor a unui fisier Word cu un rezumat al acestora.
Fisierele Word si Excel sunt salvate in formatul Microsoft numit OLE (Object Linking and Embedding). Ele pot fi accesate din Java in mai multe moduri, insa eu voi vorbi despre biblioteca de functii POI (http://poi.apache.org/).
POI, prescurtarea pentru Poor Obfuscation Implementation, este un proiect startat de apache.
La linkul http://www.apache.org/dyn/closer.cgi/poi/release/ este disponibil spre a fi downloadat ultimul release, care odata inclus in Build-Path-ul proiectului la care lucrati, va furniza accesul la clasele specializate de procesare a fisierelor in formatul specific MS Office.
Terminologia POI:
- POIFS (Poor Obfuscation Implementation File System): Java APIs for reading and writing
- OLE (Object Linking and Embedding) 2 compound document formats.
- HSSF (Horrible Spreadsheet Format): Java API to read Microsoft Excel.
- HDF (Horrible Document Format): Java API to read and write Microsoft Word 97.
- HPSF (Horrible Property Set Format): Java API for reading property sets using (only) Java.
import java.io.IOException;
import java.io.InputStream;
import java.util.Iterator;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFRow;
...
POIFSFileSystem fs;
HSSFWorkbook wb;
InputStream input;
InputStream input = ExcelReader.class.getResourceAsStream(file );
try {
fs = new POIFSFileSystem( input );
}catch(Exception e){
e.printStackTrace();
System.exit(0);
}
try {
wb = new HSSFWorkbook(fs);
}catch(Exception e){
e.printStackTrace();
System.exit(0);
}
int number_of_sheets = wb.getNumberOfSheets();
for(int i =0; i!=number_of_sheets;i++){
HSSFSheet sheet = wb.getSheetAt(i);
Iterator rows = sheet.rowIterator();
while( rows.hasNext() ) {
HSSFRow row = (HSSFRow) rows.next();
Iterator cells = row.cellIterator();
while( cells.hasNext() ) {
HSSFCell cell = (HSSFCell) cells.next();
switch ( cell.getCellType() ) {
case HSSFCell.CELL_TYPE_NUMERIC:
System.out.println( cell.getNumericCellValue() );
//do something
break;
case HSSFCell.CELL_TYPE_STRING:
System.out.println( cell.getStringCellValue() );
//do something
break;
default:
System.out.println( "unsuported sell type" );
//do something
break;
}//end while cell
}//end while row
}//end for each sheet
...
Pentru exemplul de mai sus am folosit un build-ul poi-2.5.1-final-20040804.jar. Ultima versiune disponibila in acest moment este poi-bin-3.2-FINAL-20081019.tar.
Scrierea textului extras in Word se poate face tot cu ajutorul POI. Exemplul clasic se gaseste la adresa urmatoare: http://mail-archives.apache.org/mod_mbox/poi-dev/200311.mbox/%3C6.0.0.22.2.20031113134659.01e6d680@mail.jahia.com%3E
O alta metoda este folosirea clasei OutputStreamWriter pentru scrierea unui document :
FileOutputStream fs = new FileOutputStream(file);
OutputStreamWriter out = new OutputStreamWriter(fs);
out.write("Orice propozitie doresti");
Pentru formatarea HTML, un tutorial gasiti la adresa http://www.w3schools.com/html/default.asp.
Spor!
Publicat de Mihaela la 16:00 0 comentarii
vineri, 6 februarie 2009
Barcelona, Here we come
Linkuri spre locatii de pe web ce contin harti sau informatii utile dpdv turistic :
- http://www.marshal.ro/images/harta_metrou_barcelona.jpg - darta metrou la scara redusa
- http://www.ecaconsortium.net/conference/imgs/Map-Metro_Barcelona-xl.gif - harta matrou f buna, de dimensiuni mari
- http://www.angstartarena.com/tours/spain/barcelona/scans/barcelona%20-%20map1.jpg - o harta dragurta cu obiective turistice
- http://mugur.nomadlife.org/uploaded_images/BarcelonaFromAir-759514.jpg - imagine de sus, pozata dinspre apa - super nice
- http://www.tagzania-blog.com/es/wp-content/uploads/2008/03/torre_agbar_barcelona.jpg - turnul de apa lui Jean Novel - trebuie vazut :D
- super arhitectura by gaudi : http://farm3.static.flickr.com/2159/2109147267_ae67f6a96d.jpg, http://z.about.com/d/architecture/1/0/v/o/Sagradafamilia00002482731.jpg
Publicat de Mihaela la 11:56 0 comentarii
