လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP Umask function ကိုအသုံးပြုသောအခါလမ်းညွှန်ခွင့်ပြုချက်များကိုသတ်မှတ်ရန်မည်သည့်သော့ချက်ကိုအာရုံစိုက်သင့်သနည်း။

PHP Umask function ကိုအသုံးပြုသောအခါလမ်းညွှန်ခွင့်ပြုချက်များကိုသတ်မှတ်ရန်မည်သည့်သော့ချက်ကိုအာရုံစိုက်သင့်သနည်း။

gitbox 2025-08-27

1 ။ Umask () အလုပ်လုပ်သည်ကိုနားလည်ပါ

Umask () သည် ဖိုင်များသို့မဟုတ်လမ်းညွှန်များကိုတိုက်ရိုက်ခွင့်ပြုချက်များကိုတိုက်ရိုက်မသတ်မှတ်ထားပါ။ မျက်နှာဖုံးများမှတစ်ဆင့်ဖိုင်သို့မဟုတ်လမ်းညွှန်ခွင့်ပြုချက်၏တန်ဖိုးကိုကန့်သတ်ထားသည်။ ဖိုင်တစ်ခုစီနှင့်လမ်းညွှန်တစ်ခုစီသည်ပုံမှန်အားဖြင့် (ဖိုင်) နှင့် 777 (လမ်းညွှန်) နှင့် 777 (လမ်းညွှန်) နှင့် 777 (directory) နှင့် 777 (လမ်းညွှန်) နှင့် 777 (directory) နှင့် directory သည်ပုံမှန်ခွင့်ပြုချက်ရှိသည်။ သို့သော် Umask () သည် ဤ default values ​​များအပေါ်တွင်နည်းနည်း "နှင့်" ခွဲစိတ်မှုနှင့် "ခွဲစိတ်မှု (နှင့်) စစ်ဆင်ရေး (နှင့်) စစ်ဆင်ရေး (နှင့်) လုပ်ဆောင်ခြင်းဖြင့်အမှန်တကယ်ခွင့်ပြုချက်များကိုသတ်မှတ်သည်။

ဥပမာအားဖြင့်ပုံမှန်ခွင့်ပြုချက် 777 ကို နောက်ဆုံးခွင့်ပြုချက်တန်ဖိုးကိုတွက်ချက်ရန် Umask တန်ဖိုးကို 0 ယ်ယူသည်။ ဥပမာအားဖြင့်:

  • ပုံမှန်လမ်းညွှန်ခွင့်ပြုချက်: 777

  • Umask Value: 022

တွက်ချက်မှုရလဒ်မှာ 755 ဖြစ်ပြီးလမ်းညွှန်၏ခွင့်ပြုချက်များသည် RWXR-XR-X ဖြစ်သည်။


2 ။ Umask () function ကို သုံး. directory permissions များကိုမည်သို့သတ်မှတ်ရမည်နည်း

PHP တွင်, သင်လုပ်ငန်းစဉ်၏ Umask () function မှတဆင့် emask ကိုသတ်မှတ်နိုင်ပါတယ်။ Setting ပြီးနောက် PHP သည်နောက်ဆက်တွဲဖန်တီးမှုတွင်ဖိုင်များ (သို့) လမ်းညွှန်များဖန်တီးခြင်းအတွက် PHP သည် Umask တန်ဖိုးကိုထိခိုက်လိမ့်မည်။ ပုံမှန်အားဖြင့် Umask value ကိုလမ်းညွှန်ကိုမဖန်တီးမီသတ်မှတ်ရန်လိုအပ်သည်။

ဥပမာအားဖြင့်, အောက်ပါကုဒ်သည် PHP မှဖန်တီးထားသောလမ်းညွှန်သည် 755 ခုတွင်ခွင့်ပြုချက်ရရှိရန်အောက်ပါကုဒ်နံပါတ်များကို 0022 သို့သတ်မှတ်သည်။

 <span><span><span class="hljs-comment">// တည်ဆောက်သည် umask</span></span><span>
</span><span><span class="hljs-title function_ invoke__">umask</span></span><span>(</span><span><span class="hljs-number">0022</span></span><span>);

</span><span><span class="hljs-comment">// လမ်းညွှန်တစ်ခုဖန်တီးပါ</span></span><span>
</span><span><span class="hljs-title function_ invoke__">mkdir</span></span><span>(</span><span><span class="hljs-string">'new_directory'</span></span><span>);
</span></span>

အပေါ်ကဥပမာမှာ MKDir () function ကို) function ကို directory တစ်ခုဖန်တီးပေးလိမ့်မယ်။ 755 ၏ခွင့်ပြုချက်များနှင့်အတူလမ်းညွှန်တစ်ခုဖန်တီးလိမ့်မည်။ ပုံမှန်ခွင့်ပြုချက် 777 အစဉ်အလာ Umask 022 ပြီးနောက်နောက်ဆုံးလမ်းညွှန်ခွင့်ပြုချက်သည် 755 ဖြစ်သည်။


3 ။ ခွင့်ပြုချက်ကိုသတ်မှတ်သည့်အခါသာမန်အမှားများနှင့်ကြိုတင်ကာကွယ်မှုများ

3.1 ခွင့်ပြုချက်များလွန်းနေပြီဆိုတာသတိထားပါ

Directory Permissions များကိုအထူးသဖြင့်အများပြည်သူသို့မဟုတ်မျှဝေထားသောဆာဗာဝန်းကျင်ရှိအများပြည်သူသို့မဟုတ်မျှဝေထားသောဆာဗာပတ် 0 န်းကျင်တွင်အလွန်အကျွံခွင့်ပြုချက်များသည်လုံခြုံရေးအန္တရာယ်များကိုဖြစ်ပေါ်စေနိုင်သည်။ ဥပမာအားဖြင့်, directory permissions 777 (အပြည့်အဝဖွင့်လှစ်ခြင်း) ကိုချိန်ညှိခြင်း (ပွင့်လင်းမြင်သာမှု) သည်မည်သူတစ် ဦး တစ်ယောက်ကိုဖတ်ရန်, ဤပြ problem နာကိုရှောင်ရှားရန်အနည်းဆုံး 755 သို့မဟုတ် 750 စသည့်အနည်းဆုံးရှေးရိုးစွဲခွင့်ပြုချက်ကိုအသုံးပြုရန်အကြံပြုသည်။

3.2 Umask သည်အသစ်ဖန်တီးထားသောဖိုင်များနှင့်လမ်းညွှန်များအတွက်သာတရားဝင်သည်

Umask မှခွင့်ပြုချက်မျက်နှာဖုံး () သည်လက်ရှိဖြစ်စဉ်မှဖန်တီးထားသောဖိုင်များသို့မဟုတ်လမ်းညွှန်များကိုသာအကျိုးသက်ရောက်ကြောင်းသတိပြုသင့်သည်။ Umask () သည် ရှိပြီးသားဖိုင်များသို့မဟုတ်လမ်းညွှန်များအပေါ်အကျိုးသက်ရောက်မှုမရှိပါ။ ဖိုင်များသို့မဟုတ်လမ်းညွှန်များကိုဖန်တီးရန်ခွင့်ပြုချက်ကိုပြင်ဆင်ရန်လိုအပ်ပါက chmod () function ကိုသုံးနိုင်သည်။

 <span><span><span class="hljs-title function_ invoke__">chmod</span></span><span>(</span><span><span class="hljs-string">'existing_directory'</span></span><span>, </span><span><span class="hljs-number">0755</span></span><span>);
</span></span>

3.3 PHP ၏ Safe Mode နှင့် Open_basedir ချိန်ညှိချက်များနှင့်လိုက်ဖက်ခြင်း

PHP configuration enformations (PHP's Safe Mode ကိုဖွင့်ထားသည့်သို့မဟုတ် Open_basedir တို့ဖြစ်သည်) တွင် PHP ၏ဖိုင်နှင့်လမ်းညွှန်စစ်ဆင်ရေးခွင့်ပြုချက်များကိုကန့်သတ်ထားနိုင်သည်။ Umask () မှတဆင့်ခွင့်ပြုချက်များကိုသတ်မှတ်ထားရင်တောင်, ထို့ကြောင့်ဤပတ်ဝန်းကျင်တွင် Umask () ကို အသုံးပြုသောအခါအထူးဂရုပြုရန်လိုအပ်သည်။


4 ။ Umask ကို အသုံးပြု . Umask () ကို web applications များတွင်အသုံးပြုခြင်း၏အမှန်တကယ်မြင်ကွင်း

4.1 ဖိုင်တင်ခြင်း

File Upload ကိုထောက်ပံ့သောဝက်ဘ်လျှောက်လွှာတွင်တင်ထားသောဖိုင်များသည်တိကျသောခွင့်ပြုချက်လိုအပ်သည်။ ဖိုင်ကိုဖန်တီးသောအခါခွင့်ပြုချက်များကိုထိန်းချုပ်ရန် Umask () ကို သုံးပါ။ ဥပမာအားဖြင့်, အသုံးပြုသူများမှတင်ထားသောဖိုင်များကိုလုပ်ဆောင်သောအခါတင်ထားသောဖိုင်များသည်ခွင့်ပြုချက်မရရှိနိုင်ကြောင်းသေချာစေရန်သင့်လျော်သော UMARP တန်ဖိုးကိုသတ်မှတ်နိုင်သည်။

 <span><span><span class="hljs-comment">// တည်ဆောက်သည် umask,ဖိုင်ခွင့်ပြုချက်မသေချာအောင်သေချာအောင်လုပ်ပါ 777</span></span><span>
</span><span><span class="hljs-title function_ invoke__">umask</span></span><span>(</span><span><span class="hljs-number">0022</span></span><span>);

</span><span><span class="hljs-comment">// တင်ထားသောဖိုင်များကိုတင်ပါ</span></span><span>
</span><span><span class="hljs-title function_ invoke__">move_uploaded_file</span></span><span>(</span><span><span class="hljs-variable">$tmp_name</span></span><span>, </span><span><span class="hljs-variable">$destination</span></span><span>);
</span></span>

4.2 cache directory ကိုဖန်တီးပါ

0 က်ဘ်အပလီကေးရှင်းများတွင်ယာယီအချက်အလက်များကိုသိမ်းဆည်းရန် Cache Directories များကိုများသောအားဖြင့်အသုံးပြုလေ့ရှိသည်။ အန္တရာယ်ရှိသောအသုံးပြုသူများကမပြုပြင်ခြင်းမှသိမ်းဆည်းထားသော directory ကိုကာကွယ်ရန်လမ်းညွှန်သည်သင့်လျော်သော Uma ကိုသတ်မှတ်ခြင်းဖြင့်လမ်းညွှန်မှန်ကန်သောခွင့်ပြုချက်များရှိသည်။

 <span><span><span class="hljs-title function_ invoke__">umask</span></span><span>(</span><span><span class="hljs-number">0027</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">mkdir</span></span><span>(</span><span><span class="hljs-string">'/path/to/cache'</span></span><span>, </span><span><span class="hljs-number">0775</span></span><span>);
</span></span>

ဤဥပမာတွင် cache directory ကိုခွင့်ပြုချက်အဖြစ်ဖန်တီးလိမ့်မည် 775 ကိုဖန်တီးလိမ့်မည်။ ပိုင်ရှင်နှင့်တူညီသောအုပ်စုသည်ခွင့်ပြုချက်များကိုဖတ်ရန်နှင့်စာရေးခြင်းကိုရေးဆွဲထားပြီးအခြားအသုံးပြုသူများသည်လမ်းညွှန်၏ contents ကိုမပြုပြင်နိုင်ပါ။