اسماعيل صدوقي نشر 22 يوليو 2021 أرسل تقرير نشر 22 يوليو 2021 مرحبا ، في هذا الموقع: https://t7dy.org/4BvWwp يقوم الزائر بالتصويت ،لكن لا يمكنه التصويت لأكثر من مرة و أعتقد انه يتم ذلك عن طريق Cookies فلاحظت عند تغيير المتصفح يمكن التصويت مرة أخرى و أيضا عند ايقاف Cookies لا يمكنني التصويت. كيف يمكنني عمل ذلك داخل موقع مبني بإطار العمل لارافيل؟ 1 اقتباس
0 Mohamd Imran نشر 23 يوليو 2021 أرسل تقرير نشر 23 يوليو 2021 أهلاً بك @اسماعيل صدوقي يمكن عمل ذلك ليس فقط من خلال الكوكيز , بل من خلال أيضاً sessionStorage أو localStorage , لكن على ما طلبت من خلال الكوكيز يمكنك عمل ميوثود في الكونترولر المسؤول وهذه الميثود وظيفتها تخزين قيمة مثلاً 1 في حالة قام بالتصويت أو 0 في حالة لم يصوت بعد ,لكن لا أنصح بذلك مباشرة لأنه ممكن أن ينشأ عن ذلك ثغرة أمنية , لكن الأفضل عند قيام المستخدم بالتصويت تقوم بحفظ القيمة 1 أو 0 في حقل مثلاً voted بعد ذلك نقوم بإسترجاع تلك القيمة من قاعدة البيانات وتخزينها في الكوكي هكذا مثال نقوم بعمل ميثود لتخزين و إسترجاع الكوكي في الكونترولر هكذا public function setVotedCookie(Request $request) { $minutes = 1; $voteResult = Vote::findOrFail($request->id)->setVoted('1'); $voteResult->withCookie(cookie('isvoted', '1', $minutes)); return $voteResult; ثم نقوم بإعادة قيمة الكوكي إلى الواجهة هكذا public function getVotedCookie(Request $request) { $value = $request->cookie('isvoted'); return view('main.votes',$value); } بعد ذلك فقط تتأكد من قيمة الكوكي الذي تم إرجاعها في الواجهة مثلاً if (!$value == 1) { {{echo "Not Voted!"}} }else{ {{echo "Already Voted!,Show Error MSG"}} } ,ملاحظة الطريقة المستخدمة في الموقع إن كان قيمة الكوكي فقط تخزن في الجلسة الحالية فطريقة الموقع لا أنصح بها , لأنه ببساطة يمكن للمستخدم تغيير قيمة الكوكي ويصبح لم يصوت ! بينما هو قام بالتصويت ,إن كان لا يوجد عمليات تحقق إضافية . 1 اقتباس
السؤال
اسماعيل صدوقي
مرحبا ،
في هذا الموقع:
https://t7dy.org/4BvWwp
يقوم الزائر بالتصويت ،لكن لا يمكنه التصويت لأكثر من مرة و أعتقد انه يتم ذلك عن طريق Cookies فلاحظت عند تغيير المتصفح يمكن التصويت مرة أخرى و أيضا عند ايقاف Cookies لا يمكنني التصويت.
كيف يمكنني عمل ذلك داخل موقع مبني بإطار العمل لارافيل؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.