កុំព្យូទ័រផ្នែកទន់

អថេរសកល PHP ក្នុងមុខងារនេះ។ ធ្វើឱ្យអថេរសកលក្នុង PHP

ដើម្បីបង្កើតបណ្តាញពេញលេញ, ដែលមានមុខងារយ៉ាងទូលំទូលាយដែលអ្នកត្រូវដឹងច្រើន។ ប៉ុន្តែអ្វីដែលអាចធ្វើឱ្យគាត់ពិតជាមានតែមួយ - វាគឺជាកម្មវិធី PHP ។ អថេរសកលនៅក្នុងភាសាសរសេរកម្មវិធីមិនត្រូវបានប្រើជាញឹកញាប់ណាស់, ប៉ុន្តែពេលខ្លះដើម្បីដឹងថាតើវាធ្វើការ, ពេលខ្លះវាគឺជាការចាំបាច់។ នោះគឺជាការសិក្សាអំពីអ្វីដែលវាគឺជានិងរបៀបដែលវាធ្វើការ, យើងនឹងធ្វើនៅក្នុងអត្ថបទនេះ។

វិសាលភាព

ដូច្នេះហៅបរិបទដែលអថេរនិងការកំណត់។ ក្នុងករណីជាច្រើន, ពួកគេមានតែវិសាលភាពមួយ។ ពេលអថេរសកលរបស់ PHP ត្រូវបានផ្ទុកពីឯកសារផ្សេងទៀតបន្ទាប់មកវាអាចនឹងមានការបញ្ចូលគ្នា (រួមបញ្ចូលទាំងការ) និងទាមទារ (តម្រូវឱ្យមាន) ។

តាមលំនាំដើម, ពួកគេត្រូវបានកំណត់ទៅវិសាលភាពមុខងារក្នុងស្រុក។ និងរបៀបដើម្បីធ្វើអថេរឯកសារបានឃើញនៅក្នុងព្រំដែនរបស់ខ្លួនដែលអាចប្រើបានច្រើននិង? ដល់ទីបញ្ចប់នេះហើយត្រូវបានផ្តល់ជូនក្នុងអថេរកម្មវិធី PHP ពិភពលោក។

ពាក្យគន្លឹះ "សកល"

ហើយនៅទីនេះគឺជារបៀបដើម្បីប្រកាសអថេរសកលទៅ PHP? នៅក្នុងការសម្រេចបាននូវគោលដៅនេះនឹងជួយឱ្យយើងពាក្យ "សកល" ។ វាគឺជាការចាំបាច់ដើម្បីដាក់នៅក្នុងផ្នែកខាងមុខនៃអថេរដែលអ្នកចង់ធ្វើឱ្យសកល (Narim, សាកល«អថេរនេះ ") ផងដែរ។

បន្ទាប់ពីការអនុវត្ដន៍នៃការបង្ហាញបែបនេះ, ទិន្នន័យនេះនឹងអាចធ្វើការជាមួយឯកសារណាមួយ។ ប្រសិនបើមានកន្លែងណាមានសេចក្ដីយោងទៅអថេរនេះកម្មវិធីនេះតែងតែយកចិត្តទុកដាក់លើនឹងកំណែសកល។

ហេតុអ្វីបានជាបែបនេះជាភាសាចម្លែក? ការពិតដែលថានៅពេលដូចគ្នានេះវាអាចនឹងមានកំណែក្នុងតំបន់។ ប៉ុន្តែពួកគេនឹងអាចរកបានសម្រាប់តែឯកសារទាំងនោះដែលជាកន្លែងដែលបានប្រកាស។ និងសម្រាប់ទាំងអស់ដែលនៅសល់នឹងធ្វើអថេរសកលថ្នាក់ PHP ។ ដូច្នេះអ្នកត្រូវតែមានការប្រុងប្រយ័ត្ន។ ហើយថាគ្មានការសង្ស័យទេមាន, នៅទីនេះគឺជាឧទាហរណ៍នៃអ្វីដែលពួកគេមើលទៅដូចជា: សកល។

ព្រោះប្រសិនបើមានឯកសារមួយនឹងមានការចូលដំណើរការទៅចំនួនអថេរមួយ, វានឹងបណ្តាលឱ្យពួកគេឱ្យមានការប៉ះទង្គិច។ ប៉ុន្តែយើងមិនអាចនិយាយថាសម្រាប់ប្រាកដថា - មូលដ្ឋានឬចំណាត់ថ្នាក់អថេរសកល★ត្រូវបានអានឬទាំងអស់គ្នាបរាជ័យ។ ដូច្នេះប្រសិនបើវាគឺជាការចុះឈ្មោះក្នុងអនុគមន៍មួយ, វាគួរតែគ្មានបញ្ហាទេ។ ប៉ុន្តែការប្រើប្រាស់អថេរសម្រាប់ស៊ុមរបស់ខ្លួនដើម្បីឱ្យមានបញ្ហា។ ដូច្នេះរចនាសម្ព័ន្ធនៃការធ្វើសេចក្តីព្រាងនៃក្រមដែលចាំបាច់ដើម្បីត្រួតពិនិត្យយ៉ាងដិតនិងធ្វើឱ្យប្រាកដថាការគឺជាកន្លែងដែលមានជម្លោះសូម្បីតែតម្រូវការជាមុនមួយដើម្បីនិយាយថាការមួយកើតឡើង។

តំណាងមួយផ្សេងទៀតនៃការថតនេះ

វាគឺជាការដែលអាចធ្វើបាននៅក្នុង PHP ដើម្បីបង្កើតអថេរសកលនៅក្នុងវិធីមួយផ្សេងទៀត? បាទ, មិនបានសូម្បីតែមួយ។ ជាដំបូងសូមពិចារណា $ ទូទាំងពិភពលោក។ នេះគឺជាអារេសមាគម។ គន្លឹះសំខាន់ក្នុងការវា - គឺជាឈ្មោះនោះទេ។ ជាតម្លៃនៃមាតិកាដែលបានដើរតួនាទីជាអថេរសកល។ វាគួរតែត្រូវបានកត់សម្គាល់ថាបន្ទាប់ពីការប្រកាសអារេដែលមាននៅក្នុងវិសាលភាពដែលបានណា។ នេះផ្តល់នូវមូលហេតុដើម្បីជឿថាវា superglobals ។ វាមើលទៅដូច្នេះ: Global $ [ 'អថេរ'] ។

ដែលបានកំណត់ជាមុន / superglobals

ក្នុងភាសាសរសេរកម្មវិធីមួយចំនួនជារៀងរាល់មានឈ្មោះត្រូវបានគេជួលសម្រាប់ការដែលមុខងាររបស់វាមួយចំនួនគឺមាន។ ដូច្នេះដើម្បីបង្កើតកម្មវិធី PHP ក្នុងអថេរសកលនៃឈ្មោះដដែលនេះនឹងមិនដំណើរការ។

ភាសាកម្មវិធីនេះមានលក្ខណៈផ្ទាល់របស់ខ្លួន។ ដូច្នេះវាជាការសំខាន់ណាស់ដែលថានៅទីនេះអថេរដែលបានកំណត់ជាមុនគឺត្រូវបានដំឡើងមិនបាន "ទំនើប", នោះគឺ, ពួកគេគឺមិនអាចរកបាននៅក្នុងទីតាំងទាំងអស់។ តើខ្ញុំអាចជួសជុលវាដោយរបៀបណា? អថេរដែលបានកំណត់ជាមុនគឺដើម្បីអាចរកបាននៅតំបន់ស្រុកមួយចំនួន, វាត្រូវតែត្រូវបានប្រកាសដូចខាងក្រោម :. សកល«អថេរ " វាហាក់ដូចជាដូចគ្នាដូចដែលបានប្រាប់ពីមុនទេ? វាគឺជាការពិតប៉ុន្តែមិនណាស់។ សូមឱ្យយើងសម្លឹងមើលទៅរួចទៅហើយ "ការប្រយុទ្ធគ្នា" ឧទាហរណ៍:

  • $ សាកល HTTP_POST_VARS;
  • សូមបន្លឺ $ HTTP_POST_VARS [ 'ឈ្មោះ'] ។

អ្នកមានអារម្មណ៍ថាមានភាពខុសគ្នារវាងពួកគេ? ចំណាំថានៅក្នុងអថេរកម្មវិធី PHP ជាសកលមិនចាំបាច់ត្រូវបានប្រើក្នុងមុខងារនេះ។ ទោះបីជាវាអាចត្រូវបានដាក់នៅក្នុងឯកសារដែលត្រូវបានរួមបញ្ចូលនៅក្នុងវា។

តំណភ្ជាប់និងសុវត្ថិភាព

ដូចដែលអ្នកអាចឃើញនៅក្នុង PHP បង្កើតអថេរសកលមិនមែនជាបញ្ហាមួយ។ ប៉ុន្ដែតើមានសាច់ញាតិណាមួយឡើយជាពិសេសតំណភ្ជាប់? បាទ, អាចមានឥរិយាបទមិនបានរំពឹងទុកនៅពេលប្រើជាសកល។ ប៉ុន្តែមុនពេលដែលនោះជាការ backstory តិចតួច។

នៅក្នុងកំណែ 4.2.0 ការបង្គាប់ដោយ register_globals លំនាំដើមផ្លាស់ប្តូរពីលើរដ្ឋដើម្បីបិទ។ សម្រាប់អ្នកប្រើច្រើនបំផុត, នេះគឺមិនមានសារៈសំខាន់ណាស់, ប៉ុន្តែនៅក្នុងការឥតប្រយោជន៍។ បន្ទាប់ពីបានទាំងអស់វាជះឥទ្ធិពលដោយផ្ទាល់សន្តិសុខនៃផលិតផលអភិវឌ្ឍនេះ។ ប្រសិនបើអ្នកត្រូវការដើម្បីធ្វើឱ្យសកល, កម្មវិធី PHP-សារាចរអថេរនៅលើប៉ារ៉ាម៉ែត្រនេះមិនរងផលប៉ះពាល់ដោយផ្ទាល់ត្រូវបាន។ ទោះជាយ៉ាងណា, ការប្រើប្រាស់មិនត្រឹមត្រូវអាចបង្កើតគំរូសន្តិសុខរួចហើយ។

ដូច្នេះប្រសិនបើ register_globals ត្រូវបានបើកមុនពេលប្រតិបត្តិនៃកូដដែលបានសរសេរនោះចាប់ផ្ដើមអថេរផ្សេងគ្នាដែលត្រូវការឧទាហរណ៍ដើម្បីផ្ញើជា HTML ទម្រង់។ ដូច្នេះវាត្រូវបានគេសម្រេចចិត្តដើម្បីបិទវា។

ហេតុអ្វីបានជារដ្ឋនៃបង្គាប់នៅក្នុងអថេរសកល PHP នេះជំពាក់ច្រើន? ការពិតគឺថានៅពេលដែលស្ថានភាពនៃការអភិវឌ្ឍន៍នេះមិនតែងតែបានច្បាស់ដោយខ្លួនឯងអាចឆ្លើយសំណួរដែលជាកន្លែងដែលវាបានមកពី។ នៅលើដៃមួយ, វាជាការងាយស្រួលក្នុងការសរសេរកូដ។ ប៉ុន្តែនៅលើទៀត - វាគឺជាគ្រោះថ្នាក់សុវត្ថិភាព។ ដូច្នេះដើម្បីជៀសវាងកំហុសព្រមទាំងទិន្នន័យលាយនិងសារាចរត្រូវបានបិទ។

ឥឡូវចូរយើងមើលទៅមិន / លេខកូដសុវត្ថិភាពព្រមទាំងរបៀបក្នុងការរកឃើញករណីដែលជាកន្លែងដែលការប្រកាសអថេរកម្មវិធី PHP សកលនេះត្រូវបានអមដោយការប៉ុនប៉ងនៅរុះរើទិន្នន័យ។ នេះគឺជាការចាំបាច់ដើម្បីបង្កើតមិនត្រឹមតែស្រស់ស្អាតប៉ុន្តែតំបន់បណ្ដាញដែលមិនអាចប្រើបានបំបែកជាមនុស្សដំបូងដែលធ្វើការជាលំដាប់។

កូដព្យាបាទ

តោះយើងកំណត់អថេរដែលជាការពិតសម្រាប់អ្នកទាំងឡាយណាដែលត្រូវបានអនុញ្ញាត:

ប្រសិនបើការ (authenticate_user ()) {
$ អាជ្ញាធរ = ពិត;
}

ប្រសិនបើការ ($ Authority) {
រួមបញ្ចូល "/highly/sensitive/data.php";
}

នៅក្នុងរដ្ឋនេះ, អថេរអាចត្រូវបានកំណត់ដោយស្វ័យប្រវត្តិ។ ដោយពិចារណាថាទិន្នន័យនេះអាចត្រូវបានជំនួស, និងជាប្រភពនៃប្រភពដើមរបស់ពួកគេមិនត្រូវបានកំណត់, បន្ទាប់មកនរណាម្នាក់អាចឆ្លងផុតការធ្វើតេស្តនិងការបែបនេះដើម្បីឱ្យមាននរណាម្នាក់ធ្វើពុតផ្សេងទៀត។ ប្រសិនបើអ្នកចង់អ្នកវាយប្រហារ (ឬគ្រាន់តែជាមនុស្សចង់ដឹងចង់ឃើញប៉ុន្តែគ្មានបទពិសោធ) អាចត្រូវបានអន់ថយតក្ករបស់យើង។

ប្រសិនបើយើងផ្លាស់ប្តូរតម្លៃនៃសារាចរកូដនេះនឹងដំណើរការបានត្រឹមត្រូវ, ដូចដែលយើងបានទាមទារ។ ប៉ុន្តែការចាប់ផ្តើមនៃអថេរគឺមិនត្រឹមតែជាសម្លេងល្អនៅក្នុងកម្មវិធីនេះទេតែថែមទាំងផ្តល់ឱ្យយើងនូវការធានាមួយចំនួននៃស្ថេរភាពនៃស្គ្រីបនេះ។

កំណែកូដអាចជឿទុកចិត្តបាន

អ្នកអាចបិទឬធ្វើការណែនាំឬចេញវេជ្ជបញ្ជាកូដស្មុគស្មាញបន្ថែមទៀតដើម្បីសម្រេចបាននូវគោលដៅនេះ។ ឧទាហរណ៍ដូចនេះ:

ប្រសិនបើការ (isset ($ _ វគ្គទី [ 'ឈ្មោះអ្នកប្រើ'])) {

អេកូ "ជំរាបសួរ {$ _ វគ្គទី [ 'ឈ្មោះអ្នកប្រើ']} ";

} ទៀត {

អេកូ "ជំរាបសួរ ភ្ញៀវ
";
សូមបន្លឺ "អ្នកប្រើសូមស្វាគមន៍!";

}

ធ្វើឱ្យការជំនួសក្នុងករណីនេះវានឹងមានការលំបាក។ ប៉ុន្តែនៅតែមាន - អាចធ្វើទៅបាន។ ដើម្បីធ្វើដូចនេះអ្នកត្រូវតែយកចិត្តទុកដាក់ថាឧបករណ៍ការឆ្លើយតបយ៉ាងឆាប់រហ័សត្រូវបានផ្តល់។ ប្រសិនបើអ្នកចង់រួមបញ្ចូលអថេរសកលក្នុង PHP, អ្នកអាចប្រើឧបករណ៍ដូចខាងក្រោមនេះ: ប្រសិនបើយើងបានដឹងថាអ្វីដែលជួរជាតម្លៃទទួលបាននេះវាគឺអាចធ្វើបានដើម្បីចុះឈ្មោះស្គ្រីបដើម្បីពិនិត្យមើលរឿងនេះជាមួយនឹងការប្រកួតមួយ។ ជាការពិតណាស់វាមិនធានាការការពារពេញលេញប្រឆាំងនឹងតម្លៃជំនួស។ ប៉ុន្តែនោះជាជម្រើសច្រើនពេកយ៉ាងខ្លាំងស្មុគស្មាញ។

រកឃើញការព្យាយាមក្លែង

សូមមើលពីរបៀបដែលអ្នកយល់បានសរសេរមុន។ ក្នុង PHP អថេរសកលនៅក្នុងមុខងារដែលនឹងត្រូវបានផ្ដល់ខាងក្រោម, អ្នកនឹងត្រូវប្រកាសដោយខ្លួនឯង។ យើងអាចនិយាយបានថានេះគឺជាប្រភេទមួយនៃលំហាត់នៅលើ assimilation នៃប្រធានបទមេរៀននេះ។ ខាងក្រោមនេះគឺជាកូដនេះ:

ប្រសិនបើការ (isset ($ _ ខូគី [ 'C_COOKIE'])) {
} Elseif (isset ($ _ ទទួលបាន [ 'C_COOKIE']) || isset ($ _ ញៈ [ 'C_COOKIE'])) {

អ៊ីមែល ( "administrarot@example.com", "យកចិត្តទុកដាក់, ស្គ្រីបត្រូវបានកត់ត្រាទុកការប៉ុនប៉ងនៅចោរកម្មនិងរុះរើទិន្នន័យ", $ _SERVER [ 'REMOTE_ADDR']);
សូមបន្លឺ "មានសុវត្ថិភាពខូចគឺឬព្យាយាមដើម្បីធ្វើដូច្នេះបានជូនដំណឹងជាអ្នកគ្រប់គ្រងផងដែរ។ ";
ការចាកចេញ;

} ទៀត {
}
?>

ឥឡូវនេះពន្យល់ជាធរមាន។ មួយផ្នែក C_COOKIE មកដល់ពួកយើងពីប្រភពដែលអាចទុកចិត្តបាន។ ដើម្បីពេញចិត្តយ៉ាងពេញលេញបើយោងតាមលទ្ធផលដែលរំពឹងទុកយើងពិនិត្យមើលតម្លៃរបស់វានិងជូនដំណឹងដល់អ្នកគ្រប់គ្រងនៅក្នុងករណីនៃបញ្ហា។ ប្រសិនបើវាមិនមក, បន្ទាប់មកមិនមានសកម្មភាពអ្វីនិងមិនត្រូវការដើម្បីធ្វើឱ្យ។ អ្នកត្រូវតែយល់ថាគ្រាន់តែបិទ register_globals មិនសារាចរលេខកូដរបស់អ្នកគឺការធ្វើឱ្យសុវត្ថិភាព។ ដូច្នេះអថេរដែលទទួលបានការស្គ្រីបមួយពីអ្នកប្រើណាមួយគួរតែត្រូវបានធីកសម្រាប់តម្លៃដែលរំពឹងទុក។

សេចក្តីសន្និដ្ឋាន

នៅទីនេះនៅក្នុងទូទៅ, និងអ្វីគ្រប់យ៉ាងដែលអ្នកត្រូវដឹងអំពីអថេរសកលដើម្បីប្រើពួកវាជោគជ័យនិងសុវត្ថិភាពនៅក្នុងការងាររបស់ពួកគេ។ ជាការពិតណាស់ដើម្បីនិយាយថានៅទីនោះគឺជាការធានាពេញលេញថាគ្មាននរណាម្នាក់នឹងប្រើពួកវាមិនអាច - អ្នកវាយប្រហារត្រូវបានគេជានិច្ចប្រសើរឡើងនូវវិធីសាស្រ្តនិងជំនាញរបស់ពួកគេ។ ដូច្នេះវាជាការចង់បានដើម្បីកំណត់ការប្រើប្រាស់អតិបរមានៃអថេរសកលនៅក្នុងកូដ។ ជាសំណាងល្អ, រចនាសម្ព័ន្ធនិងការរចនាលក្ខណៈពិសេសនៃភាសាសរសេរកម្មវិធីនេះអាចសម្រេចបាននូវគោលដៅនេះ។ សូមសំណាងល្អ!

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 km.delachieve.com. Theme powered by WordPress.