লগআউট: GET না পোস্ট?


434

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

বাস্তববাদী হিসাবে, আমি জিইটি ব্যবহার করতে আগ্রহী, কারণ এটি বাস্তবায়ন করা পোস্টের চেয়ে সহজতর; কেবল একটি সাধারণ লিঙ্ক ফেলে দিন এবং আপনার কাজ শেষ। কমপক্ষে আমার মাথার শীর্ষ থেকে, আমি ভাবতে পারি এমন বেশিরভাগ ওয়েবসাইটের ক্ষেত্রে এটিই মনে হচ্ছে। এমনকি স্ট্যাক ওভারফ্লো জিইটি দিয়ে লগ আউট পরিচালনা করে।

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

আমি এ পর্যন্ত যা পড়েছি তার সবকটিই পরামর্শ দেয় যে POST "ধ্বংসাত্মক ক্রিয়াকলাপ" এর জন্য ব্যবহার করা উচিত, অন্যদিকে যেসব ক্রিয়াকলাপগুলি অ্যাপ্লিকেশনের অভ্যন্তরীণ অবস্থার পরিবর্তিত হয় না - যেমন জিইটির সাথে পরিচালনা করা উচিত । এর ভিত্তিতে, এখানে আসল প্রশ্নটি হ'ল:

কোনও অ্যাপ্লিকেশন থেকে লগ আউট করা কি ধ্বংসাত্মক ক্রিয়া হিসাবে বিবেচিত হয় / এটি কি অ্যাপ্লিকেশনটির অভ্যন্তরীণ অবস্থাকে পরিবর্তন করে?


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

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

যে কোনও এক্সিলারেটর স্বয়ংক্রিয়ভাবে একটি ফর্ম জমা দেয় (উদাহরণস্বরূপ) তা ম্যালওয়্যার আইএমও হবে ... এটি তাত্পর্যপূর্ণভাবে যুক্তিযুক্ত যে কোনও এক্সিলারেটর স্বয়ংক্রিয়ভাবে একটি ফর্ম জমা দেবে think আপনি গুগল পরিদর্শন কল্পনা। এটি কীভাবে অনুসন্ধান ফর্মটি জমা দিতে পারে? কেউ ম্যালওয়ারের জন্য অ্যাকাউন্ট করতে পারবেন না কারণ এটি অত্যধিক অনুমানযোগ্য এবং নিয়মগুলি অনুসরণ করে না।
অ্যালেক্স

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

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

উত্তর:


475

ব্যবহার POST

২০১০ সালে, GETসম্ভবত সম্ভবত একটি গ্রহণযোগ্য উত্তর ছিল। তবে আজ (২০১৩ সালে), ব্রাউজারগুলি পৃষ্ঠাগুলি প্রি-আনবে যা তারা "ভেবে দেখে" আপনি পরের পরিদর্শন করবেন।

টুইটারে এই সমস্যাটির বিষয়ে কথা বলার জন্য এখানে স্ট্যাক ওভারফ্লো বিকাশকারীদের মধ্যে একটি রয়েছে:

একটি জিইটি অনুরোধ লগ অফ করার জন্য আমি আমার ব্যাংক এবং ক্রেডিট টিমকে ইউআরএল প্রিফেচিংয়ের জন্য ধন্যবাদ জানাতে চাই - নিক ক্র্যাভার ( @ নিক_ক্র্যাভার ) ২৯ শে জানুয়ারী, ২০১৩

মজাদার ঘটনা: স্ট্যাকওভারফ্লো জিইটি-র মাধ্যমে লগ-আউট পরিচালনা করতে ব্যবহৃত হয়েছিল, তবে আর নয়।


2
এই আপডেটের জন্য ধন্যবাদ, ডেভ। এমনকি আমি খেয়ালও করতে পারি নি যে এসইও তাদের লগ আউট পোস্টে সরিয়ে নিয়েছে, এবং আমার আন্তরিকতার সাথে কোনও চিহ্ন ছিল না যে ক্রোম অন্তর্নির্মিত প্রাক-আনার সাথে আসে Finally পরিশেষে, আপনি যে দম্পতিটি উদ্ধৃত করেছিলেন তা আমার সমস্যার মধ্যে বর্ণিত সমস্যাটির পক্ষে এর চেয়ে ভাল উদাহরণ কখনই উপস্থাপন করতে পারে নি my আমার প্রশ্ন এবং আমার সন্দেহের সত্যতা নিশ্চিত করে। আমি আপনার উত্তরটি ভোটাভুটি করছি এবং এটি গ্রহণযোগ্য উত্তর করছি making
ড্যানিয়েল লিউজি

4
আমার ব্রাউজারে, স্ট্যাকওভারফ্লো লগআউটটি মনে হচ্ছে <li> <a href="https://stackoverflow.com/users/logout"> লগ আউট </a> </li> যা একটি জিইটি, কোনও পোস্ট নয়
নৌকা কোডার

9
@ মার্ক0978, লিঙ্কটি ক্লিক করুন।
ডেভিড মারডোক

2
মজাদার. এটি সম্ভবত আমার সবচেয়ে প্রিয় বৈশিষ্ট্যগুলির মধ্যে একটি, একটি লগআউট যা আমাকে জিজ্ঞাসা করে যে আমি নিশ্চিত কিনা। অনুমান করুন এটি আপনাকে লগ আউট করা থেকে প্রেফাকে ধরে রেখেছে, তবে অ্যামাজন, ইবে, এবং জিমেইল সকলেই লগ আউট এবং আসল লগআউট ইভেন্টের মধ্যে ব্যবহারকারীকে যা বলা হবে তা ট্রিক পৃষ্ঠা ছাড়া লগআউটের জন্য জিইটি ব্যবহার করে। আমি কল্পনা করব যে পৃষ্ঠার মধ্যে অনেক লোক ভুল করে বিশ্বাস করে যে তারা লগ আউট হয়েছে। এসও-তে সমস্যাগুলি হ'ল ন্যূনতম, কোনও অর্থের সাথে জড়িত নেই, এবং সবকিছুর 99% যেভাবেই প্রকাশ্য।
নৌকা কোডার

7
@ রেড এইচটিটিপি / ১.১ মান অনুসারে, এটি সার্ভারের দোষ, ব্রাউজারের নয়। GET এর সার্ভার সাইডে কোনও পার্শ্ব প্রতিক্রিয়া নেই বলে আশা করা হচ্ছে। স্ট্যান্ডার্ড এমনকি বলে যে "ব্যবহারকারী পার্শ্ব প্রতিক্রিয়াগুলির জন্য অনুরোধ করেননি, সুতরাং তাদের জন্য দায়বদ্ধ হতে পারে না"।
আইয়ুয়েল

45

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

আপনি যা সত্যিই জিজ্ঞাসা করছেন তা হ'ল ব্রাউজারের প্রতিটি অনুরোধে প্রমাণীকরণের তথ্য প্রেরণ করা চালানো উচিত।

যুক্তিযুক্তভাবে, যদি আপনার অ্যাপ্লিকেশনটি লগ ইন করার মায়াজাল তৈরি করে, তবে আপনার জাভাস্ক্রিপ্ট ব্যবহার করে "লগ আউট" করতে সক্ষম হওয়া উচিত। কোনও রাউন্ড ট্রিপের প্রয়োজন নেই।


ফিল্ডিং গবেষণামূলক - বিভাগ 5.1.3

ক্লায়েন্ট থেকে সার্ভারের প্রতিটি অনুরোধে অনুরোধটি বোঝার জন্য প্রয়োজনীয় সমস্ত তথ্য থাকতে হবে এবং সার্ভারে কোনও সঞ্চিত প্রসঙ্গের সুবিধা নিতে পারবেন না। সেশন স্টেটটি তাই ক্লায়েন্টের উপর পুরোপুরি রাখা হয়


1
আমি আসলে এই সম্পর্কে সচেতন ছিল না। তারপরে আমি অনুমান করি যে আমার অ্যাপটি একেবারেই বিশ্রামের মতো হবে না, কারণ আমি ফর্মসৌষ্ঠিকতার সাথে এএসপি.নেট এমভিসি ব্যবহার করছি এবং এটি সেশনের উপর নির্ভর করে ...
ড্যানিয়েল লিউজি

19
তবে অনুশীলনে লগইন তথ্যটি httponlyকিছু এক্সএসএস ঝুঁকি প্রতিরোধের জন্য বৈশিষ্ট্যযুক্ত চিহ্নিত একটি কুকিতে রাখা হয় , যার অর্থ এটি কেবল সার্ভার থেকে পুনরায় সেট করা যায় (ম্যানুয়ালি কুকি সাফ করার সংক্ষিপ্ত)
রিমাস রুসানু

6
ব্যবহারকারীর মতো 'ম্যানুয়াল' ব্রাউজার সেটিংসে যায় এবং 'সাফ কুকিজ সাফ করুন' বিকল্পটি বেছে নেয়। কোনও ওয়েবসাইটকে 'লগ-অফ' করার পক্ষে কোনও গ্রহণযোগ্য উপায়।
রেমাস রুসানু

1
@ রেমাস আহ, কীভাবে প্রশংসিত ওয়েব ব্রাউজার ওয়েব অ্যাপ্লিকেশনগুলি লিখতে এত বেদনাদায়ক করে তোলে।
ডারেল মিলার

1
@ ড্যারেল মিলার হ্যাঁ তবে সার্ভারের পাশের জেডাব্লুটিটি প্রত্যাখ্যান না করা একটি সুরক্ষা দুর্বলতা। এমনকি টোকেনগুলি সার্ভারে সঞ্চয় না করা থাকলেও, ব্যবহারকারীরা অপব্যবহার রোধ করতে লগ আউট / পাসওয়ার্ড পরিবর্তন / রোল / সুইট / ইত্যাদি লগ আউট করার সময় তাদের কালো তালিকাভুক্ত করা উচিত at
java-addict301

38

এখানে একটি উপায় আপত্তিজনক GETহতে পারে যে কোনও ব্যক্তি (প্রতিযোগী সম্ভবত :) ইন্টারনেটে যে কোনও চিত্রের ছবি src="<your logout link>"রেখেছিল এবং যদি আপনার সাইটের কোনও ব্যবহারকারী সেই পৃষ্ঠাটিতে হোঁচট খায় তবে সে অজান্তেই লগ আউট হয়ে যাবে।


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

4
বাহ, আমি কখনই তা ভেবে দেখিনি! সুতরাং সেখানে, জিইটি ব্যবহার না করার আরেকটি কারণ এবং অন্য কারণ আমি কেন বুঝতে পারি না কেন এটি করা হয়। ধুর, এখন আমি আমার পোস্টকেও একটি স্ট্যাকওভারফ্লো / ইউজারস / ব্লগআউট "চিত্র" অন্তর্ভুক্ত করতে প্ররোচিত এবং কী ঘটে তা দেখুন :
ড্যানিয়েল লিউজি

24
src = এটি একটি সাধারণ ব্রাউজারের অনুরোধ, এটি সার্ভার দিক থেকে আসে না, তবে ক্লায়েন্টের কাছ থেকে আসে। এটি সমস্ত কুকি বহন করে এবং ব্যবহারকারী আইপি থেকে আসে। এজন্য বিজ্ঞাপন ট্র্যাকিং পিক্সেল কাজ করে। এই জাতীয় শোষণ নির্ধারণের একমাত্র উপায় হ'ল রেফারারকে পরীক্ষা করা।
রাভেরেন

12
সুপারলগআউট ডট কম ঠিক তা করে ( /logoutলুকানো চিত্রগুলিতে ইউআরএলগুলি লোড করে) এবং এটি কার্যকর করে।
ড্যান ড্যাসক্লেস্কু

9
পুনরায়: সুপারলগআউট ... আমি কেন এটি ক্লিক করেছি জানি না।
এমআই রাইট

21

সঠিক হতে, জিইটি / পোষ্ট (বা অন্যান্য ক্রিয়া) কিছু সংস্থার (ইউআরএল দ্বারা সম্বোধন) এর ক্রিয়া - তাই এটি সাধারণত সংস্থার রাজ্য সম্পর্কে এবং না যেমন অ্যাপ্লিকেশন রাষ্ট্র সম্পর্কে। সুতরাং সত্য প্রফুল্লতাতে, আপনার মতো একটি ইউআরএল থাকা উচিত [host name]\[user name]\session, তারপরে 'মোছা' লগ আউট অ্যাকশনটির সঠিক ক্রিয়া হবে।

ব্যবহার [host name]\bla bla\logoutনা সত্যিই একটি বিশ্রাম পূর্ণ উপায় (আইএমও) মধ্যে URL হিসেবে কেন তাহলে GET / পোস্ট এটি সঠিক ব্যবহার সম্পর্কে বিতর্ক?

অবশ্যই, আমি আমার অ্যাপ্লিকেশনগুলিতে একটি লগআউট url এ জিইটিও ব্যবহার করি :-)


2
সেক্ষেত্রে আমি তর্ক করব যে ইউআরএল-এ [ব্যবহারকারীর নাম] অংশ থাকা অপ্রয়োজনীয় বলে মনে হয়, কারণ ব্যবহারকারীরা সর্বদা তাদের নিজস্ব অধিবেশন থেকে (যেমন ডিলিট) লগআউট করেন ; অন্যান্য ব্যবহারকারীর ':-)
ড্যানিয়েল লিউউজি

1
আসলেই নয় - আমরা বলছি যে সেশনটি একটি সংস্থান এবং আমরা এটি মুছতে চাই। সুতরাং যে কোনও অধিবেশনকে সমানভাবে সম্বোধনের জন্য, আপনার ইউআরএল এর অংশ হিসাবে ব্যবহারকারীর নাম থাকা দরকার। আপনার যুক্তিটি [ফটো গ্যালারী] এর উপর পুট অ্যাকশন জারির মতোই ভাল \ ছবিগুলির অর্থ আপনি আপনার ছবিতে যুক্ত করছেন ([ফটো গ্যালারী] available [ব্যবহারকারীর নাম]। ছবিগুলিতে উপলব্ধ)। বিভিন্ন সংস্থানগুলিকে স্পষ্টভাবে সম্বোধন করতে হবে, এর মধ্যে কোনও ছদ্মবেশী হতে পারে না। সাইটটি অন্য ব্যবহারকারীদের আপনার গ্যালারীটিতে ছবি যুক্ত করার অনুমতি দিতে পারে - এটি আপনার অ্যাক্সেস নিয়ন্ত্রণের একটি অংশ যেমন কোনও সুপার ব্যবহারকারী যেমন কারও সেশনকে হত্যা করতে পারে।
বিনয়সি

1
দার্শনিকভাবে বলতে গেলে, আপনি সেশন এবং ফটোগুলিকে 'রিসোর্স' বলতে পারেন, কিন্তু বাস্তবে আমি তাদের সাথে একই ব্যবহার করব না। সেশনটি সর্বদা অভ্যন্তরীণভাবে বর্তমান ব্যবহারকারীর মধ্যে সীমাবদ্ধ থাকে (অতএব নামটি সেশন) এবং কমপক্ষে এএসপি.নেটে, অন্য ব্যবহারকারীর সেশন অ্যাক্সেস করার কোনও উপায় নেই। এমনকি অ্যাপ্লিকেশন বিকাশকারীদের সমস্ত সক্রিয় অধিবেশন গণনা করার সরাসরি উপায় নেই, বা পৃথকভাবে সেশনগুলি হত্যা করার উপায় রয়েছে। আপনি সমস্ত সেশন (ইনপ্রোক) হত্যার জন্য অ্যাপ্লিকেশনটি পুনরায় চালু করতে পারেন, তবে আমি সেই অ্যাক্সেস নিয়ন্ত্রণকে কল করব না। ইউআরএলগুলি বাদ দিয়ে, এখনও প্রশ্নটি রয়ে গেছে: GET বা পোস্ট করুন?
ড্যানিয়েল লিউজি

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

এটি আমার পক্ষে সর্বাধিক জ্ঞান অর্জন করে। ওয়েব এপিআইকে একটি সেশনের রুট দিন এবং এতে ডিলিট কল করুন। তা হোন .. / মূল্যায়ন বা .. / মূল্যায়ন / বর্তমান। থ্যাঙ্কস @ ভিনায়সি
সাইমন হুপার

16

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


মজাদার; আমি কখনই এটিকে নিয়ে ভাবিনি। +1 টি।
স্টারগার

এটি অনুগ্রহ করে অ্যাপ্লিকেশনটির উপর নির্ভর করতে পারে (কিছু ধরণের "ক্যাসকেডিং মুছা" আচরণ), তবে আপনি ঠিক বলেছেন।
অ্যান্ড্রেস জান ট্যাক

@ জোয়েলথেরটন আপনাকে জোয়েলকে ধন্যবাদ জানায়, আমি উত্তরগুলি যখন আমি ডানটি পেতে পারি তখন ভেবে ভেবেছিলাম। :)
কিরিল ফুচস

4
এটি বিভ্রান্তিকর কারণ লগআউট অবস্থা পরিবর্তন করে। রাষ্ট্র পরিবর্তন করার জন্য ক্রিয়াপদ P জিইটি স্টেটলেস ডেটা পাওয়ার জন্য। এটি বিভ্রান্তিকর কারণ আমরা আশা করি পোস্টের অনুরোধগুলি পে-লোডের জন্য রয়েছে। নীচে উল্লিখিত হিসাবে, মোছা একটি সেশন অবজেক্টে সবচেয়ে সঠিক হবে।
মাইকেল কোল

1
@ মিশেলকোল: আমি পোষ্ট এবং জিইটি-র মধ্যে যে অসুবিধা রয়েছে তার প্রতিনিধিত্বের সাথে একমত হই। যদিও আমি মুছে ফেলুন ক্রিয়াটি ব্যবহারের সাথে একমত হব না। মোছা কোনও সংস্থান হ্যান্ডল করার জন্য, এবং সেশনটি এই অর্থে কোনও সংস্থান নয়। বিবেচনা করুন, আপনি যদি এটি মুছে ফেলতে পারেন তবে আপনার এটিও রাখা উচিত।
জোয়েল ইথারটন

16

আমার দৃষ্টিতে হ্যালো, আপনি লগইন করার সময় আপনি ব্যবহারকারীর নাম / পাসওয়ার্ড চেক করেন এবং এর সাথে মেলে যদি আপনি লগইন টোকেন তৈরি করেন।

ক্রেট টোকেন => পদ্ধতি পোস্ট

আপনি যখন লগ আউট করছেন আপনি টোকেনটিকে ঘৃণা করছেন তাই আমার কাছে সবচেয়ে যুক্তিযুক্ত পদ্ধতিটি মুছে ফেলা উচিত

টোকেন মোছা => পদ্ধতি মোছা


4
আকর্ষণীয় কোণ।
ড্রামবেগ

1
আমি আমার স্প্রিং বুট আরএসটি অ্যাপ্লিকেশনগুলিতে সেই পদ্ধতিটি ব্যবহার করি।
করে_ডন্ট_বুলি_মে_স_ও_লর্ডস

1
শব্দার্থগতভাবে সঠিক। আমি সম্মত ...
ডাগ

1

প্রাক-ক্যাশিংয়ের দৃশ্যটি একটি আকর্ষণীয়। তবে আমি অনুমান করছি যে প্রচুর সাইটগুলি যদি SO এর বিষয়ে চিন্তা না করে তবে আপনার উচিত হয় না।

অথবা লিঙ্কটি জাভাস্ক্রিপ্টে প্রয়োগ করা যেতে পারে?

সম্পাদনা: আমি যেমন এটি বুঝতে পারি, প্রযুক্তিগতভাবে একটি জিইটি হ'ল কেবল পঠন অনুরোধের জন্য হওয়া উচিত, যা অ্যাপ্লিকেশনের স্থিতি পরিবর্তন করে না। রাষ্ট্রের পরিবর্তনের অনুরোধগুলি লেখার / সম্পাদনের জন্য একটি পোস্ট থাকতে হবে তবে অন্যান্য অ্যাপ্লিকেশন সমস্যাগুলি কিছু রাষ্ট্র পরিবর্তন করার অনুরোধের জন্য পোষ্টের চেয়ে জিইটি পছন্দ করতে পারে এবং আমি মনে করি না যে এতে কোনও সমস্যা আছে।


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

0

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


আপনি কি "লগ আউট স্ক্রিপ্ট" ব্যাখ্যা করতে পারেন? আমি নিশ্চিত না আপনি কুকির মেয়াদোত্তীর্ণ সেট করার কথা উল্লেখ করছেন (যা ব্যবহারকারীদের ম্যানুয়ালি লগআউট দেওয়ার কোনও
উপায়ের

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

1
হ্যাঁ, আমি এখন আপনাকে পেতে। আমি ইতিমধ্যে FormsAuthentication.SignOut () জায়গায় স্ক্রিপ্ট আছে, বিশেষভাবে, কিন্তু আমার প্রশ্ন সম্পর্কে কিভাবে , স্ক্রিপ্ট ডাকা পেতে বা পোস্ট হিসেবে।
ড্যানিয়েল লিউজি

ওহ ইউআরএল একটি ফর্ম আছে? আপনি এটিতে কোনও তথ্য দিচ্ছেন না তা বিবেচ্য নয়। সবচেয়ে খারাপ যেটি ঘটতে পারে তা হ'ল কেউ ম্যানুয়ালি স্ক্রিপ্টটি খোলায়, নিজেকে লগ আউট করে। এমনকি যদি এটি প্রয়োজনীয় না হয় তবে আমি এটি কোনও ফর্ম ফিল্ডও করব না, স্ক্রিপ্টের একটি লিঙ্কও কাজ করবে। আপনি যদি স্ক্রিপ্টে তথ্য প্রেরণ করেন, আমি সম্ভবত একটি পোস্টের জন্য গিয়েছিলাম, যাতে ব্যবহারকারীর কোনও তথ্য না দেখায় (তারা পৃষ্ঠার উত্স না দেখলে) এবং তারা রিফ্রেশ করলে তারা তাদের ব্রাউজারের কাছ থেকে একটি সতর্কতা পাবেন (পৃষ্ঠাটির মেয়াদোত্তীর্ণ), যা কাম্য হতে পারে।
রব

0

সম্প্রতি আমি লগআউট থেকে জিইটি ব্যবহার করে এমন একটি প্রকল্পে কাজ করছি যা নীচে নোডেজ এক্সপ্রেসে কোড রয়েছে এবং এটি পুরোপুরি সূক্ষ্মভাবে কাজ করে

আপনার রাউটার.জেএস

const express = require("express");
router.get("/signout", signout);

আপনার controller.js

exports.signout  = (req, res) => {
        res.clearCookie('t'); //clearing cookie, which is 
            //assign to the user during sign in.          
            res.json({message : 'Signout success'});   
        };

-2

আমি দেখতে পাচ্ছি না যে কীভাবে লগ আউট (ব্যবহারকারীর অনুমতিগুলি ডি-এলিভেট করা) একটি জঘন্য ক্রিয়া। হ'ল কারণ "লগআউট" ক্রিয়াটি কেবলমাত্র সেই ব্যবহারকারীদের জন্যই পাওয়া উচিত যা ইতিমধ্যে লগ ইন করা হয়েছে অন্যথায় এটি অপ্রচলিত হবে।

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


2
wgetএকটি প্রাইভেট উইকিতে সঠিক সেশন কুকির সাথে স্পাইডার মোডে আসলে আমার একবার করণীয় ছিল। অবশ্যই প্রথম ক্রল করা URL গুলির মধ্যে একটি ছিল /logout
হেলগি

5
পৃষ্ঠাগুলিতে জিইটি অনুরোধগুলি কীভাবে ধ্বংসাত্মক তা দেখার জন্য সুপারলগআউট.কম এ যাওয়ার চেষ্টা করুন /logout। উদাহরণস্বরূপ, আপনাকে আবার জিমেইলে সাইন ইন করতে হবে, আবার চ্যাটে সাইন ইন করতে হবে, আপনি যে কোনও Hangouts কথোপকথনে স্ক্রোল করেছেন তাতে আপনার জায়গা ইত্যাদি খুঁজে পেতে হবে - এবং এটি কেবল গুগল ডটকমের জন্য।
ড্যান ড্যাসক্লেস্কু
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.