الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف امنع شخص اخر يعرف كلمة السر واسم المستخدم التابع الي ان يدخل بهما الى الموقع

بدأه mahmoodsami في 24 مارس 2010 · 4 رد · 687 مشاهدة · في JavaEE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

كيف امنع شخص اخر يعرف كلمة السر واسم المستخدم التابع الي ان يدخل بهما الى الموقع ( في حالة كنت انا مستخدم الموقع في نفس الوقت )

انا صممت البرنامج وهو انه وضع حقل في قاعدة البيانات يحتوي على قيمة اما flase في حالة عدم وجود مستخدم حالى الى الموقع باستخدام اسم المستخدم وكلمة السر ( المستعملة الان )

ويحتوي على قيمة اما true في حالة وجود مستخدم حالى الى الموقع باستخدام اسم المستخدم وكلمة السر ( المستعملة الان )

ووضعت في شرظ الدخول اذا كانت حقل check يحتوي على flase معناه لايوجد احد داخل بالتسجيل التابع الى ويسمح له بالدخول وعند دخول المستخدم اضع بدل flase في الحقل check كلمة true حتى اذا اراد شخص اخر الدخول بكلمة السر واسم المستخدم نفسهما لايستطيع لانه المستخدم السابق وضع في حقل check كلمه true .

وفي حاله الخروج يضع كلمه flase في الحقل check .

(( المشكله)) هي في حاله دخول المستخدم اضع بدل flase في الحقل check كلمة true حتى اذا اراد شخص اخر الدخول بكلمة السر واسم المستخدم نفسهما لايستطيع لانه المستخدم السابق وضع في حقل check كلمه true . يؤشر لي مشكله في البرمجة وارجو ان توجهوني لحل المشكلة .

وهذه البرمجة وقاعدة البيانات

DROP TABLE IF EXISTS `mahmood`.`users1`;
CREATE TABLE  `mahmood`.`users1` (
  `user_id` varchar(45) collate utf8_unicode_ci NOT NULL,
  `password` varchar(45) collate utf8_unicode_ci default NULL,
  `fname` varchar(45) collate utf8_unicode_ci default NULL,
  `lname` varchar(45) collate utf8_unicode_ci default NULL,
  `email` varchar(70) collate utf8_unicode_ci default NULL,
  `Are you human` varchar(70) collate utf8_unicode_ci default NULL,
  `check` varchar(20) collate utf8_unicode_ci default 'flase',
  PRIMARY KEY  (`user_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
<body>

    <form action="login.jsp" method="post" >

User name :<input type="text" name="user" />
password :<input type="password" name="pwd" />
<input type="submit" />


</form>
</body>
</html>

<%--
    Document   : login
    Created on : Jan 3, 2010, 10:58:25 AM
    Author     : Mahmood2010
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
<%@ page language="java" import="java.lang.*" import="java.sql.*" %>
<%@ page import ="java.sql.*" %>
<%@ page import ="javax.sql.*" %>
<%
Statement stmt=null;
String userid=request.getParameter("user");
session.putValue("userid",userid);
String pwd=request.getParameter("pwd");
String check="flase";
String check1="true";
Class.forName("com.mysql.jdbc.Driver").newInstance();
java.sql.Connection con = DriverManager.getConnection("jdbc:mysql://localhost/mahmood","root","password");
Statement st= con.createStatement();
ResultSet rs=st.executeQuery("select * from users1 where user_id='"+userid+"'");
if(rs.next())
{
if(rs.getString(2).equals(pwd) && rs.getString(7).equals(check))
{
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
java.sql.Connection con1 = DriverManager.getConnection("jdbc:mysql://localhost/mahmood","root","password");
stmt=con.createStatement();
String rec1=("UPDATE users1 SET check='"+check1+"' where password='"+pwd+"'");
int mod=stmt.executeUpdate(rec1);

out.println("welcome"+userid);

}
else
{
out.println("Invalid password try again");
}
}
else
%>


    </body>
</html>

<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
<form action="reg.jsp" method="post">
User name :<input type="text" name="userid" /><br>
password :<input type="password" name="pwd" /><br>
First name :<input type="text" name="fname" /><br>
Last name :<input type="text" name="lname" /><br>
Email :<input type="text" name="email" /><br>

The College Department Name :
<select name="human">
 <option  value="IT">IT</option>
 <option  value="NETWORK">Network</option>
 <option  value="INTERNET">Internet</option>
</select>

<br>
<img src="http://localhost:8084/ConnToMysql/CaptchaServlet">
<br>

<br>
<input type="submit" />

</form>

  <%
  String captcha = (String) session.getAttribute("captcha");
  String code = (String) request.getParameter("code");

  if (captcha != null && code != null) {

    if (captcha.equals(code)) {
	  out.print("<p class='alert'>Correct</p>");
    } else {
          out.print("<p class='alert'>Incorrect</p>");
    }
  }
%>

  </body>
</html>

<%--
    Document   : reg
    Created on : Jan 3, 2010, 10:59:28 AM
    Author     : Mahmood2010
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
<%@ page import ="java.sql.*" %>
<%@ page import ="javax.sql.*" %>
<%
String user=request.getParameter("userid");
session.putValue("userid",user);
String pwd=request.getParameter("pwd");
String fname=request.getParameter("fname");
String lname=request.getParameter("lname");
String email=request.getParameter("email");
String human=request.getParameter("human");
Class.forName("com.mysql.jdbc.Driver");
java.sql.Connection con = DriverManager.getConnection("jdbc:mysql://localhost/mahmood","root","password");
Statement st= con.createStatement();
ResultSet rs;
int i=st.executeUpdate("insert into users1 values ('"+user+"','"+pwd+"','"+fname+"','"+lname+"','"+email+"','"+human+"')");


%>

<jsp:forward page="index.jsp"/>


    </body>
</html>

وارجو التوجيه اين المشكلة رجاءا وانتم اهل لذلك

سلامي

اخوكم

محمود سامي

تم تعديل هذه المشاركة بواسطة mahmoodsami في 24 مارس 2010 في 00:20

#2

الصورة توضح الخطا الذي يظهر لي عند التنفيذ

post-202915-12693793807535_thumb.gif

#3

لا حاجة للتخزين في قاعدة بيانات

كل ما تحتاجه هو List تقوم بتخزين أسماء الأعضاء الذين يقومون بتسجيل الدخول على الموقع

في حال لم يكن العضو قد دخل مسبقاً

في حال كان العضو موجود في List مسبقاً فكل ما عليك هو أن تظهر رسالة تقول له أنه فعلاً مسجل دخول من مكان آخر

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#4

السلام عليكم ورحمة الله وبركاته

اخي العزيز علاء ارجو ان توضح اكثر ماذا تقصد بانه لا حاجة الى قاعدة بيانات تخزن فيها

ماذا تقصد ( كل ما تحتاجه هو List تقوم بتخزين أسماء الأعضاء الذين يقومون بتسجيل الدخول على الموقع في حال لم يكن العضو قد دخل مسبقاً في حال كان العضو موجود في List مسبقاً فكل ما عليك هو أن تظهر رسالة تقول له أنه فعلاً مسجل دخول من مكان آخر )

فانه list يجب ان تاخذ بياناتها من قاعدة بيانات التي يخزن فيها اسماء المستخدمين

اخي الله يبارك فيك ارجو ان توضحلي اكثر بالبرمجه واين اضع برمجة list في الدخول وكيف يكون شرطها

كي تتوضح الصورة لدي لانشاء list

وانتم اهل لذلك

سلامي

اخوك

محمود سامي

تم تعديل هذه المشاركة بواسطة mahmoodsami في 24 مارس 2010 في 17:57

#5

السلام عليكم

أخ محمود الموضوع يتلخص في كونك تحتاج إلى تعلم المزيد عن جافا

على كل الوضع كالتالي

List<String> list;
if(list==null)
list=new ArrayList<String>();
session.put("list",list);
session.get("list");
list.add(username);
list.remove(username);

تحتاج إلى البحث عن SessionListener حتى تقوم بحذف المستخدم الذي تنتهي جلسة عمله

هذه خطوط عريضة للعمل ككل

وكما قلت لك مسبقاً تحتاج إلى أن تتعمق في جافا حتى تحسن J2EE

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…