আমার সুরক্ষার জন্য প্রয়োজনীয় সাধারণ ত্রুটিগুলি কী কী? [বন্ধ]


16

ওয়ানাবে ডাব্লুপি প্লাগইন ডেভেলপার হিসাবে, আমার সিকিউরিটি ত্রুটিগুলি / গর্তগুলি কীসের সন্ধান করা উচিত?

আমি একটি কনফিগারেশন প্যানেল (যেমন ইনপুট ক্ষেত্র এবং স্টাফ) দিয়ে একটি নতুন প্লাগইন তৈরি করতে চলেছি। আমার কী সম্পর্কে উদ্বিগ্ন হওয়া উচিত?

উদাহরণস্বরূপ, ডেটা স্যানিটাইজেশন / ডাব্লুপি-অ্যাডমিন / এরিয়ায় থাকাকালীন এত বড় কাজ? দূষিত কেউ সরাসরি আমার প্লাগইন পৃষ্ঠায় আঘাত করতে পারে এবং পোষ্ট অনুরোধ বা এর মতো কিছু পাঠাতে পারে?

ধন্যবাদ!

উত্তর:


16

থিমগুলি পর্যালোচনা করার জন্য ব্যবহৃত আমার বর্তমান (ওয়ার্ক-ইন-প্রগ্রেস) সেটিংস / ডেটা সুরক্ষা চেকলিস্টের উপর ভিত্তি করে এখানে একটি পরিবর্তিত চেকলিস্ট রয়েছে (থিমগুলির তুলনায় নীতিগুলি প্লাগিনগুলির চেয়ে আলাদা হওয়া উচিত নয়):

  1. প্লাগইনগুলিতে প্লাগইন-স্লাগ সহ সমস্ত বিকল্প, কাস্টম ফাংশন, কাস্টম ভেরিয়েবল এবং কাস্টম ধ্রুবকগুলির উপসর্গ করা উচিত।

  2. প্লাগইনগুলির প্লাগইন বিকল্প এবং প্লাগইন সেটিংস পৃষ্ঠাগুলি ইচ্ছাকৃতভাবে প্রয়োগ করা উচিত, ওয়েবসাইট টিউটোরিয়ালগুলি থেকে অনুলিপি করা যেমন কাস্ট-পেস্ট স্ক্রিপ্টগুলির উপর নির্ভর করে যেমন নীচে রয়েছে, যা পুরানো এবং সঠিক তথ্য সুরক্ষা অন্তর্ভুক্ত নয়:

  3. শীর্ষ স্তরের মেনু যুক্ত করার পরিবর্তে প্লাগইনগুলিতে add_options_page()প্লাগইন সেটিংস পৃষ্ঠাটি Settingsমেনুতে যুক্ত করতে ফাংশনটি ব্যবহার করা উচিত add_menu_page()

  4. প্লাগইনগুলির সেটিংস পৃষ্ঠা যুক্ত করার সক্ষমতাটির জন্য একটি উপযুক্ত দক্ষতা (উদাহরণস্বরূপ manage_options) ব্যবহার করা উচিত ।

  5. প্লাগইনগুলির সেটিংস পৃষ্ঠার জন্য একাধিক বিকল্প তৈরি করার পরিবর্তে একক অ্যারেতে বিকল্পগুলি সংরক্ষণ করা উচিত। সেটিংস এপিআই এর ব্যবহার (নীচে দেখুন) এটি পরিচালনা করবে।

  6. প্লাগইনগুলিতে সরাসরি ইনফরমেশন $_POSTএবং $_REQUESTডেটা নির্ভর করার পরিবর্তে ফর্ম ইনপুট ডেটা পেতে এবং সংরক্ষণ করতে সেটিংস এপিআই (নীচে দেখুন) ব্যবহার করা উচিত ।

  7. চেকবাক্সগুলি নির্বাচন বিকল্পের জন্য, প্লাগইন ব্যবহার করা উচিত checked()এবং selected()outputting জন্য ফাংশন checked="checked"এবং selected="selected"যথাক্রমে।

  8. প্লাগইনগুলির ডাটাবেসে ডেটা প্রবেশের আগে সমস্ত অবিশ্বস্ত ডেটা বৈধকরণ এবং স্যানিটাইজ করা উচিত এবং সেটিংস ফর্ম ক্ষেত্রগুলিতে আউটপুট হওয়ার আগে এবং থিম টেমপ্লেট ফাইলে আউটপুট হওয়ার আগে সমস্ত অবিশ্বস্ত ডেটা এড়ানো উচিত:

  9. প্লাগইনগুলি esc_attr()পাঠ্য ইনপুটগুলির জন্য এবং esc_html()(বা esc_textarea()ডাব্লুপি 3.1 এ) পাঠ্য পাঠের জন্য ব্যবহার করা উচিত ।

  10. প্লাগইনগুলি সেটিং এপিআই ব্যবহার না করে স্পষ্ট করে সেটিংস-পৃষ্ঠা ননস চেকিং সরবরাহ করতে হবে:

  11. এটিও সুপারিশ করা হয় যে প্লাগইন সেটিংস এপিআই ব্যবহার করুন যা ব্যবহার করা সহজ, আরও সুরক্ষিত এবং সেটিংস পৃষ্ঠাগুলির প্রচুর পরিশ্রমের যত্ন নেয়:

সেটিংস এপিআই ব্যবহার করার বিষয়ে একটি ভাল টিউটোরিয়ালের জন্য, দেখুন:

আপনি যদি কোনও সুরক্ষিত এবং দৃ -়ভাবে কোডেড থিম সেটিংস পৃষ্ঠা সহ কোনও থিমটি দেখতে চান তবে এই থিমটি দেখুন:
http://wordpress.org/extend/themes/coraline


এবং আমার যোগ করা উচিত: যদি কেউ তালিকা থেকে নিখোঁজ কিছু দেখতে পান তবে দয়া করে মন্তব্য করুন , যাতে আমি এটি চেকলিস্টে যুক্ত করতে পারি, থিমগুলির সুরক্ষা পর্যালোচনা উন্নত করতে সহায়তা করতে!
চিপ বেনেট

বাহ, দুর্দান্ত তালিকা, ধন্যবাদ। আমি ভাবছি যদি এই প্রশ্নটিকে একটি সম্প্রদায়ের উইকি তৈরি করা এবং এই পয়েন্টগুলির প্রত্যেকটির নিজের উত্তরকে আরও ভালভাবে আলোচনার জন্য এবং বিস্তৃত করার অনুমতি দেয়?
সুবর্ণ অ্যাপ্লস

আমি এটির সাথে ভাল থাকব, তবে মূল পোস্টারের প্রশ্নটি হাইজ্যাক করতে চাই না (যদি না স্ট্যাক এক্সচেঞ্জ এ জিনিসগুলি এভাবে করা হয় তবে আমি এখানে এখনও নতুন ...))
চিপ বেনেট

আমি হয় না ... এটি মডারেটরের বিবেচনার ভিত্তিতে ছেড়ে দিন, আমার ধারণা। এটি দেখে মনে হচ্ছে এটি একটি দুর্দান্ত উইকি প্রশ্ন তৈরি করবে, কারণ এর এত গুরুত্বপূর্ণ এবং সর্বোত্তম অনুশীলনগুলি এখনও কার্যকর হচ্ছে। @Rarst?
সুবর্ণ অ্যাপ্লস

আমি একটি নতুন প্রশ্ন তৈরি করতে পারে, প্রয়োজন হলে?
চিপ বেনেট

11

এই দুটি দিক আছে:

  1. মৌলিক নীতি.

    • ডাটাবেসে যা কিছু লেখা আছে তা এসকিউএল ইনজেকশনের জন্য পরীক্ষা করা উচিত।
    • স্ক্রিনে যা মুদ্রিত তা যাচাই করা উচিত যে এটি ক্ষতিকারক জাভাস্ক্রিপ্ট প্রিন্ট করে না।
    • যখনই কেউ কিছু করেন তবে এটি পরীক্ষা করা উচিত যে এটি করা তার উদ্দেশ্য এবং তার উপযুক্ত ক্ষমতা রয়েছে।
    • আরও অনেকগুলি বিষয় রয়েছে যা আপনি বা আমি কখনও যাচাই করার জন্য ভাবেন না।
  2. সুনির্দিষ্ট।

    • আধুনিক ওয়ার্ডপ্রেস সুরক্ষাকে গুরুত্ব সহকারে নেয় এবং এটি বিকাশকারীদের পক্ষে সহজ করে তোলার লক্ষ্য।
    • সুতরাং বেশিরভাগ কাজের জন্য আপনি ডাব্লুপিআই এপিআই দিয়ে এটি করার একটি উপায় সম্ভবত রয়েছে।
    • সুতরাং আপনি আপনার প্রথম পদক্ষেপটি যা কিছু করছেন তা হ'ল উপযুক্ত এপিআই জরিমানা এবং অধ্যয়ন করা।
    • আপনি আরও সাধারণ এবং সাধারণ কার্যকারিতা থেকে আরও জটিল জিনিসগুলি আপনার অধ্যয়ন এবং বাস্তবায়নের জন্য প্রয়োজন।

1
  1. যোগ defined('ABSPATH') or die('Access denied');প্রত্যেক প্লাগইন এর স্ক্রিপ্ট যা সরাসরি ওয়ার্ডপ্রেস দ্বারা ব্যবহৃত এ
  2. প্রতিটি ডিরেক্টরিতে খালি index.php ফাইল যুক্ত করুন
  3. নির্দিষ্ট প্লাগইনের ফাইলগুলিতে সরাসরি অ্যাক্সেস প্রতিরোধের জন্য প্রয়োজনীয় নির্দেশাবলী সহ প্লাগইন ডিরেক্টরিতে .htaccess যুক্ত করুন।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.