Secure Php applications များတည်ဆောက်သည့်အခါ developer များသည်စာဝှက်ခြင်းဆိုင်ရာလိုအပ်ချက်များကိုဖြ ည့ ်ဆည်းပေးသည့်အခါ PHP သည်စာဝှက်စနစ်များ,
ဤဆောင်းပါးတွင်ကျွန်ုပ်တို့သည်စကားဝှက် Hash လုံခြုံရေးနှင့်ဒေတာ encryption ပြောင်းလွယ်ပြင်လွယ်များကိုထည့်သွင်းစဉ်းစားရန်စိတ်ကြိုက်စာဝှက်စနစ်တစ်ခုတည်ဆောက်ရန် crypt () နှင့် openssll_ ၏ လုပ်ဆောင်မှုများကိုသုံးမည်။
အောက်ပါပန်းတိုင်များကိုအောင်မြင်ရန်ကျွန်ုပ်တို့မျှော်လင့်ပါသည်။
အသုံးပြုသူစကားဝှက်ကိုဆေးပါ - Crypt () ကို မသေချာမရေရာလျှော်ခန်းကိုဖျော်ဖြေရန်အသုံးပြုသည်။
ဒေတာ encryption - OpenSSL အချိုးကျ encrytition algorithm ကို သုံး. အသုံးပြုသူအထိခိုက်မခံအချက်အလက်များကို encrypt လုပ်ပါ။
အဓိကကာကွယ်မှု - စာဝှက်ခြင်းလုပ်ငန်းစဉ်၏လုံခြုံရေးကိုသေချာစေရန်သော့များကို ဖန်တီး. စီမံခြင်း,
ဒေတာစာဝှက်ဖြည်ခြင်း - မှန်ကန်သောသော့ချက်ရှိကြောင်းကို Ciphertext ကိုပြန်လည်ပေးနိုင်သည်။
crypt () သည်စကားဝှက်များကိုတပ်ဆင်ရန် function တစ်ခုဖြစ်သည်။ ကျွန်ုပ်တို့သည် Password Hashing အတွက်သက်သေပြနိုင်သည့် algorithm တစ်ခု bcrypt algorithm ကိုအသုံးပြုရန်အကြံပြုပါသည်။
function hash_password($password) {
$salt = '$2y$10$' . substr(str_replace('+', '.', base64_encode(random_bytes(16))), 0, 22);
return crypt($password, $salt);
}
စကားဝှက်ကိုစစ်ဆေးပါ။
function verify_password($password, $hash) {
return crypt($password, $hash) === $hash;
}
အီးမေးလ်နှင့် ID နံပါတ်ကဲ့သို့သော User-sensitive အချက်အလက်များကိုစာဝှက်ရန်ကျွန်ုပ်တို့သည် OpenSSL ၏အချိုးကျစာဝှက်စနစ်များဖြစ်သော AES-256-CBC ကဲ့သို့သော OpenSSL ၏အချိုးကျစာဝှက်စနစ်ကိုအသုံးပြုသည်။
function encrypt_data($plaintext, $key) {
$iv_length = openssl_cipher_iv_length('AES-256-CBC');
$iv = openssl_random_pseudo_bytes($iv_length);
$ciphertext = openssl_encrypt($plaintext, 'AES-256-CBC', $key, OPENSSL_RAW_DATA, $iv);
return base64_encode($iv . $ciphertext);
}
function decrypt_data($encrypted, $key) {
$data = base64_decode($encrypted);
$iv_length = openssl_cipher_iv_length('AES-256-CBC');
$iv = substr($data, 0, $iv_length);
$ciphertext = substr($data, $iv_length);
return openssl_decrypt($ciphertext, 'AES-256-CBC', $key, OPENSSL_RAW_DATA, $iv);
}
Security Key ကိုထုတ်လုပ်ရန် OpenSSL_random_pseudoudo_bytes () ကိုသုံးနိုင်သည်။
function generate_secure_key($length = 32) {
return base64_encode(openssl_random_pseudo_bytes($length));
}
အစစ်အမှန်စီမံကိန်းများတွင်သင်၏သော့ချက်တွင်ပတ် 0 န်းကျင်ဆိုင်ရာ variable များ (သို့) အဓိကစီမံခန့်ခွဲမှု 0 န်ဆောင်မှုများကို အသုံးပြု. သင်၏သော့များကိုသိမ်းဆည်းရန်လုံခြုံသောနည်းလမ်းတစ်ခုကိုအသုံးပြုသင့်သည်။
$password = 'myStrongPassword123!';
$hashed = hash_password($password);
if (verify_password('myStrongPassword123!', $hashed)) {
echo "စကားဝှက်စစ်ဆေးမှုအတည်ပြု\n";
}
$key = base64_decode('pL2u0xJNzYX2+x5sK8Xt5c34BLTPWhMHn0h0snA4MlQ='); // နမူနာသော့ချက်
$secret = 'အသုံးပြုသူအီးမေးလ်: user@example.com';
$encrypted = encrypt_data($secret, $key);
$decrypted = decrypt_data($encrypted, $key);
echo "စာဝှက်ထားတဲ့ဒေတာ: $encrypted\n";
echo "decrypted ဒေတာ: $decrypted\n";
ဒေတာထုတ်လွှင့်ရန်အတွက် HTTPS ကို သုံး. စာဝှက်ထားသည့်ဒေတာများကိုစာသားလိုင်းများမှတစ်ဆင့်မပို့သင့်ပါ။
အဓိကစီမံခန့်ခွဲမှုသည်စနစ်လုံခြုံရေး၏အဓိကအချက်ဖြစ်သည်။ Hashicorp Vault ကဲ့သို့သောလုံခြုံရေးဆိုင်ရာအချက်အလက်များနှင့်ပူးပေါင်းဆောင်ရွက်ရန်အကြံပြုသည်။
ပုံမှန်သော့နှင့် algorithms လှည့်;
encryption key ကို git repository သို့မဟုတ်ရှေ့ဆုံးကုဒ်ထဲသို့မထားပါနှင့်။
ပုံမှန်စာဝှက်ခြင်းလုပ်ငန်းစဉ်နှင့်အချိန်မီ patch ကိုလူသိများသောအားနည်းချက်များကိုစစ်ဆေးသည်။
ဤ crypt () နှင့် openssll_ ပေါင်းစပ်မှု * အသုံးပြုသူ authentication နှင့်အထိခိုက်မခံတဲ့ဒေတာစာဝှက်စနစ်များလိုအပ်သည့်အခြေအနေများအတွက်သင့်တော်သည်။
ဘဏ်ကဒ်နံပါတ်နှင့် ID ကဒ်၏စာဝှက်ထားသောသိုလှောင်မှု,
အသုံးပြုသူ Chat History သို့မဟုတ် Private Information ကိုကာကွယ်ပါ။
အသုံးပြုသူစကားဝှက်များနှင့်အချက်အလက်များကိုခွဲခြားရန်အလွှာပေါင်းစုံလုံခြုံရေးယန္တရားကိုတည်ဆောက်ရန်,
ပုံမှန်အားဖြင့် encrypted data များကိုအလိုအလျောက်စာဝှက်ဖြည့်ယူပြီးခွဲခြမ်းစိတ်ဖြာပါ။
hearpt ၏ uncryption unting function ကိုပေါင်းစပ်ခြင်းအားဖြင့် Openssl ၏အချိုးကျစာဝှက်ခြင်းစွမ်းရည်ကိုပေါင်းစပ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်သုံးစွဲသူစကားဝှက်စီမံခန့်ခွဲမှုနှင့်သင့်လျော်သောလုံခြုံစိတ်ချရသောစာဝှက်စနစ်တစ်ခုကိုတည်ဆောက်နိုင်ပြီးဒေတာစာဝှက်ခြင်းသိုလှောင်မှုလိုအပ်ချက်ကိုဖြည့်ဆည်းပေးနိုင်သည်။ စီးပွားရေးလိုအပ်ချက်များနှင့်လုံခြုံရေးဆိုင်ရာခြိမ်းခြောက်မှုများကိုဆင့်ကဲဖြစ်စဉ်နှင့်အတူဤဖြေရှင်းချက်တွင်လည်းကောင်းမွန်သောပမာဏရှိသည်။
ပိုမိုသက်ဆိုင်ရာအကောင်အထည်ဖော်ရေးအစီအစဉ်များနှင့်အကောင်းဆုံးအလေ့အကျင့်များနှင့်အကောင်းဆုံးသောအလေ့အကျင့်များအရတရားဝင်စာရွက်စာတမ်းများ (သို့) ရပ်ရွာဆွေးနွေးမှုပလက်ဖောင်းများကိုကြည့်ရှုနိုင်သည်။