'পাসওয়ার্ড ক্ষেত্র খালি' ক্রোমে অটোফিল ব্যবহার করার সময় ত্রুটি


10

আমি যখন Chrome এ লগইন স্ক্রিনটি খুলি, ব্রাউজারটি স্বয়ংক্রিয়ভাবে আমার ব্যবহারকারী নাম এবং পাসওয়ার্ড দিয়ে ফর্মটি পূরণ করে। যাইহোক, আমি যখন সাবমিট বাটনটি টিপব তখন আমি নীচের বার্তাটি পাই:

ত্রুটি: পাসওয়ার্ড ক্ষেত্রটি খালি।

স্বতঃপূর্ণ পাসওয়ার্ডে একটি স্থান যুক্ত করা এবং এটি আবার সরানো আমাকে লগ ইন করার অনুমতি দেয় What's কী হচ্ছে?

উত্তর:


15

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

জেএস ফাংশনটি ক্ষেত্রটি সাফ করার আগে ক্রোম স্বয়ংক্রিয়ভাবে ব্যবহারকারীর নাম এবং পাসওয়ার্ড পূরণ করছে mill ক্ষেত্রগুলি আসলে খালি থাকলেও ক্রোম হলুদ বর্ণের ভরাট ক্ষেত্রগুলি প্রদর্শন করে সঠিকভাবে পরিবর্তনগুলি গ্রহণ করে না।

যদিও আমি অটোফোকাস কার্যকারিতাটির প্রশংসা করি, তবে ফর্মটি স্বয়ংক্রিয়ভাবে সাফ হয়ে যেতে চাইবে এমন কোনও ভাল কারণ আমি ভাবতে পারি না।

উৎস

দুঃখের বিষয়, ফাংশনটি wp-login.php913-930 (ওয়ার্ডপ্রেস 4.0) লাইনে হার্ডকোড করা হয়েছে । পরিবর্তন করা হচ্ছেwp-login.phpফাইলটি পুরোপুরি করা একটি খারাপ ধারণা, যেহেতু এটি কোনও আসন্ন ওয়ার্ডপ্রেস আপডেটে ওভাররাইট করা যেতে পারে। সুতরাং আমাদের কিছুটা 'হ্যাকিং' অবলম্বন করতে হবে।

সহজ ফিক্স

wp_attempt_focusযদি ফর্ম কোন ত্রুটি আছে ফাংশন বলা হয়। আমরা ভাগ্যে আছি - পিএইচপি এর মাধ্যমে ত্রুটি পরীক্ষা করা হয়। এর অর্থ আমরা ডাব্লুপি ক্রিয়া ব্যবহার করে সঠিক সময়ে কোনও ফর্ম ত্রুটি ফোকাস করে ফাংশনটি গুলি থেকে আটকাতে পারি। আমি login_formপদক্ষেপটি বেছে নিয়েছি কারণ জেএস কলের ঠিক আগে, ত্রুটি পরিচালনার পরে ক্রিয়াটি সর্বদা আগুনে ছড়িয়ে পড়ে । আপনার থিমের functions.php(বা প্লাগইন ফাইল) এ নিম্নলিখিত কোড যুক্ত করুন :

add_action("login_form", "kill_wp_attempt_focus");
function kill_wp_attempt_focus() {
    global $error;
    $error = TRUE;
}

হ্যাকিশ ফিক্স

উপরের ফিক্সটি পুরোপুরি ফায়ারিং থেকে ফাংশনটিকে বাধা দেয়, এর অর্থ আপনি যথাযথ অটোফোকাস পাবেন না। এর চারপাশে আরও একটি উপায় রয়েছে: এইচটিএমএল আউটপুটকে বাফার করা এবং গিক্লাবob_start দ্বারা অনুপ্রাণিত হয়ে এর মাধ্যমে এটিকে সংশোধন করা । বাফারিং আমাদের কোডের নির্দিষ্ট অংশগুলি সরাতে দেয় - এই ক্ষেত্রে, স্বতঃস্ফূর্ত অংশ । যদিও বাফারটি ফ্লাশ করতে ভুলবেন না।d.value = ''

add_action("login_form", "kill_wp_attempt_focus_start");
function kill_wp_attempt_focus_start() {
    ob_start("kill_wp_attempt_focus_replace");
}

function kill_wp_attempt_focus_replace($html) {
    return preg_replace("/d.value = '';/", "", $html);
}

add_action("login_footer", "kill_wp_attempt_focus_end");
function kill_wp_attempt_focus_end() {
    ob_end_flush();
}

2
বিশিষ্ট। এর জন্য একটি ফিক্স কোর প্রয়োগ করা উচিত। আমি ব্যবহারকারীদের দ্বারা অনেক মন্তব্য পেয়েছি যাদের এ নিয়ে সমস্যা রয়েছে। ফিক্স ভাগ করে নেওয়ার জন্য ধন্যবাদ।
ক্রিস্টিন কুপার

সমাধানের জন্য আপনাকে ধন্যবাদ। এছাড়াও মনে করুন এটি মূল হওয়া উচিত নয়।
থিয়াগোপন্টে

0

আমারও এই সমস্যা ছিল স্কট অ্যালেনের "WP-SpamShield" প্লাগইনটি বন্ধ করে দিয়ে সমস্ত কিছু আবার কাজ শুরু করে।


0

আমার পাসওয়ার্ডটি খালি / নাল ছিল তাই আমি এটিকে "1234" এর মতো অন্য কোনওটিতে পরিবর্তনের চেষ্টা করেছি। স্থান যুক্ত করা এবং এটি অপসারণ কার্যকর হয়নি জেএসকে অক্ষম করে না। এছাড়াও বিভিন্ন ব্রাউজার ব্যবহার করে দেখেছি এটি কি কেবল ক্রোমে রয়েছে?

আমি যা করেছি তা হ'ল আমি ডাটাবেসে পাসওয়ার্ড হ্যাশ পরিবর্তন করেছি এবং এটি কাজ করেছে। wp_users.user_pass

আমার ক্ষেত্রে পাসওয়ার্ড 1234বিক্রিপ্ট করা হিসাবে:$2a$06$x4lljZOw0Cfuj7jy6qsdp./iX34gaDUMXQIQob4VIHLXQ5yI92RjC

http://bcrypthashgenerator.apphb.com/?PlainText=1234

ভাবমূর্তি

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