-
امنیت در ساخت نظر سنجی
با سلام
دوستان راه کارهایی که برای ایجاد یه سیستم نظر سنجی در اینجا
امنیت از نظر تکرای نبودن سیستم رای دهنده
دوستان چه چیز هایی را پیشنهاد میکنند.
برای مثال سیستم نظر سنجی که تعداد زیاد نظر سنجی دارد و کاربر با انتخاب نظر سنجی به ان رای میدهد.
ip = که Change میشود و به کار نمیاد.
کوکی و .. ؟
-
نقل قول: امنیت در ساخت نظر سنجی
کاربرایی که تو نظرسنجی شرکت می کنن عضو سایت یا نه؟؟؟
-
نقل قول: امنیت در ساخت نظر سنجی
من دارم روی همین کار میکنم. به خیلی چیزا بستگی داره.
اگر نظرسنجی برای کاربران عضوه که مشکلی نیست ولی اگر برای عموم مردمه اون وقت:
میتونی از چندین روش در کنار هم استفاده کنی: ip رو در db ذخیره کن، کوکی درست کن، همچنین اگر نظرسنجی خیلی مهمه میتونی از ایمیل هم استفاده کنی
-
نقل قول: امنیت در ساخت نظر سنجی
اگه کارران عضو نیستن بهترین روش استفاده از کوکی هست به طور مثال میتونید کد نظرسنجی رو به صورت کدشده درون کوکی ست کنید و قبل هرنظرسنجی چک کنید . چون ای پی های هیچ کاربری دائمی نیست و با قطع و وصل شدن اینترنت ای پی هم تغییر میکنه پس بنابراین در این مورد روش خوبی نیست !
-
نقل قول: امنیت در ساخت نظر سنجی
بله کاربران عضو نیستند ببخشید که یادم رفت.
برای کوکی چون من به تعداد زیاد نظر سنجی دارم.
چطوری همه رو کنترل کنم.
ممنون میشم با کد باشه
---------------------
ایمیل فایده نداره. ip فایده نداره . ایا کوکی راه گشان :متفکر:
ایا قابل دلیت نیست؟
-
نقل قول: امنیت در ساخت نظر سنجی
تو تعداد کوکی ها که محدودیتی نیست گوگل نزدیگ 50 کوکی تو مرورگر من ست کرده .....
به نظر من ای پی اصلا مناسب نیست چون شرکت های adsl ای پی های مشترکینشون رو پویا تعریف می کنن این موضوع رو من بار ها امتحان کردم ای پی ام هر روز تغییر می کنه.
-
نقل قول: امنیت در ساخت نظر سنجی
خوب اگر با کوکی پیاده سازی شود.
برای هر نظر سنجی به چه شکل پیاده سازیش کنم :متفکر:
-
نقل قول: امنیت در ساخت نظر سنجی
HttpCookie name = new HttpCookie("localclientn");
name.Expires = DateTime.Now.AddYears(30);
name.Value = "value";
Response.Cookies.Add(name);
-
نقل قول: امنیت در ساخت نظر سنجی
برای هر نظر سنجی یک اسم منحصر به فرد انتخاب کنید یا ای دی یا هر چیز دیگه که اون اسم کوکی شما می شه.....موقع رجوع دوباره کاربر و مشاهده نظر سنجی هم چک می شه که یک همچین اسمی دو کوکی هست یا نه مطابق اون نمایش می دید.
Request.Cookies["localclientm"] != null
-
نقل قول: امنیت در ساخت نظر سنجی
نظر سنجی داینامیک است خوب با کد های بالا اگر id نظر سنجی بدیم به کوکی برای مثال
HttpCookie name = new HttpCookie("localclientn");
name.Expires = DateTime.Now.AddYears(30);
name.Value = "value";
Response.Cookies.Add(name);
این برای 1 نظر سنجی کار میده
خوب برای نظر سنجی بعدی که id فرق داره که نمیتوان یک ساختار بالا را داشته باشیم
چون queri string > id پاس میدیم و ما فقط یه ساختار بالا را داریم
-
نقل قول: امنیت در ساخت نظر سنجی
نه .
شما هر نظر سنجی که ایجاد می کنین یک ای دی داره کاربر که مراجعه می کنه و تو نظر سنجی شرکت می کنه یک کوکی با نام نظرسنجی یا شماره ایدی ایجاد می کنید در مرورگر بازدید کننده
HttpCookie name = new HttpCookie(id);
name.Expires = DateTime.Now.AddYears(30); name.Value = "true";
Response.Cookies.Add(name);
این فرایند برای هر نظر سنجی که بازدید کننده شرکت می کنه ثابت.
-
نقل قول: امنیت در ساخت نظر سنجی
برای مثال
id = 1 شرکت کرد. و 1 کوکی با name=1 ثبت میشه.
برای id = 2 چطوری باید چک کنه
منظورم اینه که اگه HttpCookie name = new HttpCookie("1");
قسمت برای if
int id = Int32.Parse(Request.Cookies["1"].Values[0]);
if (id == kd)
{
}
منضورم اینه Replase نمیشه روی مقدار name بعدی!
مگر 1 کوکی نمی سازه. :متفکر:
چطوری id های دیگر در خودش ذخیره میکنه.
چون ما یک متغیر name تعریف کرده ایم
-
نقل قول: امنیت در ساخت نظر سنجی
HttpCookie name = new HttpCookie(id);
تو این خط id همون اسمی که تو قسمت کوکی مرورگر ذخیره می شود و شما این id رو ست می کنید و برای چک کردن این که ایا یک کوکی مورد نظر موجود هست یا نه
if (Request.Cookies[id] != null)
همین خط مشخص می کنه کوکی با نام مورد نظر شما وجود داره یا اگر وجود داره پس بازدید کننده تو نظر سنجی شرکت کرده و گر نه شرکت نکرده
-
نقل قول: امنیت در ساخت نظر سنجی
به کوکی های همین سایت اگه نگاه کنید نام کوکی هاش با هم متفاوت
-
نقل قول: امنیت در ساخت نظر سنجی
خوب با کد های ارائه شده ما از یه ساختار استفاده میکنیم و برای چک کردن هم اگر با این دستور باشه if (Request.Cookies[id] != null)
سوال من اینه
آیا هر با که ما id به nem میدهیم و Response.Cookies.Add(name); میکنیم
id ها در کوکی name ذخیره میشوند و به صورت list در میان آیا ؟
مثل list.item.ad است این کوکی ها .
این قسمت متوجه نمیشم که وقتی ما id نظر سنجی گرفتیم برای بار اول مشکلی نیست ولی برای بار 2 مثل list.item.adمیشه برای کوکی
-
1 ضمیمه
نقل قول: امنیت در ساخت نظر سنجی
با سلام
من یه سمپل کامل از نظر سنجی با کامپوننت Pool درست کردم.
فقط میمونه set کردن کوکی .
ممنون میشم کدها را در برنامه کار کنید:بوس:programer-ir
PollsResult.aspx باید در این صفحه کوکی قرار داده شود
پروژه net 4
-
نقل قول: امنیت در ساخت نظر سنجی
سلام ببین این به کارت میاد :
if (blockMode == Poll.BlockMode.COOKIE.ToString()) //If block by Cookie read the cookie to see if there is an entry for this blog
{
if (Request.Cookies["Poll"] != null && Request.Cookies["Poll"]["ID"] != null)
{
//the cookie will have comma seperated IDs of all the polls that already voted
string commaSeperatedPollIDs = Request.Cookies["Poll"]["ID"];
//split it with comma
string[] pollIDs = commaSeperatedPollIDs.Split(",".ToCharArray());
//and loop through each pollID to find whethere the current poll is already voted
foreach (string pID in pollIDs)
{
//if yes break
if (pID == hidPollID.Value)
{
isPolled = true;
break;
}
}
//Save the poll ID in cookie - to block repeated vote if the BlockMode is by Cookie
HttpCookie pollCookie;// = new HttpCookie("Poll");
string valueToStore = ""; //we store the poll IDs as comma seperated values
//the cookie already exists and some PollIDs are already there
if (HttpContext.Current.Request.Cookies["Poll"] != null && HttpContext.Current.Request.Cookies["Poll"]["ID"] != null)
{
pollCookie = HttpContext.Current.Request.Cookies["Poll"];
valueToStore = HttpContext.Current.Request.Cookies["Poll"]["ID"] + "," + pID.ToString(); //append the current PollID to the already existing Poll IDs after a comma
}
else//cookie not exists - create a new one and store the ID
{
pollCookie = newHttpCookie("Poll");
valueToStore = pID.ToString();
}
pollCookie.Values["ID"] = valueToStore;
pollCookie.Expires = DateTime.MaxValue; //this cookie will never expire
HttpContext.Current.Response.Cookies.Add(pollCookie);
-
نقل قول: امنیت در ساخت نظر سنجی
کوکی را به راحتی میشه از کار انداخت این یکی از تنظیمات مرورگرهاست...!
در ضمن جدیدا قسمتی توی مرورگرها اضافه شده به نام Private Browsing که به صورت پیش فرض هیچ چیز روی کامپیوتر کاربر ذخیره نمیکنه پس راه حل شده را به سادگی میشه دور زد اگه براتون نتیجه مهم ازین شیوه استفاده نکنید...!
-
نقل قول: امنیت در ساخت نظر سنجی
نقل قول:
براتون نتیجه مهم ازین شیوه استفاده نکنید...!
جز کوکی چیز دیگه ای از بازدید کننده دست مانیست.
-
1 ضمیمه
نقل قول: امنیت در ساخت نظر سنجی
ضمیمه 80432
این سمپل کامل راهنمایی تون می کنه
-
نقل قول: امنیت در ساخت نظر سنجی
-
نقل قول: امنیت در ساخت نظر سنجی
پیش از این هم در تاپیکی دیگه نظرمو گفتم که یا باید کاربر عضو باشه یا به ازای یه ایمیل اینکار بکنید...!
که حتما باید به شیوه ای تشخیص بدید ایمیل معتبر هست...!
یا ارسال ایمیل به آدرس و تایید فرد سپس ثبت نظر(بهترین شیوه)
یا استفاده از راههایی برای وجود یا عدم وجود ایمیل...!
-
نقل قول: امنیت در ساخت نظر سنجی
:بامزه: خوب بازم نمیشه ایمیل زیاد معتبر نیست.
چون شاید 100 ایمیل یکی داشته باشه.
برای تحت ویندوز یک سری کد ها هستند که kd مادربرد و یا چیزای دیگرو میگرفتند.
برای تحت وب چنین امکانی نیست:گیج:
چون به هر حال
امنیت کم > برای افراد باهوش
خوب چاره چیه :کف:
-
نقل قول: امنیت در ساخت نظر سنجی
باسلام:
دوست من اگه این قدر امنیت و نوع کسی که در نظر سنجی شرکت میکنه مهمه که تکراری نباشه باید کنترل رو بیشتر کنی ( عضویت و یا ...)
اما اگر زیاد مهم نیسیت که همین روش کوکی و IP میتونه جواب گو باشه.(با معایبی که میدونید و در پست های قبل ذکر شده).
موفق باشید.
-
نقل قول: امنیت در ساخت نظر سنجی
نقل قول:
چون شاید 100 ایمیل یکی داشته باشه.
استثناهارو دارید بررسی میکنید مگر چندتا آدم بیکار وجود داره که 100ایمیل بفرسته بعد بره تو ایمیل بعد تایید کنه و...؟
نقل قول:
برای تحت ویندوز یک سری کد ها هستند که kd مادربرد و یا چیزای دیگرو میگرفتند.
برای تحت وب چنین امکانی نیست
خیر فکر نکنم...!
-
نقل قول: امنیت در ساخت نظر سنجی
حالا که انقدر همه چی مهم شده پس استفاده از کپچا هم باید انجام بشه دیگه که خیلی safe بشه
-
نقل قول: امنیت در ساخت نظر سنجی
با سلام
بنظرم کوکی خیلی راه مطمئنی نیست چون میشه راحت پاک کوکی شود ..
نمیدونم ایا راه حل دیگه ای داره یا نه...
یه سوالم خودم داشتم ایا نمیشود سیستم موجودی که کاربر در حال استفاده است رو چک کرد مثل مادربر یا مثلا هارد یا مودم رو ...
-
نقل قول: امنیت در ساخت نظر سنجی
در ضمن اصلان ایمیل برای نظر سنجی منظقی نیست ( برای یک نظر سنجی عمومی )
خب یدفعه بگید ثبت نام کنه!!
-
نقل قول: امنیت در ساخت نظر سنجی
دوستان به نظر من بهترین راه استفاده از مک آدرس هستش. اگه بخواین توضیحات تکمیلی رو بذارم.
-
نقل قول: امنیت در ساخت نظر سنجی
نقل قول:
نوشته شده توسط
parlous
دوستان به نظر من بهترین راه استفاده از مک آدرس هستش. اگه بخواین توضیحات تکمیلی رو بذارم.
با سلام
تحت وب و بدون نصب افزونه خاص امکان بدست آوردن مک آدرس در صفحات وب و اینترنت وجود ندارد
با تشکر
-
نقل قول: امنیت در ساخت نظر سنجی
با سلام
با توجه به آموزه های دوستان و مطالبی هم که عنوان شده بنظر من بهترین روش را استاد عزیز "Saman Hashemi" معرفی کرده، یعنی اینکه شما در زمان دریافت نظر آدرس ایمیل بیننده را نیز در دیتابیس ذخیره کنی و اگه خواستی خیلی محکم کاری کنی بهتره که یک ایمیل فعال سازی برای کاربر ارسال کنی و پس از تایید کاربر ، رای و نظر را فعال کنی و در نتیجه نظرسنجی اضافه کنی.
با تشکر
-
نقل قول: امنیت در ساخت نظر سنجی
نقل قول:
نوشته شده توسط
FirstLine
با سلام
تحت وب و بدون نصب افزونه خاص امکان بدست آوردن مک آدرس در صفحات وب و اینترنت وجود ندارد
با تشکر
اما من اینکارو انجام دادم و خیلی هم خوب نتیجه گرفتم.:چشمک:
اگه دوستان بخوان من کد رو در C#.net میدم.
-
نقل قول: امنیت در ساخت نظر سنجی
خوب بله این کار عملی است .
اما برای شرکت در یه نظر سنجی که دیگه این همه راه را نمیرن کاربران
-
نقل قول: امنیت در ساخت نظر سنجی
نقل قول:
نوشته شده توسط
fakhravari
خوب بله این کار عملی است .
اما برای شرکت در یه نظر سنجی که دیگه این همه راه را نمیرن کاربران
دوست عزیز کاری که کاربران باید انجام بدن یک کلیک ناقابل روی گزینه مورد نظر در نظرسنجیه.:چشمک:
ذخیره مک آدرس و بقیه کارا به عهده کامپیوتر و با کد نویسیه.
و این بهترین و امن ترین راه در نظرسنجیه.
من خودم این مشکل رو داشتم اما بعد از 1هفته بی خوابی به این روش رسیدم و خیلی هم راضی هستم. اما باز میل دوستان هست که کد رو بخوان یا نه.
-
نقل قول: امنیت در ساخت نظر سنجی
نقل قول:
نوشته شده توسط
parlous
اما باز میل دوستان هست که کد رو بخوان یا نه.
نیکی و پرسش!؟
علاوه بر کد، در مورد روشی که میگید هم توضیح بدید.
ممنون
-
نقل قول: امنیت در ساخت نظر سنجی
parlous مثال بزنید :متفکر:ذخیره مک آدرس و بقیه کارا به عهده کامپیوتر و با کد نویسیه.
-
نقل قول: امنیت در ساخت نظر سنجی
نقل قول:
نوشته شده توسط
maktab
نیکی و پرسش!؟
علاوه بر کد، در مورد روشی که میگید هم توضیح بدید.
ممنون
نقل قول:
نوشته شده توسط
fakhravari
parlous مثال بزنید :متفکر:ذخیره مک آدرس و بقیه کارا به عهده کامپیوتر و با کد نویسیه.
دوستان تنها کدی که بایذ بنویسید اینه :
public string GetMACAddress()
{
ManagementObjectSearcher objMOS = new ManagementObjectSearcher("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection objMOC = objMOS.Get();
string MACAddress = String.Empty;
foreach (ManagementObject objMO in objMOC)
{
if (MACAddress == String.Empty)
{
MACAddress = objMO["MacAddress"].ToString();
}
objMO.Dispose();
}
MACAddress = MACAddress.Replace(":", "");
return MACAddress;
}
و مقدار macadress رو در یک textbox اضافه کنید. و وقتی کاربر روی گزینه مورد نظر کلیک کرد مقدار macaddress و شناسه آن نظرسنجی در database ذخیره میشه و دیگه نمی تونه دوباره به همان نظرسنجی رای بده.
به همین سادگی.
-
نقل قول: امنیت در ساخت نظر سنجی
نقل قول:
نوشته شده توسط
FirstLine
با سلام
تحت وب و بدون نصب افزونه خاص امکان بدست آوردن مک آدرس در صفحات وب و اینترنت وجود ندارد
با تشکر
fistline جان این هم برای وب :
<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>
-
نقل قول: امنیت در ساخت نظر سنجی
برای اینکه در asp.net از این روش استفاده کنیم فقط از روش دوم میشه استفاده کرد!؟ نحوه استفاده روش دوم رو هم آموزش بدید.
راستی من از روش اول استفاده کردم ولی ارور گرفت. از حلقه ارور گرفت. البته باید نام ابجکت هایی که درست کردید را تغییر بدید چون هر دو ابجکت یه اسم دارند.
-
نقل قول: امنیت در ساخت نظر سنجی
نقل قول:
نوشته شده توسط
parlous
دوستان تنها کدی که بایذ بنویسید اینه :
public string GetMACAddress()
{
ManagementObjectSearcher objMOS = new ManagementObjectSearcher("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection objMOC = objMOS.Get();
string MACAddress = String.Empty;
foreach (ManagementObject objMO in objMOC)
{
if (MACAddress == String.Empty)
{
MACAddress = objMO["MacAddress"].ToString();
}
objMO.Dispose();
}
MACAddress = MACAddress.Replace(":", "");
return MACAddress;
}
و مقدار macadress رو در یک textbox اضافه کنید. و وقتی کاربر روی گزینه مورد نظر کلیک کرد مقدار macaddress و شناسه آن نظرسنجی در database ذخیره میشه و دیگه نمی تونه دوباره به همان نظرسنجی رای بده.
به همین سادگی.
ManagementObjectSearcher این جیست :متفکر:
در asp کاربرد دارد! چون الا شناسایی نمیشه