البرمجة

تحسين أداء وأمان PHP Code: إرشادات MySQLi وممارسات البرمجة السليمة

في البداية، يجدر بك التحقق من الشيفرة البرمجية للتأكد من عدم وجود أخطاء نحوية أو أخطاء في البنية. يظهر من الشيفرة أن هناك بعض الأخطاء التي يمكن تحسينها.

أولاً، يُلاحظ أنك لم تضيف علامة اقتباس حول مسار ملف التكوين (config.php) في السطر الثاني. يجب عليك تعديل هذا الجزء ليكون كالتالي:

php
include 'config.php';

ثانيًا، يتم استخدام دالة mysql_select_db، ولكن يفترض أن يتم استخدام دالة mysqli_select_db في حال كنت تستخدم اتصال MySQLi. لذا، يفضل تحديث هذا الجزء من الشيفرة ليصبح كالتالي:

php
mysqli_select_db($conn, $sql_db);

ثالثًا، هناك نقص في فاصلة منقوطة (;) في نهاية تعريف الاستعلام SQL. يجب إضافة فاصلة منقوطة بعد تعريف الاستعلام كما يلي:

php
$sql = ("INSERT INTO X ( NXTAddress, NXTPubKey, AltCoinAddr, AltCoinKeys, PoBTXID, ContactDateCreated ) VALUES ( '$nxtaddr', '$nxtkey', '$coinaddr', '$coinkey', '$burntxid', NOW() )");

رابعًا، في السطر الأخير، يجب أن تضيف فاصلة منقوطة بعد استدعاء دالة mysql_query:

php
mysql_query($sql, $conn);

وأخيرًا، يجب تحديث استخدام الوظائف المتعلقة بقاعدة البيانات إلى MySQLi بدلاً من MySQL، حيث أن استخدام دوال MySQL تم تقديمه للمرة الأخيرة في PHP 5.5.0 وقد تمت إزالتها في PHP 7.0.0.

المزيد من المعلومات

بالطبع، يُفضل دائمًا اتباع ممارسات برمجية صحيحة للحصول على أفضل أداء وأمان. إليك بعض النصائح والمعلومات التي يمكن أن تساعدك في تحسين شيفرة البرنامج الخاصة بك:

  1. استخدام MySQLi أو PDO:
    يُفضل استخدام مكتبات MySQLi أو PDO بدلاً من تفضيل MySQL، حيث تقدم هذه المكتبات مزايا أمان إضافية وتدعم ميزات أكثر حديثة.

    على سبيل المثال، يمكن تحديث اتصال قاعدة البيانات إلى MySQLi كما يلي:

    php
    $conn = mysqli_connect($db_host, $db_user, $db_password, $db_name);
  2. استخدام استعلامات معلمات:
    يُفضل استخدام استعلامات معلمات لتجنب هجمات حقن SQL. يمكنك استخدام استعلامات معلمات مع PDO أو MySQLi بسهولة.

    على سبيل المثال باستخدام MySQLi:

    php
    $sql = "INSERT INTO X ( NXTAddress, NXTPubKey, AltCoinAddr, AltCoinKeys, PoBTXID, ContactDateCreated ) VALUES (?, ?, ?, ?, ?, NOW())"; $stmt = mysqli_prepare($conn, $sql); mysqli_stmt_bind_param($stmt, 'sssss', $nxtaddr, $nxtkey, $coinaddr, $coinkey, $burntxid); mysqli_stmt_execute($stmt); mysqli_stmt_close($stmt);
  3. التحقق من الاتصال بقاعدة البيانات:
    قبل تنفيذ استعلامات SQL، يُفضل دائمًا التحقق من نجاح الاتصال بقاعدة البيانات لتجنب الأخطاء غير المتوقعة.

    php
    if (!$conn) { die('Could not connect: ' . mysqli_connect_error()); }
  4. التحقق من نجاح تنفيذ الاستعلام:
    بعد تنفيذ الاستعلام، يُفضل التحقق من نجاح التنفيذ والتعامل مع أي أخطاء إذا كانت موجودة.

    php
    if (mysqli_query($conn, $sql)) { echo "تم إضافة البيانات بنجاح."; } else { echo "خطأ في تنفيذ الاستعلام: " . mysqli_error($conn); }
  5. تجنب استخدام دوال متوقفة:
    يُفضل استخدام دوال PHP الحديثة والمستمرة الدعم بدلاً من الدوال التي قد تكون قديمة أو متوقفة الدعم.

    على سبيل المثال، استخدم mysqli_real_escape_string بدلاً من mysql_real_escape_string لتجنب التحذيرات وضمان التوافق مع الإصدارات الحديثة من PHP:

    php
    $nxtaddr = mysqli_real_escape_string($conn, $_POST["txin_src"]);

باعتبارها مجرد نصائح عامة، يُفضل دائمًا فحص الشيفرة بعناية للتحقق من عدم وجود أخطاء أخرى وضمان أمان التطبيق الخاص بك.

زر الذهاب إلى الأعلى