الــسلام عليكـــم ...
شــلونـكــم شباب إن شاء الله تمــام :D دووووووووووووووووووووم الله لا يغير عليكـــم
"" كــــود التبــليـــغ ""
درســـ
غالباً يتم وضع كود التبليغ في ملف تركيب السكربت install.php ..
و بالطبع بهذا الملف يتم زراعة قاعدة البيانات على الغالب و من ثم بعد تركيب القاعدة يتم عمل كود التبليغ ..
لذا فالسكربتات التي تحتاج لزراعة القاعدة يدوياً غالباً لا يكون فيها كود تبليغ ..
و التبليغ غالباً يكون عن رابط الموقع الذي قام بتركيب السكربت .. و يتم ذلك عن طريق الإستعلام بمتغيرات و غالباً تستخدم المتغيرات التالية :
- $HTTP_REFERER و هو يقوم بجلب الصفحة الأخيرة التي فتحت بالمتصفح قبل تنفيذ الكود ..
- $HTTP_HOST و هو يقوم بجلب رابط الموقع ..
- $PHP_SELF يقوم بجلب رابط الملف ..
كما أنه بعض المبرمجين يضع في ملف الكونفج متغير $SITEURL مثلاً لكي يتم وضع رابط الموقع من قبل المستخدم و من ثم عند التبليغ يتم إرسال ما كتبه المستخدم في هذا المتغير ..
و لعمل كود تبليغ في السكربت الخاص بك هناك طريقتين حسب علمي و قد تكون هناك طرق أجهلها حالياً ..
كثيرة أفضل
# الطريقة الأولى /
التبليغ عن طريق البريد الإلكتروني و هي من أسهل الطرق و تعتمد على أمر إرسال بريد إلكتروني بلغة php و هي :
mail("email@domain.ltd","subject","message");و طبعاً كما تلاحظون هناك خانة لكتابة البريد الإلكتروني الذي ترسل الرسالة له و كذلك موضوع الرسالة و محتوى الرسالة ..
طبعاً في هذه الطريقة يتم إستبدال البريد الإلكتروني السابق ببريد المبرمج و قد لا يهم كتابة موضوع للرسالة حتى لا يكون لافت للإنتباه .. يمكن وضع رمز - أو . ..
و طبعاً يتم وضع أحد المتغيرات المذكورة سابقاً بدلاً من message ..
مثال :
mail("reda1@flashmail.com","---","$HTTP_REFERER");و طبعاً يوضع الأمر غالباً كما ذكرنا سابقاً في ملف التركيب بعد أمر زراعة قاعدة البيانات مثلاً ..
# الطريقة الثانية /
طريقة ربما فيها قليل من الصعوبة لكنها عملية و مفيدة ..
هي تعتمد على وضع كود بسيط في ملف تركيب السكربت يقوم بفتح سكربت في موقع المبرمج طبعاً مع إرسال المعلومات المطلوبة و يتم تخزين رابط الموقع مثلاً في قاعدة بيانات السكربت الموضوع في موقع المبرمج ..
و فكرتها كالتالي :
السكربت الذي يوضع في موقع المبرمج و ستحتاج لعمل قاعدة بيانات مثل هذه :
`id` int(10) unsigned NOT NULL auto_increment,
`url` varchar(255) NOT NULL default '',
PRIMARY KEY (`id`),
KEY `id` (`id`)
) TYPE=MyISAM;
CREATE TABLE `code` (
حسب السابق أسمينا الجدول code و هو يحتوي على حقل للرقم التسلسلي id و حقل لحفظ رابط المواقع التي قامت بتركيب السكربت و هو حقل url .. يمكن مستقبلاً و حسب إحتراف المبرمج إضافة حقول أخرى تاريخ التركيب مثلاً لن أتطرق لها بهذا الدرس لعدم أهميتها !! ..
طبعاً سنحتاج بعد هذا للسكربت الذي يقوم المبرمج بوضعه بموقعه و فيه يتم تخزين رابط موقع المستخدم بقاعدة البيانات و هو كالتالي و لنفترض أن إسمه site.php :
$dbserver="localhost";
$dbusername="";
$dbpassword="";
$dbname="code";
mysql_connect($dbserver,$dbusername,$dbpassword);
mysql_select_db($dbname);
if(isset($url)){
mysql_query("INSERT INTO code (url)VALUES('$url')");
}
?>
<?php
طبعاً كما هو ملاحظ قمنا بالسطور الأربعة الأولى بوضع كود التعرف على قاعدة بيانات ثم بالسطرين التي تلتها كود لعمل إتصال بقاعدة البيانات و في السطر السابع وضعنا شرط متعلق بأن لا تعمل الأوامر التي بداخله إلا إذا كان الرابط على الشكل site.php?url=http://www.domain.ltd مثلاً ..
و الأمر الذي بداخله هو أمر إدراج في قاعدة البيانات قيمة المتغير url و الذي سيكون رابط موقع المستخدم ..
باقي علينا كتابة الكود الذي نضعه في ملف التركيب install.php ..
@fopen("http://localhost/code/site.php?url=http://"."$HTTP_HOST"."$PHP_SELF","r");طبعاً كما ذكرنا يوضع هذا الكود بعد أمر زراعة قاعدة البيانات في ملف التركيب و نلاحظ فيه أمر فتح رابط و هو رابط السكربت الذي قمنا بعمله قبل قليل و الذي نضعه بموقع المبرمج و نلاحظ أن المتغير url سيحمل فيه قيمة هي عبارة عن رابط الموقع + رابط الملف بعكس الطريقة السابقة وضعنا فيها الصفحة التي سبقت تنفيذ الكود .. و طبعاً عند فتح رابط صفحة بالشكل السابق سيكون تلقائياً رابط موقع المستخدم مسجلاً فيه و من ثم يتم تخزينه بقاعدة البيانات ..
# كيف سنعرف المواقع التي تم حفظ رابطها ؟!!
إما بفتح القاعدة و قراءة محتوياتها المخزنة أو عمل سكربت يستعرض الروابط المخزنة بالقاعدة و هو كالتالي :
$dbserver="localhost";
$dbusername="";
$dbpassword="";
$dbname="code";
mysql_connect($dbserver,$dbusername,$dbpassword);
mysql_select_db($dbname);
if(isset($url)){
mysql_query("INSERT INTO code (url)VALUES('$url')");
}
if(isset($site)){
$query=mysql_query("SELECT url FROM code ORDER BY id DESC");
while($result=mysql_fetch_array($query)){
echo "$result"."
";
}
}
?>
<?php
طبعاً هذا السكربت نفسه نفس السابق site.php لكن أضفنا عليه شرط و هو site فإذا كتب في المتصفح تم عرض الروابط المخزنة بقاعدة البيانات ..
و يمكن عرضه عن طريق الرابط :
site.php?site=show مثلاً ..
اتمنى انكم استفدتم ولووو قليل :)

