WPINC এবং ABSPATH এর মধ্যে পার্থক্যগুলি কী কী?


34

প্লাগইন বিকাশকারীদের তাদের প্লাগইনগুলি সরাসরি অ্যাক্সেস থেকে রক্ষা করা সাধারণ। আমি এটি করার দুটি উপায় দেখেছি:

if ( ! defined( 'WPINC' ) ) die;

এবং

if ( ! defined( 'ABSPATH' ) ) exit;

WPINC এবং ABSPATH এর মধ্যে পার্থক্যগুলি কী কী? কোনটি এটি করার সঠিক 'উপায়'?

উত্তর:


19

তারা নিম্নলিখিত হিসাবে সংজ্ঞায়িত করা হয়:

define( 'ABSPATH', dirname(dirname(__FILE__)) . '/' );
define( 'WPINC', 'wp-includes' );

dirnameএটি একটি পিএইচপি ফাংশন যা পিতামাতার ডিরেক্টরিটির পথ ফেরায়, এবং wp-includesএটি বেশ স্ব-বর্ণনামূলক।

আমি বলব ABSPATHএটি আরও ভাল কারণ এটি ডাব্লুপি প্রথম লোডগুলির মধ্যে অন্যতম এবং এটি আরও ভাল দেখায় :) তবে সত্যিকারের কোনও "সঠিক উপায়" নেই কারণ তারা উভয়েই কাজ করে।


4
সত্যিকারের কোনও সঠিক উপায় নেই, এবং আমি সর্বদা ব্যবহার করি if ( ! defined( 'ABSPATH' ) ) exit;... তবে, সম্ভবত, বিবেচনা করুন যে এই স্নিপেটের সুযোগটি নিশ্চিত করেছে যে ওয়ার্ডপ্রেস 'ডাব্লুপিআইএনসি' লোড হয়েছে এটি আরও ভাল কারণ 'ডাব্লুপি' দিয়ে আরও ওয়ার্ডপ্রেসফুল স্টারিং রয়েছে ।
গাজাজ্যাপ

4

if ( ! defined( 'WPINC' ) ) die;এবং if ( ! defined( 'ABSPATH' ) ) exit;আপনার প্লাগইন ফাইলে সরাসরি অ্যাক্সেস রোধ করে সুরক্ষার অতিরিক্ত স্তর যুক্ত করুন। ABSPATHএটি একটি মূলত ওয়ার্ডপ্রেস দ্বারা সংজ্ঞায়িত একটি পিএইচপি ধ্রুবক।

যদি আপনার প্লাগইন ফাইলটি ওয়ার্ডপ্রেসের বাইরে থেকে অ্যাক্সেস করা হয় তবে ধ্রুবক ABSPATHবা WPINCসংজ্ঞায়িত করা হবে না, সুতরাং এটি আপনার কোডে কোনও অননুমোদিত অ্যাক্সেসকে আটকাবে, প্লাগইন কোডটি থেকে বেরিয়ে যায়।

ABSPATHএবং WPINCওয়ার্ডপ্রেস কোর হিসাবে এটি সংজ্ঞায়িত করা হয়:

define( 'ABSPATH', dirname(dirname(__FILE__)) . '/' );
define( 'WPINC', 'wp-includes' );

উভয়ই একই উদ্দেশ্যে ব্যবহৃত হয়।


1

WPINC এবং ABSPATH এর মধ্যে পার্থক্যগুলি কী কী?

আপনি নিজে যাচাই করতে পারেন। গিটহাবের ওয়ার্ডপ্রেস আয়নাতে কেবল তাকানwp-load.php

এমনকি একটি তাত্ক্ষণিক নজরে দেখানো হবে যে বর্তমানে নির্বাচিত উত্তর কীভাবে ABSPATHসংজ্ঞায়িত হয়েছে তা সঠিক নয় । এবং আপনি যদি গিটহাবের বিভিন্ন ট্যাগের সাথে তুলনা করেন আপনি ABSPATHসংজ্ঞা দেখতে পাবেন আসলে সময়ের সাথে সাথে পরিবর্তন হয়।

কোনটি এটি করার সঠিক 'উপায়'?

এগুলি সুরক্ষার জন্য ব্যবহৃত হয়, আমি যেতে চাই ABSPATH। যুক্তিযুক্ত অস্তিত্ব যা ABSPATHকেবলমাত্র ডাব্লুপি বুটস্ট্র্যাপারে প্রথম WPINCসংজ্ঞায়িত করা হয় না, একই ফাইলটিতে শর্তাধীন হিসাবে সংজ্ঞায়িত করা হয় এবং ফলস্বরূপ, ভবিষ্যতের প্রতিরোধের সম্ভাবনা বেশি থাকে।

এছাড়াও, যখন স্পষ্টভাবে জিজ্ঞাসা করা হয়নি, আপনি dieএবং উভয় ব্যবহার করে উদাহরণ সরবরাহ করেছেন exit। অনুসারে devdocs.io, যা অফিসিয়াল এপিআই ডকুমেন্টেশনের উপর অঙ্কিত, dieএর সমতুল্য exit, তাই আপনি দু'জনের যে কোনও একটি চয়ন করতে পারেন এবং এটি কোনও পার্থক্য করবে না।

উভয়ই আর্গুমেন্ট গ্রহণ dieএবং exitগ্রহণ করে, যাতে আপনি কিছু দরকারী তথ্য যেমন, কোনও এনক্রিপ্ট করা সংস্করণ ট্যাগ বা যোগাযোগের তথ্য, অবতরণ করার পরে, বা একটি প্রস্থান কোড যেমন পাস করা 0বা -1পরবর্তী প্রক্রিয়াজাতকরণের জন্য আউটপুট করতে তাদের বিবেচনা করতে পারেন ।

এছাড়াও লক্ষণীয় মূল্য যে wp_dieএটি একটি জিনিস। পিএইচপি বিল্ট-ইনগুলির সাথে বিভ্রান্ত হওয়ার দরকার নেই, তবে সরল পাঠ্য ছাড়াও এইচটিএমএল আউটপুট ব্যবহারের জন্য তাদের প্রশংসা করে এবং বর্তমানে ওয়ার্ডপ্রেস কোর জুড়ে উদারভাবে ব্যবহৃত হয়। WordPress.org.org সম্পর্কে আরওwp_die জানুন ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.