السلام عليكم
ان شاء الله الكل بخير
اليوم بنشرح شي مهم جدا و صعب شويتين
و هو ال sql
محتاجكم تركزو معيا جدا
واللي مو فايق يخرج علي طول
نبدا
بسم الله الرمحن الرحيم.
اول شي نبي نعمل
اتصال بين
ملف ال php
و قاعده
الباينات sql
كيف بنعمل
اول شي نحتاج نملك 3 اشياء اساسيه
1 ملف كونفيق ( سانقوم ببرمجته معا )
2 ملف الاتصال و الاوامر
3 قاعده
نبدا
اول شي نقوم بانشاء ملف جديد
و ليكن باسم
conf.php
نزرع فيه الكود التالي
كود PHP:
<?php
$host="localhost"; //رابط السيرفر المضيف
$user="root"; // اسم المستخدم للقاعدة
$pass="pass"; // كلمه المرور
$db_name="test"; // اسم قاعده الباينات
$tbl_name="test"; // اسم الجدول
?>
طبعا الكود ما يحتاج لشرح
بس بشرحه علي السريع
$host="localhost";
$host هذه ليست امر بل كود ربط لستخدام ما بداخله الشرطين ""
localhost المراد استخدامه من الهوست
; اساسيه لانها كل امر
كله تمام كذا ؟
نخش الجزء الثاني ملف الاتصال
ننشي ملف جديد php
و ليكن باسم
connect.php
نزرع فيه الكواد التالي
كود PHP:
<?php
require "conf.php";
@mysql_connect("$host", "$user", "$pass")or die("sac");
@mysql_select_db("$db_name")or die("error");
?>
بشرحه بالتفصيل
require "conf.php";
@mysql_connect
امر الاتصال
بقاعده الباينات
طبعا في انواع كثير للقواعد
و كل نوع له اسم
يعني الاباتشي يستخدم mysql
في
mssql
هذا التابع لبرنامج ميكروسوفت sql
نكمل
هذا كان الامر قالنا انه امر الاتصال
بقاعده الباينات
طيب قاعده
الباينات مقفول باسم و باسورد كيف الامر يعرف الاسم و الباس
شوف
("$host", "$user", "$pass")
اطلعو فوق لملف الكونفينق
بتلقو host user pass
و جنب كل اسم منهم رقم او قيمه صح ؟
كذا يعمل الامر
لما انت تدخل الرابط اللي عليه رابط القاعده يدخل عليه
القاعده تطلب منه الاسم و الباسورد
يروح هو يشوف الاسم و الباسورد اللي مسجلين بالكونفينق و يجبهم يخش بيهم
طبعا تقدر تشيل
$host
و تبدله بالكلمه علي طول بس ما انصح بهذه الطريقه لنه ممنكن تلخبطك و انت تبرمج
و تقدر ايضا نفس القصه مع pass و user
طبعا قالنا انه تقدر تغير اسم الهوست و الباس و اليوزر لاي اسم بس يكون متغير في كله
طيب كيف القاعده او الامر تعرف ان هذا الباس و هذا اليوزر و هذا الهوست
بسيطه
ترتيب الادخال يكون
host
تقدر تغيره باي شي ولو حتا
asfdjnsdkghksdfg
user
تقدر تغيره باي شي و لو حتا
sdgdkrghkladnfg
pass
تقدر تغيره لاي شي
ولو حتا
hnsgkg
بس المهم لو بتغيره من داخل الامر
تغيره في الكونفينق لنفس الشي
و الهوست و اليوزر و الباس يكونو مختلفين عشن ما يحصل خطا
كذا تمام صح
or die("sac");
هذا الامر يقول له لو فشل الاتصال
يظهر لك ما بداخل الاقواس
انت تغيره للي تبيه يظهر لك
هذا الامر مهم جدا عشن لو فشل الاتصال لا يقول له خطا في الملف كذا و اسباب امنيه
@mysql_select_db("$db_name")or die("error");
هذا الامر مخصص لاختيار القاعده
وطبعا db_name اللي بيجيب اسمه من الكونفينق
or die
لسا قياله فوق
error
تقدر تغيره باي شي
المهم تكتب اللي تبيه يظهر للمتصفح وهو يتصفح لو ما كتبته ممنكن يجيب للمتصفح
مسار الكونفينق
و المحتوي للكونفيق و المخترق هو شطارته يجيب الكونفينق كله و يخترق برحته
الان
تم الاتصال بالقاعده بنجاح
و الان نبي نستخرج الموضوع او التعليق هذا من القاعده كيف ؟
بباسطه
كود PHP:
$Query="SELECT COUNT(*) AS `Rows`, `comment` FROM `nbd` GROUP BY `comment` ORDER BY `comment`";
$Result = mysql_query($Query);
or
كود PHP:
$Result = mysql_query(SELECT COUNT(*) AS `Rows`, `comment` FROM `nbd` GROUP BY `comment` ORDER BY `comment`;);
result
هذه الداله اللي مستخدمه لتنفيذ الامر يعني اول ما يتم ضغط امر يستعدي result
بيقوم بتنفيض الامر
نكمل
بشرح لكم الان اوامر
sql
بتحتاجونه عشن الحقن في الاختراق
ركزو معي
شوفو هذه اوامر sql
select x1,x2 from table.name union select x1 from table.name
select
تحديد
x1
اسم الجدول المراد استخراج ما بداخله
,
لو اردت استخراج من اكثر من جدول
x2
اسم الجدول الاخر
from
من
table.name
اسم الجدول
order by x1 desc
هذه الكود للتريت علي حسب
الجدول x1
desc من الاول الي الاخير
where name like 'x3'
هنا لعمل استسناء او تحديد اسم معين فقط
و يمكن وضع not قبل like لعدم استخراج المدخل بدل x3
'$x4'
لجعل مبرمج البي اتش بي هو اللي يختار الكود المدخل اللي بين القوسين
union
لوضع امر اخر
insert ''
امر الادخال
و ما داخل الاقواسم هو ما يتم ادخاله
و ما ياتي بعده هو المكان اللذي سايدخل فيه
هذه الاكواد اللي بتحتاجه حاليا
طبعا القاعده انت تنشيه بنفسك