PDA

View Full Version : بهترین راه برای امتیاز دهی به مطلب توسط کاربران غیر تکراری چیست؟



reza-alborz
جمعه 21 آذر 1393, 10:06 صبح
با سلام و احترام

دوستان چگونه میشه کاری کرد که افراد برای هر مطلب فقط یکبار امتیاز بدهند؟

ایده خودم اینه که واسه هر مطلب یه فیلد تو دیتابیس داشته باشم برای لیست آی پی افرادی که امتیاز دادند و هر وقت کسی که نظر میده آی پی اش رو با این لیست مقایسه کنم اگر موجود بود که اجازه نمیده اگه موجود نبود اجازه امتیاز دادن میده؟
فقط مشکلم بدست آوردن اپی واقعی کاربره؟
دوستان اگه ممکنه راهنماییم کنید

hsgpro
جمعه 21 آذر 1393, 10:42 صبح
سلام
هم باید با آیپی بررسی کنید هم با کوکی های مرورگر چون همانطور که می دونید آیپی اکثر ایرانی ها به صورت Dynamic هست و با هر بار اتصال عوض میشه به همین دلیل باید با کوکی ها هم بررسی کنید که اگه مودم رو خاموش و روشن کردن دوباره نتونن لایک کنن.

reza-alborz
جمعه 21 آذر 1393, 11:15 صبح
یعنی راهی برای بدست آوردن آی پی واقعی و یکتای کاربران وجود نداره ؟

DR.HTML
جمعه 21 آذر 1393, 11:44 صبح
بهترین راه سیستم عضویته

hsgpro
جمعه 21 آذر 1393, 12:13 عصر
یعنی راهی برای بدست آوردن آی پی واقعی و یکتای کاربران وجود نداره ؟

آیپی واقعی یعنی چی؟ آیپی کاربران همون آیپی واقعیه منظور من از تغییر آیپی پروکسی و فیلتر شکن و... نبود منظورم اینه که همون آیپی واقعی کاربران اکثرشون به صورت Dynamic است و سرویس دهنده اینترنت (ISP) در هر بار اتصال بهش یه آیپی جدید تخصص میده.البته ممکنه بعضی ها آیپی Static هم داشته باشن که ثابت باشه اما تو ایران کم پیدا میشه به همین دلیل شما علاوه بر ذخیره آیپی لایک کننده باید متغیری هم در کوکی مرورگر اون ذخیره کنید و دوباره اگر می خواست لایک کنه هم آیپی رو بررسی کنید و هم متغیر کوکی رو.

Unique
جمعه 21 آذر 1393, 15:31 عصر
کاش جای مطرح کردن یکبار جستجو میکردین. (این مباحث مربوط به یکتایی کاربر بار ها مطرح شده)
هیچ راهی برای اطمینان از یکتا بودن کاربر وجود نداره ! کوکی ها قابل حذف شدن هستند. IP ها که کلا غیر قابل استفاده اند ممکنه ۵۰ نفر با یک IP در طول یک مدن مشخص از سایت شما بازدید کنند و شما فقط اجازه به یکی از اون ها میدین ! ثبت نام از طریق Email و شماره همراه و غیره هم چون هر کسی میتونه چند تا از ر کردوم داشته باشه باز هم یکتا نیست.

sairon123
جمعه 21 آذر 1393, 16:14 عصر
میشه از کوکی استفاده کرد
ولی یه راهی برای اینکه کاربر نتونه کوکی رو پاک کونه اینه که کوکی رو تو یه فایل تو سرور ذخیره کنیم

HaZeM+
جمعه 21 آذر 1393, 16:24 عصر
IP + UserAgant + Cookie
بصورت تلفیقی

Unique
شنبه 22 آذر 1393, 03:11 صبح
خیلی جالبه !


ولی یه راهی برای اینکه کاربر نتونه کوکی رو پاک کونه اینه که کوکی رو تو یه فایل تو سرور ذخیره کنیم
چیزی به نام Cookie سمت سرور نداریم !‌Cookie روی Browser ثبت میشه.


IP + UserAgant + Cookie
اگه من cookie را پاک کنم تلفیق شما به مشکل میخوره ! اگه هم بگین useragent و ip خوب از chrome و firefox و ie سه بار امتیاز میدم ! یا براحتی با این دوتا addon میشه هر چی بخوام امتیاز بدم:
https://addons.mozilla.org/en-US/firefox/addon/user-agent-overrider/
https://addons.mozilla.org/en-us/firefox/addon/user-agent-switcher/

دوستان امکان شناسایی نیست ! میشه از fingerprint (https://github.com/Valve/fingerprintjs) استفاده کرد اما اون هم ۱۰۰ درصد نیست.

H:Shojaei
شنبه 22 آذر 1393, 03:25 صبح
سیستم ثبت نام + userAgent(مخصوصا سیستم عامل طرف(چون مرورگر عوض کردن آسونه ولی سیستم عامل!!)) + کوکی
ظاهرا دیگه از این بیشتر نمیشه کاری کرد...

مهرداد سیف زاده
شنبه 22 آذر 1393, 07:50 صبح
زیاد به خودتون و همچنین سرور فشار نیارین.
ببینید قراراه یه سری افراد بیان و کاملا آزاد و بدون نیت بدی امتیاز بدن. چرا انقد کاربرها رو بد میدونید:لبخندساده:
من همیشه از کوکی استفاده میکنم اونم کوکی جاوا اسکریپت یا jquery و اصلا هیچ فشاری هم به سرور نمیارم. چون طبق گفته دوستان راههای کم و دشواری برای شناسایی یکتایی کاربر وجود داره. حتی با سروریسهای ایمیل ۱۰دقیقه ای براحتی کاربر میتونه ۱۰۰تا کاربر جدید بسازه و بیاد نظر بده. دیگه تغییر ip و چیزهای دیگه جای خود دارد.
من برای هر مطلبی که داره امتیاز میده یک شناسه یکتا در نظر میگیرم و میریزم توی کوکیش هر بار که داره امتیاز میده بررسی میکنم آیا شناسه این مطلب توی کوکیش هست و بعد امتیاز رو ثبت میکنم در غیر این صورت پیام خطا نشون میدم

H:Shojaei
شنبه 22 آذر 1393, 13:05 عصر
زیاد به خودتون و همچنین سرور فشار نیارین.
ببینید قراراه یه سری افراد بیان و کاملا آزاد و بدون نیت بدی امتیاز بدن. چرا انقد کاربرها رو بد میدونید:لبخندساده:
من همیشه از کوکی استفاده میکنم اونم کوکی جاوا اسکریپت یا jquery و اصلا هیچ فشاری هم به سرور نمیارم. چون طبق گفته دوستان راههای کم و دشواری برای شناسایی یکتایی کاربر وجود داره. حتی با سروریسهای ایمیل ۱۰دقیقه ای براحتی کاربر میتونه ۱۰۰تا کاربر جدید بسازه و بیاد نظر بده. دیگه تغییر ip و چیزهای دیگه جای خود دارد.
من برای هر مطلبی که داره امتیاز میده یک شناسه یکتا در نظر میگیرم و میریزم توی کوکیش هر بار که داره امتیاز میده بررسی میکنم آیا شناسه این مطلب توی کوکیش هست و بعد امتیاز رو ثبت میکنم در غیر این صورت پیام خطا نشون میدم
مثاله اینه که تو دنیای مجازی نمیشه اینطوری فکر کرد اگه اینطوری باشه کلاهمون پس معرکس کلا کاربرا خوبن دیگه چرا جلوی sqlinjection رو بگیریم یا چرا داده ها رو فیلتر کنیم یا...
همیشه باید اصولی کار بشه من خودم همیشه بدترین حالتی که ممکنه پیش بیاد رو در نظر میگیرم
مثلا فکر میکنم یه نفر فقط قصد داره دقیقا بیاد فقط نظر منفی تو یه سایتی که ساختم بذاره و هیچ دلیلی هم نداره باید جلوشو بگیرم...
واسه این کار هم که شما گفتید با ایمیلهای 10 دقیقه ای اینو نمیشه کاریش کرد ولی نوع سیستم عامل طروف رو داشته باشیم که میشه کاریش کرد ورژن مرورگر ثبت نام ست کردن کوکی با اینها میشه کاری کرد که هر کاربر واقعا فقط یک رای بده...
حالا فرض میکنیم یه کاربر کوکیش رو پاک میکنه سیستم عاملو مرورگرشو چکار میکنه!
فرضا مرورگرش رو هم تغییر میده بازم سیستم عاملش رو چکار میکنه
و یه امکان میذاریم که مثلا با یه سیستم عامل و تلیقش با مرورگر هر کاربر نهایتا بتونه 10 رای بده واسه این که ممکنه از یه سیستم عامل چندین نفر استفاده کنن در کل میشه کاریش کرد به نظر من نباید پشت گوش انداخت یه بار همه این کارا انجام بشه از اون به بعد هم استفاده میشه...

مهرداد سیف زاده
شنبه 22 آذر 1393, 14:11 عصر
دوست عزیز بنده کنار جمله ای که گفتم یک خنده هم گذاشتم. و منظورم مزاح بوده
بعدم باید منطقی برخورد کرد
شما میگید تلفیق مرورگر و سیستم عامل ولی من میگم نوع مرورگر+نسخه مرورگر+نوع سیستم عامل+رزولیشن صفحه+ip+ساعتی که صفحه برای این کاربر لود شده+.....
تمام این موارد قابل تکرار برای کاربر دیگری هست. چرا که امکان داره حتی یک نفر دیگر هم با مشخصات این کاربر بیاد و از صفحه دیدن کنه. اون وقت با دیدن خطای این که نمیتونه رای بده کلا از سایت زده میشه.
البته در مورد امنیت باز هم باید منطقی برخورد کرد و بسته به ماهیت و نوع سیستم باید به سیستم فشار آورد.
در مورد یکتایی کاربر هم بنده خودم محقق وب‌معنایی هستم و در کنفرانس‌های ملی رتبه آوردم. حتی با مدلهای بر حسب آنتولوژی و رفتارشناسی هم نمیشه کاربران رو تشخیص داد.
خود گوگل که بزرگترین کاونده وب هست گفته ثبت نام کنید تا از نتایج جستجوهای قبلی به شما نتایج بهتری نشون داده بشه و گرنه نمیتونه در جستجوها بیشتر از کلمه کلیدی وارد کرده کمک کنه. با این کاربر بعد از لاگین و ماندن در سیستم گوگل تمام تاریخچه جستجوهارو با هم جمع میزنه و تشخیص میده مثلا شما یک برنامه نویش هستید اون وقت حتی اگر کلمه کلیدی جستجو شده مربوط به رشته مکانیک یا هر چیز دیگری باشه باز هم میره از ته صف نتایج برنامه نویسی رو میاره هر چند هدف گوگل تبلیغات هدفدار بوده و بس.

مثاله اینه که تو دنیای مجازی نمیشه اینطوری فکر کرد اگه اینطوری باشه کلاهمون پس معرکس کلا کاربرا خوبن دیگه چرا جلوی sqlinjection رو بگیریم یا چرا داده ها رو فیلتر کنیم یا...
همیشه باید اصولی کار بشه من خودم همیشه بدترین حالتی که ممکنه پیش بیاد رو در نظر میگیرم
مثلا فکر میکنم یه نفر فقط قصد داره دقیقا بیاد فقط نظر منفی تو یه سایتی که ساختم بذاره و هیچ دلیلی هم نداره باید جلوشو بگیرم...
واسه این کار هم که شما گفتید با ایمیلهای 10 دقیقه ای اینو نمیشه کاریش کرد ولی نوع سیستم عامل طروف رو داشته باشیم که میشه کاریش کرد ورژن مرورگر ثبت نام ست کردن کوکی با اینها میشه کاری کرد که هر کاربر واقعا فقط یک رای بده...
حالا فرض میکنیم یه کاربر کوکیش رو پاک میکنه سیستم عاملو مرورگرشو چکار میکنه!
فرضا مرورگرش رو هم تغییر میده بازم سیستم عاملش رو چکار میکنه
و یه امکان میذاریم که مثلا با یه سیستم عامل و تلیقش با مرورگر هر کاربر نهایتا بتونه 10 رای بده واسه این که ممکنه از یه سیستم عامل چندین نفر استفاده کنن در کل میشه کاریش کرد به نظر من نباید پشت گوش انداخت یه بار همه این کارا انجام بشه از اون به بعد هم استفاده میشه...

H:Shojaei
شنبه 22 آذر 1393, 15:15 عصر
البته من با تلفیق اینها کاملا مخالفم هرکدوم باید به صورت جداگانه چک بشن
چون اگه کاربر مرورگرشو عوض کنه و همه چیز همون قبلی باشه دیگه نمیشه با اون تلفیقه کلا کار کرد
ولی اگر کاربر فقط مرورگرشو عوض کنه و همه چی مثلل فبل باشه و هر مشخصه کاربر تو یه فیلد جداگانه باشه تک تکو چک میکنیم و میفهمیم فقط مرورگر عوض شده یه چک میکنیم اگه یه بار این کاربر که مرورگرش فقط عوض شده رای داده بود تا 5 بار یا حتی 10 بار دیگه (واسه همون که میگید امکان داره چند کاربر دقیقا مثل هم باشن مشخصاتشون)بتونه رای بده ولی بیشتر از اون دیگه خیلی امکانش کمه که تکرار این مشخصات به وجود بیاد و اجازه رای بیشتر از همون 5 یا 10 بار رو هم بهش نمیدیم...
همه هم قبول دارن که نمیشه جلوی این قضیه رو به طور 100% گرفت ولی تا جایی که میشه باید جلوش گرفته بشه...

Unique
یک شنبه 23 آذر 1393, 02:24 صبح
سیستم ثبت نام + userAgent(مخصوصا سیستم عامل طرف(چون مرورگر عوض کردن آسونه ولی سیستم عامل!!)) + کوکی

سیستم عامل از همون useragent به دست میاد که با همون addon هایی که گفتم میشه هر چی خواستین بدین ! کلا نمیشه یکتایی را بررسی کرد اون fingerprint از هم هروش هایی که دوستان گفتند دقیق تره اما باز هم امکان غیر یکتایی هست !

H:Shojaei
سه شنبه 25 آذر 1393, 00:42 صبح
با تشکر از دوستمون perkas (http://barnamenevis.org/member.php?289977-perkas)
ظاهرا به کدهای سخت افزاری hard , bios با:


shell_exec('wmic DISKDRIVE GET SerialNumber 2>&1')
shell_exec('wmic bios get serialnumber 2>&1')


میشه دسترسی داشت توی php ولی سوال اینجاست که همیشه تو هر سیستمی میشه به این کدها دسترسی داشت؟؟
اگه جواب مثبت باشه که مشکل کلا حل شده دیگه! درسته

Unique
سه شنبه 25 آذر 1393, 04:44 صبح
باز هم جالبه ! این کد ها اصلا توی هاست های shared اجرای نمیشوند ( به خاطر safe_mode توی php.ini) و مقداری که بر میگردونن اطلاعات سرور هست نه کلاینت !

rezakho
سه شنبه 25 آذر 1393, 17:30 عصر
یونیک جان شما 100 تا پست دیگه هم بزنی، مرغ یک پا بیشتر نداره ظاهرا :)