PDA

View Full Version : سوال: دریافت اطلاعات کامپیوتر کلاینت



fazelit
شنبه 06 آذر 1389, 08:32 صبح
با سلام و خسته نباشید.
من یه سیستم نظر سنجی طراحی کردم می خوام هر رایانه فقط یک بار رای بده.
اگر من از ip استفاده کنم متاسفانه خیلی از شرکت ها آی پی ولیدشون بین کاربراشون مشترک هستش.یا در جایی مثل کافینت از هر استیشن نمیشه رای داد فقط یک بار میتونند برای همین:

من یه کدی می خواستم که اطلاعات سخت افزاری کامپیوتر طرف رو به من بده . مثل سریال مودم یا سریال سی پی یو و چیزی که برای هر کامپیوتر منحصر به فر باشه حالا این کار چه با php چه با جاوا اسکریپت فکر کنم باید با جاوا اسکریپت نوشت چون پی اچ پی تحت سرور هستش.

هر که راه حلش رو بگه من برای همیشه مدیونش میشم خیلی نیاز دارم
:خجالت::خجالت::خجالت::خجالت:: جالت:

trade_mark
شنبه 06 آذر 1389, 11:52 صبح
مشکل شما با چند روش قابل جلوگیریه
می تونی فقط به کاربران که در سایت ثبت نام کردن دسترسی به رای بدی
می تونی از ایمیل جهت تایید رای استفاده کنی
یا با جاوا اسکریپت اطلاعات کلاینت رو بگیری و به سرور بفرستی
که من راه اول رو پیشنهاد میکنم

fazelit
شنبه 06 آذر 1389, 12:34 عصر
مشکل شما با چند روش قابل جلوگیریه
می تونی فقط به کاربران که در سایت ثبت نام کردن دسترسی به رای بدی
می تونی از ایمیل جهت تایید رای استفاده کنی
یا با جاوا اسکریپت اطلاعات کلاینت رو بگیری و به سرور بفرستی
که من راه اول رو پیشنهاد میکنم

خوب دوست عزی من رای گیری رو برای تمام بازدید کنندگان می خوا باشه پس مورد اول ازبین میره.
من رای گیری رو می خوام به ساده ترین روش یعنی فقط با یک کلیک انجام بشه و در ضمن اگر از ایمیل استفاده کنم ممکن یک نفر 100 ایمیل داشته باشه و میتونه 100 رای بده که این هم مورد قبول نیست.
اما روش سوم با جاوا میشه سریال سخت افزاری رو گرفت؟ اگه بشه عالیه
چون من تاجایی که اطلاع دارم فقط میشه اطلاعاتی از قبیل نوع مرور گر رزولش و ... که در سیستم هایی مثل وبگذر هستش بدست آورد که این هم طرف میتونه 4 نوع مرور گر نصب کنه و با هر کدوم یک رای بده.

آیا میشه با جاوا سریال سخت افزاری رو بدست آورد؟

fazelit
دوشنبه 08 آذر 1389, 09:35 صبح
با سلام خدمت دوستان
آقا هنوز کسی پیدا نشده این کد رو به ما بگه

D.A.V.O.O.D
دوشنبه 08 آذر 1389, 12:29 عصر
با سلام خدمت دوستان
آقا هنوز کسی پیدا نشده این کد رو به ما بگه

سلام ، شما می تونید از ترکیب IP و COOKIE استفاده کنید ،
بدین صورت که تمامی ip هارو ذخیره کنید و زمان رای گیری ابتدا چک کنید که ip موجود هست یا خیر ؟ اگه موجود نبود که یعنی شرکت نکرده اما اگه موجو بود ، حالا وفت این رسیده که کوکی را چک کنید ، اگر کوکی موجود بود ، رای داده ، موجود نبود هم که رای نداده .

موفق باشید

funpatogh
دوشنبه 08 آذر 1389, 21:22 عصر
پیشنهاد داود جان به نظرم خیلی مفید و کاربردی هست میتونید از همین روش استفاده کنید

fazelit
سه شنبه 16 آذر 1389, 17:41 عصر
داوود جان دستت درد نکنه اما این راه بهترین راه تقلبی هستش :چشمک: بدین صورت که گفتیم یک شرکت ADSL آی پی های یکسانی برای تمام کاربرانش میده پس هر کدوم از این افراد که وارد بشن آی ذخیره میشه برای نفر اول مشکلی نیست اما نفرات بعد وقتی وارد میشن چون یکی از کاربران این isp قبلا وارد شده میگه این آی پی قبلا ذخیره شده میره سراغ کوکی چون کوکی نیست اطلاعات رو ذخیره میکنه اما حالا اگه طرف بیاد کوکی رو غیر فعال کنه یا نه برای هر رای دادن هی بیاد کوکیش رو پاک کنه در این صورت یک نفر میتونه خیلی رای بده!!!!!! :متفکر:
پس در این صورت باید چه کار کرد؟!!!!

UnnamE
سه شنبه 16 آذر 1389, 17:50 عصر
http://barnamenevis.org/showthread.php?261948-%D9%86%D8%AD%D9%88%D9%87-%D8%B3%D8%A7%D8%AE%D8%AA-%D8%A7%D9%85%D8%AA%DB%8C%D8%A7%D8%B2-%D8%AF%D9%87%DB%8C-%D8%A8%D9%87-%D9%BE%D8%B3%D8%AA

fazelit
سه شنبه 16 آذر 1389, 19:33 عصر
http://barnamenevis.org/showthread.php?261948-%D9%86%D8%AD%D9%88%D9%87-%D8%B3%D8%A7%D8%AE%D8%AA-%D8%A7%D9%85%D8%AA%DB%8C%D8%A7%D8%B2-%D8%AF%D9%87%DB%8C-%D8%A8%D9%87-%D9%BE%D8%B3%D8%AA

دوست عزیز اینجا هم بررسی کردم که هم از کوکی استفاده بشه و هم از آی پی اما اگه طرف بیاد برای رای دادن کوکی های خودش رو پاک کنه میتونه 100000 بار رای بده ولی اگه ما بتونیم اطلاعات سخت افزاری طرف رو گیر بیاریم دیگه نمی تونه چندین بار رای بده؟ چطور میشه این اطلاعات سخت افزاری مثل سریال هارد یا غیره رو بدست اورد؟
در ضمن این کار هم خیلی مهم هستش مثلا می خوای یک انتخابات آنلاین برای مدرسه و شهر و ... برگزار کنی که حتی یک رای هم مهم هستش؟!!!

funpatogh
سه شنبه 16 آذر 1389, 20:22 عصر
والا تو نظر سنجی های انتخابات ریاست جمهوری هم میشه چندین بار رای داد
اگر خیلی مهمه که هر کاربر یک بار رای بده همون عضو گیری تنها راهه
اینتها رو هم تست کن ببین به دردت میخوره


<?php
echo $_SERVER[ 'PROCESSOR_ARCHITECTURE' ],
$_SERVER[ 'PROCESSOR_IDENTIFIER' ],
$_SERVER[ 'PROCESSOR_REVISION' ];

?>

UnnamE
چهارشنبه 17 آذر 1389, 00:06 صبح
مگر اینکه طرف دیوانه باشه و بیاد هی کوکی رو پاک و دوباره رای بده ...

220% فرض كنيد همين دكمه تشكر كوكي بود حالا كي ميومد هي كوكي پاك ميكرد تشكر كنه
خيلي دوست من سخت ميگيري!(منظورم ايجاد كننده تاپيك هست)

fazelit
یک شنبه 21 آذر 1389, 13:24 عصر
سلام خدمت دوستان گرامی و ضمن تشکر از نظرات شما دوستان عزیز
دوستان عزیز سختگیری من به این خاطر هستش که برای انتخابات شورای شهر می خوام یه سیستم رای گیری آنلاین در یک سایت خبری معروف اون شهر قرار بدم و رای گیری انجام بشهبرای همین هرچه دقیق تر باشه بهتر و نتیجه صحیح تر میشه خوب در ادامه بحثمون
به این نتیجه رسیدیم که بهترین حالت در نظر سنجی استفاده از کوکی هستش!
حالا اینجا یه سوال پیش میاد اون هم اینه که اگه کوکی غیرفعال بود چی؟

eshpilen
یک شنبه 21 آذر 1389, 14:35 عصر
شما خودت میگی سیستم کافی نت رو ممکنه چند نفر استفاده کنن بعد میگی سریال سخت افزار طرف رو بگیرم! اینطوری که جز یک نفر کسی نمیتونه با یک سیستم رای بده.
ضمنا برای تضمین اینکه کسی چند بار رای نده راهی وجود نداره. یعنی راه اینترنتی معمولی بدون هیچ کنترل و سیستم خارجی نداره.
در انتخابات الکترونیک واقعی هم مسلما سیستمهای دیگر و کنترل خارجی درمیان هست.
تازه همینش رو هم بعضی افراد متخصص قبول ندارن و میگن کامپیوتر برای انتخابات بقدر کافی قابل اعتماد نیست.

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

اگر کاربرد واقعا جدی و مهم و رسمی باشه و نیاز به اطمینان ۱۰۰٪ یا خیلی بالا باشه، این روشها واجد شرایط نیستن.

shahriyar3
یک شنبه 21 آذر 1389, 14:42 عصر
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title></title>
<meta name="GENERATOR" content="Microsoft Visual Studio .NET
7.1">
<meta name="vs_targetSchema"
content="http://schemas.microsoft.com/intellisense/ie5">
<script id=clientEventHandlersJS language=javascript>
<!--
function Button1_onclick() {
var locator = new ActiveXObject ("WbemScripting.SWbemLocator");
var service = locator.ConnectServer(".");
var properties = service.ExecQuery("SELECT * FROM Win32_BaseBoard");
var e = new Enumerator (properties);
document.write("<table border=1>");
for (;!e.atEnd();e.moveNext ())
{
var p = e.item ();
document.write("<tr>");
document.write("<td>" + p.HostingBoard + "</td>");
document.write("<td>" + p.Manufacturer + "</td>");
document.write("<td>" + p.PoweredOn + "</td>");
document.write("<td>" + p.Product + "</td>");
document.write("<td>" + p.SerialNumber + "</td>");
document.write("<td>" + p.Version + "</td>");
document.write("</tr>");
}
document.write("</table>");
}
//-->
</script>
</head>
<body>
<INPUT id="Button1" type="button" value="Button"
name="Button1" language=javascript onclick="return Button1_onclick()">
</body>
</html>





The above code would automatically list all the information related to the motherboard. To retrieve motherboard information, I used the built-in class “Win32_BaseBoard.” The class internally has a lot of properties, methods and events. But in the above example we concentrated only on the properties “HostingBoard,” “Manufacturer,” “PoweredOn,” “Product,” “SerialNumber” and “Version” (related to the “Win32_Processor” class).

همینجوریش تو انتخابات با دست رای مینوسن میندازن تو صندوق کلی تقلب میشه وای به روزی که بخواد اینترنتی هم بکنن!!!!

eshpilen
یک شنبه 21 آذر 1389, 14:58 عصر
سلام ، شما می تونید از ترکیب IP و COOKIE استفاده کنید ،
بدین صورت که تمامی ip هارو ذخیره کنید و زمان رای گیری ابتدا چک کنید که ip موجود هست یا خیر ؟ اگه موجود نبود که یعنی شرکت نکرده اما اگه موجو بود ، حالا وفت این رسیده که کوکی را چک کنید ، اگر کوکی موجود بود ، رای داده ، موجود نبود هم که رای نداده .

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

fazelit
دوشنبه 22 آذر 1389, 09:12 صبح
شما خودت میگی سیستم کافی نت رو ممکنه چند نفر استفاده کنن بعد میگی سریال سخت افزار طرف رو بگیرم! اینطوری که جز یک نفر کسی نمیتونه با یک سیستم رای بده.
ضمنا برای تضمین اینکه کسی چند بار رای نده راهی وجود نداره. یعنی راه اینترنتی معمولی بدون هیچ کنترل و سیستم خارجی نداره.
در انتخابات الکترونیک واقعی هم مسلما سیستمهای دیگر و کنترل خارجی درمیان هست.
تازه همینش رو هم بعضی افراد متخصص قبول ندارن و میگن کامپیوتر برای انتخابات بقدر کافی قابل اعتماد نیست.

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

اگر کاربرد واقعا جدی و مهم و رسمی باشه و نیاز به اطمینان ۱۰۰٪ یا خیلی بالا باشه، این روشها واجد شرایط نیستن.


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

موفق باشید

fazelit
دوشنبه 22 آذر 1389, 09:27 صبح
استفاده از IP در اینجا فکر میکنم بیهوده هست. تازه ممکنه نتیجه رو کم دقت تر بکنه. چون مثلا طرفی که کوکی داره اگر با دایالاپ دوباره کانکت بشه که در اینصورت آیپیش عوض میشه، حتی درصورت وجود کوکی تشخیص داده نمیشه.
همون کوکی به تنهایی خوبه. کوکی از نوعی که با بسته شدن مرورگر پاک بشه که مثلا نفر بعدی توی کافی نت پای همون سیستم هم بتونه رای بده.
البته سیاست رو میشه سخت تر و نرم تر کرد. بستگی به شرایط و اهداف ما داره.
انواعی از سیستم برای علامتگذاری کاربر هست که پاک کردنشون خیلی سخته. بطور مثال میشه از کوکی فلش استفاده کرد. یا همون داستان evercookie که قبلا در تاپیک دیگه مطرح کردم. بهرحال باید ببینیم میخوایم مرورگر که بسته میشه اونم پاک بشه یا این بسته شدن یجوری بهرحال تشخیص داده بشه که نفر بعدی هم بتونه رای بده. مگر اینکه این مسئله رو جدی نگیریم و فرض کنیم بیشتر کاربران روی سیستم خودشون رای میدن و افراد کمی از یک سیستم مشترک برای رای دادن استفاده میکنن.

منظور من بیشتر این مورد هستش که از هر رایانه فقط بشه یک رای داد نفراتی که پشت سیستم میشینند مهم نیستند. البته با کوکی هم اگه طرف بیاد چند نوع مرورگر نصب کنه مثلا فایرفاکس اوپرا کروم و غیره با هرکدومش میتونه یک رای بده.

البته این مبحث فقط برای رای گیری کاربرد نداره علاوه بر اون اگه شما می خواید یه سیستم تبلیغات کلیکی راه بندازید هم خیلی مهمه اگه آی پی بگیرید مشکلی که من گفتم پیش میاد یعنی ممکن یک شرکت ارائه دهنده ADSL برای 2000 کاربرش یک آی پی ولید درنظر بگیره که این واقعا حقشون زایع میشه و کوکی هم باز مشکلاتی که در اینجا داریم بحث میکنیم پیش میاد. اما راه حل چیست؟:متفکر:

billgivz
دوشنبه 22 آذر 1389, 12:06 عصر
سلام به همه

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


به نظر من شما بیا این کاری بهت میگم بکن

شما یک برنامه کوچیک بصورت ویندوز اپلیکیشن بنویس که کاربران پس دانلود از سایت و نصب بتونند رای بدن .

خوب این برنامه ویندوز اپلیکیشن به چه صورت هست ؟

ابتدا مشخصات سخت افزار رای دهنده رو بدست بیار و بعد با وصل کردن دیتابیس این برنامه کوچک به دیتابیس سایت خودت میتونی مشخصات سخت افزار و رای که طرف مقابل داده رو داشته باشی و با این کار هر کامپیوتر یک رای .

این کارم شاید بشه به صورت اتو ماتیک انجام داد !

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

eshpilen
دوشنبه 22 آذر 1389, 21:25 عصر
اوهه کی میره اینهمه راه رو! فکر نمیکنم فکر درستی باشه که فردا باب بشه هر سایتی میخوای رای بگیره تمام رای دهندگان مجبور باشن یه برنامه دانلود و روی سیستم خودشون اجرا کنن. خطرات امنیتی چی میشه؟ راحتی کاربر از دست میره. امکان سوء استفاده و جاسوسی داره. و کلی ایرادهای دیگه.
حداقل اکتیوایکس دردسرش کمتره و بصورت خودکار دانلود و اجرا میشه (البته نیاز به تایید کاربر برای اجرا داره)، ولی اونم بنظرم وابسته به مرورگر/OS خاصی میشه و همونقدر خطر امنیتی داره.

fazelit
سه شنبه 23 آذر 1389, 13:06 عصر
اوهه کی میره اینهمه راه رو! فکر نمیکنم فکر درستی باشه که فردا باب بشه هر سایتی میخوای رای بگیره تمام رای دهندگان مجبور باشن یه برنامه دانلود و روی سیستم خودشون اجرا کنن. خطرات امنیتی چی میشه؟ راحتی کاربر از دست میره. امکان سوء استفاده و جاسوسی داره. و کلی ایرادهای دیگه.
حداقل اکتیوایکس دردسرش کمتره و بصورت خودکار دانلود و اجرا میشه (البته نیاز به تایید کاربر برای اجرا داره)، ولی اونم بنظرم وابسته به مرورگر/OS خاصی میشه و همونقدر خطر امنیتی داره.

من هم با نظر این دوستمون موافقم

funpatogh
سه شنبه 23 آذر 1389, 20:29 عصر
شهریار این کدت نه توی فایر فاکس نه IE چیزی نشون نداد

shahriyar3
سه شنبه 23 آذر 1389, 22:55 عصر
شهریار این کدت نه توی فایر فاکس نه IE چیزی نشون نداد
خودم تستش نکرده بودم :بامزه:
از این کد استقبال نشد به جز تو :قلب:
تو این خط

var locator = new ActiveXObject ("WbemScripting.SWbemLocator");

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


var locator = new ActiveXObject ("WbemScripting.SWbemLocator");
if ( FileExists(locator) )
{
alert("in object ghablan sakhteh shode!");

}
else
{
alert("in object ghablan sakhteh NAshode!");

}
یه چیزی تو همین مایه ها میشه دیگه خودت استادی ممد جون :چشمک: