PDA

View Full Version : سوال: راه های مسدود کردن کاربر ( اخراج , بن ... )



KavoshGar_ir
شنبه 25 آذر 1391, 22:23 عصر
سلام دوستان
من سایتی دارم که برای اخراج یک کاربر آی پی کاربر را به مدت چند دقیقه می بندم اما کاربرهایی که کمی اطلاعات شبکه دارند با تغییر آی پی ( خاموش روشن کردن مودم ) به سادگی این روش را دور می زنند!

من جدیدا کوکی را هم اضافه کردم ولی باز هم کاربر میتونه کوکی ها را حذف کنه و وارد سایت بشه!

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

به جز این دو روش آیا راهی برای اخراج زماندار کاربر وجود داره که دور زدنش حداقل به راحتی امکان پذیر نباشه؟

مرسی

maryammashkani
شنبه 25 آذر 1391, 23:35 عصر
میتونی توی جدول بانکت یک فیلد برای این کار اضافه کنی و هر موقع خواستی مثلا به مدت 48 ساعت کاربر رو اخراج کنی از یک تکست باکس زمان رو ازت بگیره و توی بانک ذخیره کنه بعد با ورود کاربر چک بشه اگر این 48 ساعت تموم شده بود بهش اجازه ورود بده وگرنه با یک پیام اخطار مواجه بشه

KavoshGar_ir
یک شنبه 26 آذر 1391, 01:09 صبح
میتونی توی جدول بانکت یک فیلد برای این کار اضافه کنی و هر موقع خواستی مثلا به مدت 48 ساعت کاربر رو اخراج کنی از یک تکست باکس زمان رو ازت بگیره و توی بانک ذخیره کنه بعد با ورود کاربر چک بشه اگر این 48 ساعت تموم شده بود بهش اجازه ورود بده وگرنه با یک پیام اخطار مواجه بشهسوالم را دقت نکردید! من این دو روشی که گفتم انجام دادم دنبال راه دیگه ای هستم که کاربردی تر باشه برای اخراج کاربر

AmirGhasemi
یک شنبه 26 آذر 1391, 09:27 صبح
من هم با اين دوستمون موافقم!
نه تنها تغير آي پي و اضافه كردن فيلد زمان جواب نمي ده بلكه در نهايت طرف ممكنه بره يه نام كاربري جديد بسازه دوباره با هويت جديد بياد تو

fakhravari
یک شنبه 26 آذر 1391, 09:33 صبح
خب راهی ندارد.
کاربر میتونید بلاک کنید. یعنی غیر فعال راهی نداره.

mohsen_f_b
یک شنبه 26 آذر 1391, 11:29 صبح
سلام

اگر اطلاعات در مورد تجهیزات و شبکه داشته باشید، هر کارت شبکه یک MAC Address اختصاصی برای خودش داره. شما اگه اون MAC را در بانک ذخیره کنید، حالا کاربر هرچقدر هم IP عوض کنه بهیچ عنوان نمی تواند وارد شود و در لیست بلاک شما قرار گرفته است. هر زمان کاربر به سایت رجوع کرد MAC Address را بررسی در صورت اجازه دادن بگذارید وارد شود.
با کمی جستجو می توانید راه کارهای مختلفی را پیدا کنید.

البته اینهم بگم که این راه حل محدود بوده به IE و شما نمی توانید برای مرورگرهای دیگه استفاده کنید تا جایی که من اطلاع دارم.

بعنوان مثال برای سیستم نظر سنجی های که از هرسیستم فقط یک نفر می تواند شرکت کنند از این راه کار استفاده می کنند.

<script language="javascript" type="text/javascript">
function showMacAddress() {
var obj = new ActiveXObject("WbemScripting.SWbemLocator");
var s = obj.ConnectServer(".");
var properties = s.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration");
var e = new Enumerator(properties);
var output;
output = '<table border="0" cellPadding="5px" cellSpacing="1px" bgColor="#CCCCCC">';
output = output + '<tr bgColor="#EAEAEA"><td>Caption</td><td>MACAddress</td></tr>';
while (!e.atEnd()) {
e.moveNext();
var p = e.item();
if (!p) continue;
output = output + '<tr bgColor="#FFFFFF">';
output = output + '<td>' + p.Caption; +'</td>';
output = output + '<td>' + p.MACAddress + '</td>';
output = output + '</tr>';
}
output = output + '</table>';
document.getElementById("box").innerHTML = output;
}
</script>

موفق باشید

KavoshGar_ir
یک شنبه 26 آذر 1391, 17:33 عصر
سلام

اگر اطلاعات در مورد تجهیزات و شبکه داشته باشید، هر کارت شبکه یک MAC Address اختصاصی برای خودش داره. شما اگه اون MAC را در بانک ذخیره کنید، حالا کاربر هرچقدر هم IP عوض کنه بهیچ عنوان نمی تواند وارد شود و در لیست بلاک شما قرار گرفته است. هر زمان کاربر به سایت رجوع کرد MAC Address را بررسی در صورت اجازه دادن بگذارید وارد شود.
با کمی جستجو می توانید راه کارهای مختلفی را پیدا کنید.

البته اینهم بگم که این راه حل محدود بوده به IE و شما نمی توانید برای مرورگرهای دیگه استفاده کنید تا جایی که من اطلاع دارم.

بعنوان مثال برای سیستم نظر سنجی های که از هرسیستم فقط یک نفر می تواند شرکت کنند از این راه کار استفاده می کنند.

<script language="javascript" type="text/javascript">
function showMacAddress() {
var obj = new ActiveXObject("WbemScripting.SWbemLocator");
var s = obj.ConnectServer(".");
var properties = s.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration");
var e = new Enumerator(properties);
var output;
output = '<table border="0" cellPadding="5px" cellSpacing="1px" bgColor="#CCCCCC">';
output = output + '<tr bgColor="#EAEAEA"><td>Caption</td><td>MACAddress</td></tr>';
while (!e.atEnd()) {
e.moveNext();
var p = e.item();
if (!p) continue;
output = output + '<tr bgColor="#FFFFFF">';
output = output + '<td>' + p.Caption; +'</td>';
output = output + '<td>' + p.MACAddress + '</td>';
output = output + '</tr>';
}
output = output + '</table>';
document.getElementById("box").innerHTML = output;
}
</script>

موفق باشید

ممنونم دوست عزیز!

اما همانطوریکه خودتان اشاره کردید استفاده از این روش محدودیتهایی داره! و حتی بدلیل اینکه از ایکتیوایکس استفاده باید بشه و در اکثر مرورگرها اکتیوایکس غیرفعاله بنابراین این روش کاربردی نیست.

به هر حال ممنونم از پاسختان.

Mag-Mag
یک شنبه 26 آذر 1391, 18:20 عصر
کلا بلاک کردن سایت برای کاربرانی که عضو سایت نیستند به روش بستن ip انجام میشود
وراههای دیگر جوابگو نیستند
معمولا سایت ها برای کاربرانی که عضو سایت باشند این کار را میکنند
که برای کاربران عضو سایت هم سادست
شما چرا میخواهید کاربرانی که عضو سایت نیستند (به اصطلاح EndUser) رو بلاک کنید؟

KavoshGar_ir
یک شنبه 26 آذر 1391, 18:44 عصر
کلا بلاک کردن سایت برای کاربرانی که عضو سایت نیستند به روش بستن ip انجام میشود
وراههای دیگر جوابگو نیستند
معمولا سایت ها برای کاربرانی که عضو سایت باشند این کار را میکنند
که برای کاربران عضو سایت هم سادست
شما چرا میخواهید کاربرانی که عضو سایت نیستند (به اصطلاح EndUser) رو بلاک کنید؟
طبق قوانین کاربرانی هستند که مطالب سیاسی یا غیراخلاقی میگذارند باید از سایت اخراج شوند.افرادی که تبلیغات میگذارند یا اسپمر هستند و به هشدارها بی توجهند نیز از همین قشر هستند ...

pani.khoram
یک شنبه 26 آذر 1391, 19:20 عصر
سلام ، شما از هر کدوم از این راه ها رو برید کمی می تونید جلوی این موضوع رو بگیرید ان هم وقتی که کاربر برای ثبت نام آزاد است . حتی با تغییر ایمیل و ...
ولی از اجماع چند تکنیک کار رو برای کاربر سخت کنید
دوتا از راه هارو که خودتون گفتید
حتی استفاده از نام کامپیوتر
فیلتر کردن کلماتی که اجازه ثبت ان ها توسط کاربر موجود است
فیلتر کردن لینک در ورودی متن کاربران
اطلاع به ادمین سایت برای تخلفات
یا در صورتی که دیگه خیلی کار برای شما سخت شده و امنیت نوشتاری مهم است ، اجازه خود نمایشی به کاربر ها رو بگیرید ، یعنی کاربر وقتی بتونه متن رو ببینه که یه نفر ان متن رو بخونه و تایید کنه

موفق باشید

KavoshGar_ir
یک شنبه 26 آذر 1391, 20:36 عصر
سلام ، شما از هر کدوم از این راه ها رو برید کمی می تونید جلوی این موضوع رو بگیرید ان هم وقتی که کاربر برای ثبت نام آزاد است . حتی با تغییر ایمیل و ...
ولی از اجماع چند تکنیک کار رو برای کاربر سخت کنید
دوتا از راه هارو که خودتون گفتید
حتی استفاده از نام کامپیوتر
فیلتر کردن کلماتی که اجازه ثبت ان ها توسط کاربر موجود است
فیلتر کردن لینک در ورودی متن کاربران
اطلاع به ادمین سایت برای تخلفات
یا در صورتی که دیگه خیلی کار برای شما سخت شده و امنیت نوشتاری مهم است ، اجازه خود نمایشی به کاربر ها رو بگیرید ، یعنی کاربر وقتی بتونه متن رو ببینه که یه نفر ان متن رو بخونه و تایید کنه

موفق باشید
کلیه کارهایی که مربوط به فیلترینگ محتوا میشه روی سیستم تعریف کرده ام! اما مشکل اینجاست مدیران کاربرانی را که اخراج می کنند مجددا بر میگردند و علاوه بر فحش و ناسزا کارهای قبلیشان را با شدت بیشتری انجام میدهند.


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

دوستمان MAC Address را پیشنهاد داده بود که به جواب مسئله نزدیک بود , پیشنهاد دیگری ندارید؟

Behrouz_Rad
دوشنبه 27 آذر 1391, 07:02 صبح
تمام روش های ممکن در این تاپیک گفته شده و روش دیگری وجود نداره.

saeed_sho
دوشنبه 27 آذر 1391, 10:00 صبح
جالبه همه ی روش هارو کاربر میتونه دور بزنه!
کار شما رو اون روشی راه میندازه که :

ا در صورتی که دیگه خیلی کار برای شما سخت شده و امنیت نوشتاری مهم است ، اجازه خود نمایشی به کاربر ها رو بگیرید ، یعنی کاربر وقتی بتونه متن رو ببینه که یه نفر ان متن رو بخونه و تایید کنه
و فیلترینگ کلمات

KavoshGar_ir
جمعه 01 دی 1391, 01:03 صبح
ممنونم از همه دوستان! بهروز جان از شما هم تشکر میکنم! نظر شما برایم خیلی مهم بود.

بعد از جستجوی بسیار فکر میکنم راه حل را پیدا کردم! یعنی در واقع قبلا پیدا شده بود. جواب : کوکی!

اما نه هر کوکی ... در سایت استک کوکی پیدا کردم که به راحتی قابل حذف نبود! به گفته برنامه نویس آن این کوکی به چند مکانیسم مختلف در سیستم کاربر ذخیره میشه و دیگه به راحتی قابل حذف نیست.

جاهایی که این کوکی میشینه به گفته برنامه نویسش به قرار زیر است :



Specifically, when creating a new cookie, it uses the following storage mechanisms when available: - Standard HTTP Cookies (http://en.wikipedia.org/wiki/HTTP_cookie) - Local Shared Objects (http://en.wikipedia.org/wiki/Local_Shared_Object) (Flash Cookies) - Silverlight Isolated Storage (http://www.silverlight.net/learn/quickstarts/isolatedstorage/) - Storing cookies in RGB values of auto-generated, force-cached PNGs using HTML5 Canvas tag to read pixels (cookies) back out - Storing cookies in Web History (http://samy.pl/csshack/) - Storing cookies in HTTP ETags (http://en.wikipedia.org/wiki/HTTP_ETag) - Storing cookies in Web cache (http://en.wikipedia.org/wiki/Web_cache) - window.name (http://en.wikipedia.org/wiki/HTTP_cookie#window.name) caching - Internet Explorer userData (http://msdn.microsoft.com/en-us/library/ms531424%28VS.85%29.aspx) storage - HTML5 Session Storage (http://dev.w3.org/html5/webstorage/#the-sessionstorage-attribute) - HTML5 Local Storage (http://dev.w3.org/html5/webstorage/#dom-localstorage) - HTML5 Global Storage (https://developer.mozilla.org/en/dom/storage#globalStorage) - HTML5 Database Storage (http://dev.w3.org/html5/webdatabase/) via SQLite


برای دانلود و دیدن مثالهای این javascript API به اینجا (http://samy.pl/evercookie/) مراجعه کنید.در این صورت همیشه آی پی اولیه کاربر که از طریق آن مسدود شده در این فایل ذخیره شده و فرد خاطی قابل شناسایی است.

موفق باشید.

ali9698
جمعه 01 دی 1391, 09:05 صبح
علاوه بر ip و macaddress میتونید cpu id رو هم ذخیره کنید. البته خودم قبلا با این روش کار نکردم. کافیه یه سرچ توی گوگل بزنید. البته انگلیسی

malloc
جمعه 01 دی 1391, 10:49 صبح
دوستان یه نکته ریز این وسط هست که طبیعتا همه این روش ها یه باگی دارند یعنی هرکاری هم کنی که کاربر و بلاک کنی یا بن کنی بلاخره یه راه دیگه ای هست کاربر بیاد تو .
اما بهترین روشی که هست و از همه سادهتره قرار دادن یه فیلد از نوع bit تو دیتابیسه.

facebook هم که block میکنه راه فرار داره دیگه چه برسه به سایتهایی که ما میسازیم.

Behrouz_Rad
شنبه 02 دی 1391, 07:33 صبح
در این صورت همیشه آی پی اولیه کاربر که از طریق آن مسدود شده در این فایل ذخیره شده و فرد خاطی قابل شناسایی است.

نباید IP کاربر رو ذخیره کنی. این کار اصلاً معنا نداره. در شبکه های LAN، همه ی کاربران معمولاً دارای IP یکسانی هستند. اگر یک نفر رو بر اساس IP بن کنی، همه ی کاربران سایت که که عضوی از اون شبکه هستند هم بن میشن.

صرفاً وجود "کلید" کافی است. حتی مقدار هم نیاز نداره. این کلید رو به روشی که در پست 14 قرار دادی ذخیره کن. ضمن اینکه کاربر باید به روشی مانند آنچه که در پست 2 گفته شده نیز از سمت Server بن بشه.

موفق باشید.

aserfg
شنبه 02 دی 1391, 07:52 صبح
بعد از جستجوی بسیار فکر میکنم راه حل را پیدا کردم! یعنی در واقع قبلا پیدا شده بود. جواب : کوکی!


در صورتی که کوکی در مرورگر کاربر غیر فعال بود تکلیف چیه ؟
بعضی اوقات با تغییر سناریو باید نیازمندیها را مرتفع ساخت . صفحاتی که دارای درجه ای از اهمیت هستند یا دارای ریسک پذیری بالا هستند باید کاربران تعیین هویت شده قابلیت دسترسی داشته باشند . و ضمنا با پیاده سازی یک http module و بررسی کلیه درخواستهای واصله مسیر ارتباطی درخواستها( pipeline) را تا حد ممکن ایمن ساخت .ولی هیچ گاه تضمین صد در صدی برای کارایی روشهای پیاده شده توسط برنامه نویس در برنامه نویسی تحت وب وجود ندارد .

Behrouz_Rad
شنبه 02 دی 1391, 09:56 صبح
در صورتی که کوکی در مرورگر کاربر غیر فعال بود تکلیف چیه ؟

تکلیف اینه که به کاربر، اجازه ی استفاده از سایت رو نداد. این مورد در مورد جاوا اسکریپت هم صدق می کنه. ضمن اینکه کوکی کاری به Local Storage و مواردی که در HTML 5 برای ذخیره ی داده در نظر گرفته شدند نداره.

aserfg
شنبه 02 دی 1391, 12:05 عصر
تکلیف اینه که به کاربر، اجازه ی استفاده از سایت رو نداد.

این بستگی به درجه اهمیت صفحات سایت داره ، همونطور که گفتم به وسیله یک ماژول می توان با توجه به آدرس درخواستی فیلتر مناسب رو اعمال کرد .

ضمن اینکه کوکی کاری به Local Storage و مواردی که در HTML 5 برای ذخیره ی داده در نظر گرفته شدند نداره.
بنده به دنبال آوردن نقل قول دوستمون که کوکی رو راه حل منطقی خودشون ذکر کردند ، صحبت از کوکی کردم .
در خصوص html5 نیز ممکنه کاربر از مرورگرهای نسخه پایین استفاده کنه ، احتمالا در اون صورت هم قراره از ورودش جلوگیری کنیم !

همونطور که گفتم بسته به محتوی وب سایت و سناریوی پیش رو باید تصمیم گرفت ، و پیچیدن نسخه ای برای همه موارد نادرست به نظر می رسه .

KavoshGar_ir
شنبه 02 دی 1391, 21:44 عصر
نباید IP کاربر رو ذخیره کنی. این کار اصلاً معنا نداره. در شبکه های LAN، همه ی کاربران معمولاً دارای IP یکسانی هستند. اگر یک نفر رو بر اساس IP بن کنی، همه ی کاربران سایت که که عضوی از اون شبکه هستند هم بن میشن.

صرفاً وجود "کلید" کافی است. حتی مقدار هم نیاز نداره. این کلید رو به روشی که در پست 14 قرار دادی ذخیره کن. ضمن اینکه کاربر باید به روشی مانند آنچه که در پست 2 گفته شده نیز از سمت Server بن بشه.

موفق باشید.
ممنونم بهروز جان! من چون قبلا سیستمهای نیوک را دیده بودم از آی پی استفاده کردم ولی این گفته شما کاملا صحیح و بجاست. قطعا به این شکل اجرا میکنم.

از کلیه دوستانی هم که در این بحث شرکت کردند ممنونم! امیدوارم برای همه دوستان مفید بوده باشه.