login session pada jsp ==>>Connect Oracle 10G
ebelumnya saya mohon maaf, mungkin untuk masalah login session udah banyak yang tahu, saya hanya berbagi pengalaman, kali aja nanti malah ada yang menyumbang ide yang lebih baik untuk security pada jsp,hidup ilmu pengetahuan !!!
==========================
yang akan saya tampilkan di bawah belum menggunakan metode MVC, karena agak ribet, dan berbelit2, (ngomong aja ga bisa ), …
Pertama, kita buat file koneksi dulu, misalnya connect.jsp
———————————
Code: |
<%@ page import=”java.sql.*” %> <% try{ Class.forName(“oracle.jdbc.driver.OracleDriver”); }catch(ClassNotFoundException e){ out.print(e.getMessage()); } String koneksi=”jdbc:oracle:thin:@localhost:1521:Orcl”; Connection con=DriverManager.getConnection(koneksi,user,pass); |
———————————————
Sekarang, kita bisa membuat file untuk halaman loginnya misalnya login.jsp
———————————————
Code: |
<META HTTP-EQUIV=”Refresh” content=””> <title>…:::Halaman Login:::…</title> <form method=”post” action=””> <table border=0> <tr> <td>Username</td> <td><input type=”text” name=”username”></td> </tr> <tr> <td>Password</td> <td><input type=”password” name=”password”></td> </tr> <tr> <td></td> <td><input type=”submit” value=”Login”></td> </tr> </table> </form> <%@ include file=”connect.jsp” %> <% String username=request.getParameter(“username”); String password=request.getParameter(“password”); if (username==null){ rs=st.executeQuery(“select * from login where username='”+username+”‘ and password='”+password+”‘”); session.setAttribute(“sessionusername”,rs.getString(“username”)); |
———————————————–
Sekarang, kita buat halaman utamanya, misal utama.jsp
———————————————–
Code: |
<META HTTP-EQUIV=”Refresh” Content=””> <% if ((String)session.getAttribute(“sessionusername”)==null && (String)session.getAttribute(“sessionpassword”)==null){ response.sendRedirect(“login.jsp”); } else if ((String)session.getAttribute(“sessionusername”)!=null){ out.print(“Selamat Datang …”); out.print(“<a href=logout.jsp>logout</a>”); } %> |
————————————————–
Simulasi terakhir, kita buat halaman logout(hapus sesi), misalnya logout.jsp
Code: |
<META HTTP-EQUIV=”Refresh”> <% session.removeAttribute(“sessionusername”); session.removeAttribute(“sessionpassword”); session.invalidate(); response.sendRedirect(“login.jsp”); %> |
—————————————————
mas…
bisa kasih contoh gag, klo database yang di gunain itu Ms access..
hehehhe..
tugas kuliah nih..
klo bisa tolong kirim ke email aku
contoh bisa dilihat di http://samsonasik.99k.org/modul/logaccess.zip
silakan download aja 🙂
mas tuh yang di file login.jsp
tulisan yang salah..
form method=”post” action=””
yang bener
form method=”post” action=”login.jsp”
kalau aksi diproses di halaman yang sama, action ga perlu diisi, karena aksi submit diproses di halaman itu juga, jadi ga perlu di isi action nya ke halaman mana, kalau mau diisi juga gpp, coba aja deh 🙂
seru kayaknya pake Oracle 😀
tapi kok masih bisa masuk ke halaman utama meskipun sudah logout, dengan menggunakan back.
coba refresh. atau coba pakai
session.setAttribute(“sessionusername”, null);
session.setAttribute(“sessionpassword”, null);
codding semua ini betul. tapi kalau saya sudah logout, saya click back button , masih boleh ke previous page. ini macam sistem saya tidak security. adakah boleh diatasi?
bisa juga, caranya, tambahin di bagian atas login.jsp :
<%
if ( (String)session.getAttribute(”sessionusername”)!=null ) {
response.sendRedirect(“utama.jsp”);
}
%>
bedanya klo drivernya : oracle.jdbc.OracleDriver?
di string koneksi itu kan ada orcl?nah itu nama apa?
di netbeans perlu add driver gt g sih di servicenya?
Driver yang saya tuliskan di atas bukanlah pilihan utama, jika ada driver lain yang sama-sama bisa digunakan, silakan dipakai.
Orcl itu nama database.
Di netbeans yang perlu adalah add library ke dalam aplikasi.
mas..
klo contohnyapake dtabse postgreSQL gemana tuh ??
makasii yaa..
tinggal mengganti JDBC yang diakses dan string koneksi nya.
contoh pemanggilan jdbc:
Class.forName(“org.postgresql.Driver”);
kalau string koneksinya, contoh :
String koneksi = “jdbc:postgresql://localhost:5432/ikhsandb” ;
jangan lupa siapkan driver jdbcnya, taruh di WEB-INF/classes
yg file .jar itu yaa copy ke web-inf/classes mas ?? saia gag bisa login2 neh.. gag tau kenapa..
udah berhasil koneksi dtabase..
file jar nya isinya driver ? coba cek dulu isinya, kalau bener, extract aja, taruh di web-inf/classes
kalau udah berhasil koneksi ke database, kan tinggal masalah validasi, coba debug deh, jangan dulu diredirect, tapi di out.print dulu, misal out.print(“berhasil”); atau out.print(“gagal”);
dan lihat hasilnya seperti apa 🙂 , dari situ kita bisa menyisir letak kesalahan ada di mana.
mas kalo script diatas itu untuk login ke oracle atau login ke web gitu?
misalnya login sebagai member yang sebelumnya sudah mendaftar di suatu web.
ya tinggal mencocokkan aja kan?
mas,, saya butuh code untuk koneksi ke oracle. bisa tolong email ke saya?? terimakasih
code apa maksudnya ? dari mana ? mohon diperjelas pertanyaanya
sessionnya sebelah mana ya?? koq aq nyoba tapi tetep bisa nge-back?
diletakkan di file yang mana dan sebelah mana?
session di JSP adalah implicit object yang terbentuk secara otomatis, ( seperti halnya request, response, out, pagecontext, config, application, dan page ). Untuk mengetahui apakah sudah terbentuk session dengan atribut tertentu yang kita isikan sebelumnya, ya test aja dengan cara mengetikkan :
<%
out.println( (String) session.getAttribute("namaattrsesi"));
%>
semoga membantu :).
mas klo buat paging bsa gak???
tapi pake jsp
tugas kuliah
bisa baca ini https://samsonasik.wordpress.com/2009/03/10/membuat-paging-pada-jsp/
password databasenya bs terlihat d code JSP’y mas,gmn atasi password spy tidak mudah diketahui org….
tolong informasikan ke email saya kalau anda bisa, terimakasih banyak pak,
hash aja dulu pakai md5 or sha1 :), tentunya di database pun kudu dihash jg ke md5 or sha1
misal
select * from login where username='"+username+"' and password=md5('"+password+"')
mas q kuat program skripsi jsp sql server mas ada contoh programnya g?tolong krm ke email, ,dah stres nie, , ,:(
maz, tolong..
saya bingung di sini:
try{
Class.forName(“org.apache.derby.jdbc.ClientDriver”);
}catch(ClassNotFoundException e){
out.print(e.getMessage());
}
String koneksi=”jdbc:derby://localhost:1527:Orcl”;
di situ kan ada:
1. Class.forName(“org.apache.derby.jdbc.ClientDriver”);
2. String koneksi=”jdbc:derby://localhost:1527:Orcl”;
saya menggunakan netbean, denagan db derby, dengan :
jdbc:derby://localhost:1527/uts (uts nadalah db yang saya buat seblumnya)
org.apache.derby.jdbc.ClientDriver
itu gmn koneksi nya??? please
mas bisa baca ini http://db.apache.org/derby/integrate/plugin_help/derby_app.html
mas, kan saya sudah login, tapi ketika di back, agar dia tidak ke form login lagi, agar dia tetap di page utama gmana tuh mas ?, dia kalo mau login, harus logout terlebih dahulu, bukan dengan back dia bisa k form login. terima kasih.,
google: jsp header cache logout