منتدى خدمة نت

منتدى خدمة نت لخدمات الواب منتدى متخصص في تقديم الخدمات المجانية والمدفوعة للمنتديات العربية. عديد الخدمات الحصرية نقدمها لكم، أحلى خدمة أحلى بار وغيرها


    حفظ حقوق سكريبتاتك .. بكود تبليغ.. مثل منتديات vb ..

    شاطر

    the_leader
    صاحب المنتدى
    صاحب المنتدى

    آخر مواضيعي : دورة تركيب شبكة ريزو محلية lan على الويندوز xp
    جنسيتي : الجزائر
    عدد المساهمات : 2149
    نشاطـي : 4443
    تقييماتـي : 3
    تاريخ التسجيل : 22/12/2011
    العمر : 27

    حفظ حقوق سكريبتاتك .. بكود تبليغ.. مثل منتديات vb ..

    مُساهمة من طرف the_leader في الأحد سبتمبر 30, 2012 6:56 pm




    كلنا نعلم ان الphp لغة مفتوحة المصدر لدلك من الصعب على اي مطور سكريبتات الحفاظ على حقوقه

    إلا: إذا ظهر كود التبليغ.

    و في درسنا هنا سنتطرق إلى:
    • آلية صنعها.
    • آلية حذفها.
    و ذلك. بطريقتين.. و هما بسيطتان جدا.. ^^

    لعل البعض قد ينزعج و يقول أني أساعد على عمل برامج ملغمة


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


    حسنا هذا ليس موضوعنا الآن ننتقل إلى الشرح



    =========================
    غالباً يتم وضع كود التبليغ في ملف تركيب السكربت install.php

    و بالطبع بهذا الملف يتم زراعة قاعدة البيانات على الغالب و من ثم بعد تركيب القاعدة يتم عمل كود التبليغ ..


    لذا فالسكربتات التي تحتاج لزراعة القاعدة يدوياً غالباً لا يكون فيها كود تبليغ ..


    و التبليغ غالباً يكون عن رابط الموقع الذي قام بتركيب السكربت .. و يتم ذلك عن طريق الإستعلام بمتغيرات و غالباً تستخدم المتغيرات التالية :
    $HTTP_REFERER :و هو يقوم بجلب الصفحة الأخيرة التي فتحت بالمتصفح قبل تنفيذ الكود ..
    $HTTP_HOST :و هو يقوم بجلب رابط الموقع ..
    $PHP_SELF :يقوم بجلب رابط الملف ..
    كما أنه بعض المبرمجين يضع في ملف الكونفج متغير $SITEURL مثلاً لكي يتم وضع رابط الموقع من قبل المستخدم و من ثم عند التبليغ يتم إرسال ما كتبه المستخدم في هذا المتغير ..


    و لعمل كود تبليغ في السكربت الخاص بك هناك طريقتين حسب علمي و قد تكون هناك طرق كثيرة أفضل أجهلها حالياً ..



    █ ◄الطريقة الأولى► █


    ''التبليغ عن طريق البريد الألكتروني"


    وهي من أسهل الطرق المعتمدة حالياو تعتمد على أمر إرسال بريد إلكتروني بلغة php.


    =========

    الكود:
    =========


    كود PHP:

    mail("topic@mtwer.com","subject","message"); 

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

    كما تلاحظون هناك خانة للبريد الإلكتروني المرسل إليه.

    و طبعا نستبدل البريد ذاك بالبريد الخاص بالمبرمج (أنت)


    و قد لا يهم كتابة موضوع للرسالة حتى لا يكون لافت للإنتباه .. يمكن وضع رمز - أو . ..
    و طبعاً يتم وضع أحد المتغيرات المذكورة سابقاً بدلاً من message ..


    مثال :

    mail("topic@mtwer.com","---","$HTTP_REFERER");


    و طبعاً يوضع الأمر غالباً كما ذكرنا سابقاً في ملف التركيب بعد أمر زراعة قاعدة البيانات مثلاً ..


    █ ◄الطريقة الثانية► █



    طريقة ربما فيها قليل من الصعوبة لكنها عملية و مفيدة ..
    هي تعتمد على وضع كود بسيط في ملف تركيب السكربت يقوم بفتح سكربت في موقع المبرمج طبعاً مع إرسال المعلومات المطلوبة و يتم تخزين رابط الموقع مثلاً في قاعدة بيانات السكربت الموضوع في موقع المبرمج ..
    و فكرتها كالتالي :
    السكربت الذي يوضع في موقع المبرمج و ستحتاج لعمل قاعدة بيانات مثل هذه :




    كود PHP:

    CREATE TABLE `code` (
    `
    idint(10unsigned NOT NULL auto_increment,
    `
    urlvarchar(255NOT NULL default '',
    PRIMARY KEY (`id`),
    KEY `id` (`id`)
    TYPE=MyISAM


    حسب السابق أسمينا الجدول code و هو يحتوي على حقل للرقم التسلسلي id و حقل لحفظ رابط المواقع التي قامت بتركيب السكربت و هو حقل url .. يمكن مستقبلاً و حسب إحتراف المبرمج إضافة حقول أخرى تاريخ التركيب مثلاً لن أتطرق لها بهذا الدرس لعدم أهميتها !! ..

    طبعاً سنحتاج بعد هذا للسكربت الذي يقوم المبرمج بوضعه بموقعه و فيه يتم تخزين رابط موقع المستخدم بقاعدة البيانات و هو كالتالي و لنفترض أن إسمه site.php :


    كود PHP:

    <?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.mtwer.com 


    و الأمر الذي بداخله هو أمر إدراج في قاعدة البيانات قيمة المتغير url و الذي سيكون رابط موقع المستخدم ..


    =========================
    بقي علينا الآنكتابة الكود الذي نضعه في ملف التركيب install.php

    كود PHP:

    @fopen("http://localhost/code/site.php?url=http://"."$HTTP_HOST"."$PHP_SELF","r"); 



    طبعاً كما ذكرنا يوضع هذا الكود بعد أمر زراعة قاعدة البيانات في ملف التركيب و نلاحظ فيه أمر فتح رابط و هو رابط السكربت الذي قمنا بعمله قبل قليل و الذي نضعه بموقع المبرمج و نلاحظ أن المتغير url سيحمل فيه قيمة هي عبارة عن رابط الموقع + رابط الملف بعكس الطريقة السابقة وضعنا فيها الصفحة التي سبقت تنفيذ الكود .. و طبعاً عند فتح رابط صفحة بالشكل السابق سيكون تلقائياً رابط موقع المستخدم مسجلاً فيه و من ثم يتم تخزينه بقاعدة البيانات ..



    كيف سنعرف المواقع التي تم حفظ رابطها ؟!!


    • إما بفتح القاعدة و قراءة محتوياتها المخزنة
      • عمل سكربت يستعرض الروابط المخزنة بالقاعدة و هو كالتالي :


    كود PHP:

    <?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')");
    }
    if(isset(
    $site)){
    $query=mysql_query("SELECT url FROM code ORDER BY id DESC");
    while(
    $result=mysql_fetch_array($query)){
    echo 
    "$result[url]"."<br>";
    }
    }
    ?>





    طبعاً هذا السكربت نفسه نفس السابق site.php لكن أضفنا عليه شرط و هو site فإذا كتب في المتصفح تم عرض الروابط المخزنة بقاعدة البيانات ..
    و يمكن عرضه عن طريق الرابط :
    site.php?site=show مثلاً ..


    =========================
    إخواني الموضوع منقول و قد عدلت و أصلحت وعملت الكثير في الموضوع ليصل يهذا المستوى, مش مصدقيني صح ؟؟
    إذا أدخلوا هنا و شوفوا الفرق.



    منتديات مصراوى
    عضو مثابر
    عضو مثابر

    جنسيتي : أم الدنيا
    عدد المساهمات : 613
    نشاطـي : 934
    تقييماتـي : 0
    تاريخ التسجيل : 30/05/2013
    العمر : 29

    _da3m_14

    مُساهمة من طرف منتديات مصراوى في السبت يوليو 20, 2013 11:10 pm


    مشكورين علي الموضوع الشيق والجميل
    في انتظار مشاركاتكم المييزه
    واصلوا تميزكم وتقبلوا مروري



      الوقت/التاريخ الآن هو السبت ديسمبر 03, 2016 5:40 pm