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

مشكلة تظهر لدي عند تسجيل دخول عضو Fatal error: Call to undefined function session_register()

بدأه fatmaali في 21 نوفمبر 2013 · 6 رد · 1,399 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم لدي سكربت به عضويات وتسجيل دخول

 

كان شغال تمام لحد ما اتنقل على سرفر تاني اصبح عند تسجيل الدخول يطلع لي هذا الخطاء

 

 

Call to undefined function session_register() in /home/nameweb/public_html/login_check.php on line 4

 

 

وهذه هي صفحة تسجيل الدخول

 

فهل من الممكن اصلاح الكود لي

<?php
session_start();
session_register("ali");
include("include/config.php");
$admin_name=$_POST['admin_name'];//echo $user;
$pass=$_POST['pass'];//echo $pass;			
//$connection = mysql_connect($db_host, $db_username, $db_password);
						$result=mysql_query("SELECT * FROM `admin` WHERE `admin_name` = '$admin_name' AND `pass` = '$pass' and active=1");
						$row=mysql_fetch_array($result);
						if($row){$_SESSION['ali']=$row[id_admin];
						$_SESSION['admin_name']=$row[admin_name];
						$_SESSION['id_admin']=$row[id_admin];
                      echo "
                      
                 login      
";

// واذا كانت المعلومات خطا
} else {

ECHO "
Rong user or password

";

}

?>

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

 

وهذا كود الجلسه الخاصة بلوحة التحكم

<?
session_start();
if( isset($_SESSION['webuser']) ){
?>

<?
}




else {
echo "
قم بتسجيل الدخول اولا
";
}
?>

تم تعديل هذه المشاركة بواسطة fatmaali في 21 نوفمبر 2013 في 18:26

#2

مكتوب في وثائق php تحذير بأن الدالة session_register أزيلت من الإصدار 5.4.0 ومايليه، استخدم بدلها $_SESSION.

تم تعديل هذه المشاركة بواسطة Mr.B في 21 نوفمبر 2013 في 18:59

#3

قمت بالتعديل هكذا ...


 

<?php
session_start();
$_SESSION['ali']="session_variable";
include("include/config.php");
$admin_name=$_POST['admin_name'];//echo $user;
$pass=$_POST['pass'];//echo $pass;			
//$connection = mysql_connect($db_host, $db_username, $db_password);
						$result=mysql_query("SELECT * FROM `admin` WHERE `admin_name` = '$admin_name' AND `pass` = '$pass' and active=1");
						$row=mysql_fetch_array($result);
						if($row){$_SESSION['ali']=$row[id_admin];
						$_SESSION['admin_name']=$row[admin_name];
						$_SESSION['id_admin']=$row[id_admin];
                      echo "
                      
                 login      
";

// واذا كانت المعلومات خطا
} else {

ECHO "
Rong user or password

";

}

?>

فهل هي الطريقة الصحيحه ؟؟

#4

صحيحة , مع ملاحظة وجود ثغرة SQL Injection تمكن اي شخص من الدخول

تخيل أن

$admin_name="admin";

و الباسوورد

$pass="1' or 1='1"

سكون الاستعلام كالتالي

$result=mysql_query("SELECT * FROM `admin` WHERE `admin_name` = '$admin_name' AND `pass` = '1' or 1='1' and active=1");

مما يتيح لاي شخص بالدخول الي النظام ,

#فقط للتنويه

=============
الطموح و الحافز سر النجاح

=============

AflamHQ.com | Palphp.com

#5

وما هوا الحل اخي حمدان لغلق الثغره !!!

#6

حماية اسم المستخدم و الباسوورد

$username=mysql_real_escape_string($_POST['username']);
$password=md5($_POST['password']);

مع ملاحظة ان دالة mysql_real_escape_string سيتم حذفها مستقبلا ً من PHP 5.5

 

قمنا باستخدام تشفير MD5 لتشفير الباسوورد يجب فعل نفس الامر عند تخزين معلومات المستخدمين ايضا حتى يتطابق التشفير

 

هناك ايضا تقنيات اخرى لتعقيد التشفير مثل استخدام Salut

=============
الطموح و الحافز سر النجاح

=============

AflamHQ.com | Palphp.com

#7

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

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

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

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

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

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