প্রশাসক নিয়ন্ত্রকগুলিতে সর্বজনীন ক্রিয়াকলাপ


12

আমি আবিষ্কার করেছি যে ক্লাসে \Magento\Backend\App\AbstractAction(প্রতিটি অ্যাডমিন কন্ট্রোলার অ্যাকশনের পূর্বপুরুষ) এমন একজন সদস্য আছেন যাকে _publicActionsগোপন কীটির বৈধতা হিসাবে এভাবে ব্যবহার করা হয়:

 if (is_array($this->_publicActions) && in_array($this->getRequest()->getActionName(), $this->_publicActions)) {
     return true;
 }

এর অর্থ হ'ল যদি কোনও নির্দিষ্ট ক্রিয়াকলাপের নাম তালিকাভুক্ত হয় তবে _publicActionsআপনি url এর গোপন কী ছাড়াই অ্যাকশনটি অ্যাক্সেস করতে পারবেন।
এটি বিকাশ এবং ডিবাগিংয়ের জন্য আশীর্বাদ, কারণ আপনি ROOT/admin/module/controller/actionগোপন অ্যাডমিন কী না জেনে ম্যানুয়ালি মতো এটি করতে পারেন তবে আমি যা বুঝতে পারি না তা কেন আমি গোপন কী ছাড়া পণ্য সম্পাদনা পৃষ্ঠাতে অ্যাক্সেস করতে পারি।
কেবল যেকোন পণ্য সম্পাদনা পৃষ্ঠাতে কল করুন ROOT/admin/catalog/product/edit/id/{product_id_here}

publicActionsসদস্য পণ্যে (সম্পাদনা) ও পুনঃনির্দেশ জন্য পুনর্নির্দেশ নিয়ামক মধ্যে, অর্ডার (যে সূচক এবং দেখুন অনুমতি) জন্য ওভাররাইট করা হয়।

এখন আমার প্রশ্ন:
কেন গোপন কী ব্যতীত শুধুমাত্র কিছু সম্পাদনা ক্রিয়াকলাপ অনুমোদিত এবং গোপন কী ছাড়া আমার কাস্টম সিআরইউডি মডিউলগুলিতে কখন / আমার অনুমতি দেওয়া উচিত?

উত্তর:


4

আমি এই বিষয়ে কোনও ম্যাজেন্টো ইঞ্জিনিয়ারের কাছ থেকে কোনও সরকারী উত্তর কখনও দেখিনি, তবে আমার কাছে সর্বদা এটি উপস্থিত হয়েছিল যে আপনি যখন ব্যবহারকারীদের কোনও সুরক্ষিত সেশনের বাইরে থেকে কোনও পৃষ্ঠায় লিঙ্ক করতে সক্ষম হবেন তখন এই বৈশিষ্ট্যটি ব্যবহার করা হবে, অন্যথায় ক্লিক করুন সুরক্ষিত অ্যাডমিন ইউআরএলকে উল্লেখ করে একটি লিঙ্ক আপনাকে লগ ইন করার অনুরোধ জানালে কেবল আপনাকে ড্যাশবোর্ডে পুনর্নির্দেশ করবে।

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

আপনি যখন ম্যাজেন্টো কোরটি দেখেন তখন দেখতে পাবেন যে ম্যাজেন্টো মূলত পর্যালোচনা, আদেশ এবং পণ্য পৃষ্ঠাগুলির জন্য এটি প্রয়োগ করেছে। আমি মনে করি ম্যাজেন্টো ইঞ্জিনিয়াররা এটি করেছে যাতে কোনও স্টোরের অ্যাডমিন ব্যবহারকারীরা সরাসরি কোনও মেসেঞ্জার বা ইমেলের মাধ্যমে লিঙ্কগুলি প্রেরণ করতে সক্ষম হন (যেমন "আরে, এই ক্রমটি দেখুন: [url] ।")। আমি একবার পৃষ্ঠার জন্য এর মতো বৈশিষ্ট্যটি প্রয়োগ করেছি যখন আমি এটি অ্যাডমিন ব্যবহারকারীদের দ্বারা সহজেই ভাগ করে নেওয়া যায়।

আপনি মূলত আপনার অ্যাডমিনের ব্যাক-এন্ডের কোনও পৃষ্ঠায় সরাসরি লিঙ্ক করতে সক্ষম হবার স্বাধীনতার জন্য সিএসআরএফ আক্রমণের বর্ধিত ঝুঁকিকে ট্রেড করছেন, যা কেবল তখনই করা উচিত যখন আপনি খুব নির্দিষ্ট ব্যবহারের বিষয়টি মনে রাখবেন। আমি মনে করি যে সিএমএস পৃষ্ঠাগুলি ম্যাজেন্টো কোর দলের জন্য ব্যবহারের ক্ষেত্রে পড়ে না কারণ তারা মনে করেছিল যে তারা এই "বৈশিষ্ট্যটি" গ্রাহক সমর্থন এবং পণ্য সম্পাদনা সম্পর্কিত ক্রিয়াকলাপের মধ্যে সীমাবদ্ধ রেখেছেন - মূলত গ্রাহকসেবা প্রতিনিধিদের জন্য অনেকগুলি সাধারণ কাজ দোকানে।


এইবার বুঝতে পারছি. +1 যদি আমি পরবর্তী 24 ঘন্টা কোনও টিমের সদস্যের কাছ থেকে কোনও অফিসিয়াল উত্তর (এটির চেয়ে আলাদা) না শুনি তবে চেকমার্কটি আপনার।
Marius

0

যদি আমার কোনও অনুমান নিতে হয় তবে আমি বলব কারণ এটি গোপন কীটি সিএসআরএফ এবং / অথবা এক্সএসএস সুরক্ষার অংশ হিসাবে ব্যবহৃত হতে পারে ম্যাজেন্টোতে অন্তর্নির্মিত। সুতরাং যে পৃষ্ঠাগুলি ব্যবহারকারীর ইনপুট এর উপর ভিত্তি করে এর সামগ্রী পরিবর্তন করে না, সেখানে গোপন কী থাকা প্রয়োজন হতে পারে না।

অন্যভাবে বলা হয়েছে, কেবল ব্যবহারকারীরা সরবরাহ করা ডেটা / ইনপুট গ্রহণকারী ক্রিয়াগুলি কোনও গোপন কী দ্বারা সুরক্ষিত থাকে। শুধু অনুমান।


যদি এটি সত্য হয় তবে একটি সিএমএস পৃষ্ঠা সম্পাদনা করাও "সর্বজনীন" হওয়া উচিত। সুতরাং গ্রাহক বা করের নিয়ম সম্পাদনা করা উচিত।
Marius

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