PHP applications များကိုတီထွင်သည့်အခါကျွန်ုပ်တို့သည်ဖောက်သည်ဒေတာဘေ့စ်စာကြည့်တိုက်၏ဗားရှင်းအချက်အလက်များကိုမှတ်တမ်းတင်ခြင်းသို့မဟုတ်ထုတ်လုပ်ခြင်းအတွက်မှတ်တမ်းများကိုမှတ်တမ်းတင်လိုကြသည်။ ဤအချိန်တွင် Get_Client_Version () function သည်အလွန်အသုံးဝင်သည်။ PHP မှလက်ရှိအသုံးပြုထားသော MySQL client စာကြည့်တိုက်၏ version နံပါတ်ကိုပြန်ပို့သည်။
ဤဆောင်းပါးသည်ဒေတာ ဘေ့စ်ကဲ့သို့သော အချက်အလက်များ ( MySQLI_Query ကဲ့သို့သော) ကိုရေးဆွဲနေစဉ်ရရှိသောသတင်းအချက်အလက်များကိုဒေတာဘေ့စ်သို့မည်သို့သိမ်းဆည်းရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။
ကျွန်ုပ်တို့တွင်ဒေတာဘေ့စ် log_db ရှိသည်ဆိုပါစို့။ 0 န်ဆောင်မှုခံယူသူစာကြည့်တိုက်ဗားရှင်းကိုမှတ်တမ်းတင်ရန် 0 န်ဆောင်မှုခံယူသူစာကြည့်တိုက်ဗားရှင်းကိုမှတ်တမ်းတင်ရန် client_logs ဟုခေါ်သောစားပွဲတစ်ခုကိုဖန်တီးပါ။
CREATE DATABASE IF NOT EXISTS log_db;
USE log_db;
CREATE TABLE IF NOT EXISTS client_logs (
id INT AUTO_INCREMENT PRIMARY KEY,
client_version VARCHAR(50) NOT NULL,
action VARCHAR(100),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
Client ဗားရှင်းကိုမည်သို့ရယူရန်နှင့်ဒေတာဘေ့စ်ထဲသို့ထည့်ရမည်ကိုပြသသည့်ရိုးရှင်းသော PHP Phot ဥပမာတစ်ခုရှိသည်။
<?php
$host = 'localhost';
$user = 'your_db_user';
$password = 'your_db_password';
$database = 'log_db';
// ဒေတာဘေ့စ်ကိုဆက်သွယ်ပါ
$conn = new mysqli($host, $user, $password, $database);
// ဆက်သွယ်မှုကိုစစ်ဆေးပါ
if ($conn->connect_error) {
die("ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $conn->connect_error);
}
// client ဗားရှင်းကိုရယူပါ
$clientVersion = mysqli_get_client_version(); // သို့မဟုတ်အသုံးပြုပါ get_client_version(),တသမတ်တည်းရလဒ်များ
// ဒေတာဘေ့စ်စစ်ဆင်ရေးကိုလုပ်ဆောင်ပါ
$action = 'User login from https://gitbox.net/dashboard';
$sql = "INSERT INTO client_logs (client_version, action) VALUES ('$clientVersion', '$action')";
if ($conn->query($sql) === TRUE) {
echo "စာရင်းသွင်းအောင်မြင်စွာမှတ်တမ်းတင်";
} else {
echo "စံချိန်တင်ထည့်သွင်းနေစဉ်အမှားတစ်ခုဖြစ်ပွားခဲ့သည်: " . $conn->error;
}
$conn->close();
?>
MySQLI_GET_CLIEN_Version () သည် 500.13 ကို ကိုယ်စားပြုသော 50013 ကဲ့သို့သောဖောက်သည်များ၏ကိန်းဂဏန်း၏ကိန်းဗားရှင်းကိုပြန်ပို့လိမ့်မည်။ သင်လိုချင်သည့်အတိုင်း၎င်းကိုပိုမိုဖတ်ရှုနိုင်သောပုံစံသို့ပြောင်းလဲနိုင်သည်။
ဥပမာတွင်စစ်ဆင်ရေးမှတ်တမ်းကို MySQLI_QUERY မှတဆင့်အမှန်တကယ်ဖြည့်စွက်ထားသည်။
URL ဥပမာသည် https://gitbox.net/dashboard ကို အသုံးပြုသည်။ သင်တောင်းဆိုသည့်အတိုင်းဒိုမိန်းအမည်ကိုအစားထိုးသည်။
အမှန်တကယ်စီမံကိန်းများတွင် SQL Injection ကိုကာကွယ်ရန် ပြင်ဆင်ထားသည့်ထုတ်ပြန်ချက်များကို အသုံးပြုရန်အကြံပြုသည်။
အကယ်. မှတ်တမ်းတင်ထားသော client ကိုသတင်းအချက်အလက်များကိုလုံခြုံရေးခွဲခြမ်းစိတ်ဖြာမှုအတွက်အသုံးပြုပါက IP address, user-agent နှင့်အခြားသတင်းအချက်အလက်များကိုတစ်ချိန်တည်းတွင်မှတ်တမ်းတင်ရန်အကြံပြုသည်။
log စားပွဲများသည် volume တိုးချဲ့မှုကိုသက်ရောက်ခြင်းမှရှောင်ရှားရန်ပုံမှန်အားဖြင့်သိမ်းဆည်းထားသင့်သည်။
Get_Client_Version () သို့မဟုတ် mySqli_get_cletient_version () ကိုအသုံးပြုခြင်းသည်ဒေတာဘေ့စ်ရေးခြင်းလုပ်ငန်းများနှင့်အတူ datsters များနှင့် developer များနှင့်အတူ develters များကို deveroles များကိုပိုမိုနားလည်ရန်ခွင့်ပြုသည်။ ဤဆောင်းပါးတွင်ဥပမာများဖြင့်၎င်းကိုစနစ်ပွင့်လင်းမြင်သာမှုနှင့်ထိန်းသိမ်းမှုကိုတိုးတက်စေရန်သင်၏စနစ်ထဲသို့အလွယ်တကူပေါင်းစည်းနိုင်သည်။