اذهب إلى المحتوى
  • 0

سؤال في php and mysql حول ثغرة ID في المتصفح

محمد المصري12

السؤال

سلام عليكم

السؤال في php مع قواعد بيانات mysql

الان انا عامل جدول للعملاء فيه بياناتتهم 

و عامل جدول للاوردرات اللي هي المغروض مرتبطة بالعميل 

يعني من صفحة عميل باختار اضافة اوردر جديد و بيكون عندي اللينك بالصيغة دي

link/order.php?id=1

يبقى الاوردر رقم 1 تلقائي اتسجل للعميل اللي اتفتح الاوردر من صفحته و ليكن عميل 20 مثلا 

و نفس الفكرة دخلت صفحة عميل رقم 3 و اخترت اوردر جديد هايتسجل باسم اوردر رقم 2 تابع للعميل رقم 3

السؤال

الان لما من المتصفح اغير رقم ال ID و احط رقم بعيد عن الواقع بيفتح معايا عادي جدا صفحة الاوردر

يعني انا عندي عالسيستيم 5 اوردرات بس 

لو كتبت في المتصفح 100 عادي يفتح صفحة الاوردر و يفضل متخزن في الداتابيز لحد ما المستخدم يفضل يملى 99 اوردر بشكل طبيعي و ييجي عالاوردر 100 يعمل assign للعميل

انا عاوز اقفل الثغرة دي و اخليه لو كتب الاي دي اوتوماتيك يرفض يفتحه

يا رب يكون الاستفسار واضح

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

حتعمل تحقق والتأكد من وجود id المضاف في الرابط انه في قاعدة البيانات أو لا و تقدر تعمل بعدها شرط صغير بحيث إذا موجود يعرض مش موجود يحوله لنص أو لصفحة خطأ كالتالي 

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}

$id = $_GET['id'];

$sql = "SELECT id, firstname, lastname FROM MyGuests WHERE id=$id";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
  while($row = $result->fetch_assoc()) {
    echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
  }
} else {
  echo "0 results";
}
$conn->close();
?>

الكود مجرد مثال.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

اشكرك اخي

ممكن توضيح عالكود بتاعي مع الشكر

 

include("includes/db.php");

$title = "إضافة أوردر";

$order_id = $_GET['id'];

$uSql = "SELECT * FROM orders WHERE id='$order_id'";// INNER JOIN orders ON orders.client_id = clients.id";

if ($result = $conn->query($uSql)){

    $order = $result->fetch_assoc() ?? false;
    $result->free();

}

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 1 ساعة قال محمد المصري5:

اشكرك اخي

ممكن توضيح عالكود بتاعي مع الشكر

 


include("includes/db.php");

$title = "إضافة أوردر";

$order_id = $_GET['id'];

$uSql = "SELECT * FROM orders WHERE id='$order_id'";// INNER JOIN orders ON orders.client_id = clients.id";

if ($result = $conn->query($uSql)){

    $order = $result->fetch_assoc() ?? false;
    $result->free();

}

 

سوف يكوم الكود الخاص بك بهذا الشكل 

include("includes/db.php");

$title = "إضافة أوردر";

$order_id = $_GET['id'];

$uSql = "SELECT * FROM orders WHERE id='$order_id'";// INNER JOIN orders ON orders.client_id = clients.id";
$result = $conn->query($uSql)
if ($result->num_rows > 0){

    $order = $result->fetch_assoc() ?? false;
    $result->free();

} else {
	echo "0 results";
}

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
Notice: Undefined variable: order in C:\myserver\htdocs\gtms\order.php on line 58

Notice: Trying to access array offset on value of type null in C:\myserver\htdocs\gtms\order.php on line 58

Notice: Undefined variable: order in C:\myserver\htdocs\gtms\order.php on line 66

Notice: Trying to access array offset on value of type null in C:\myserver\htdocs\gtms\order.php on line 66

Notice: Undefined variable: order in C:\myserver\htdocs\gtms\order.php on line 79

Notice: Trying to access array offset on value of type null in C:\myserver\htdocs\gtms\order.php on line 79

ظهرلي هذا الخطا اخي ، الملف بالمرفقات

order.php

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 7 ساعات قال محمد المصري5:

Notice: Undefined variable: order in C:\myserver\htdocs\gtms\order.php on line 58

Notice: Trying to access array offset on value of type null in C:\myserver\htdocs\gtms\order.php on line 58

Notice: Undefined variable: order in C:\myserver\htdocs\gtms\order.php on line 66

Notice: Trying to access array offset on value of type null in C:\myserver\htdocs\gtms\order.php on line 66

Notice: Undefined variable: order in C:\myserver\htdocs\gtms\order.php on line 79

Notice: Trying to access array offset on value of type null in C:\myserver\htdocs\gtms\order.php on line 79

ظهرلي هذا الخطا اخي ، الملف بالمرفقات

order.php

هل ممكن ترفق ملفات مشروعك كاملاً؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...