PDA

View Full Version : سوال: شناسه سخت افزاری



ravand
شنبه 16 اردیبهشت 1391, 09:54 صبح
سلام من رفتم توي يوذرم تا مقدار مصرف اينترنتم رو چك كنم بعد با يه كد به شكل زير برخورد كردم كه نوشته بود شناسه ي سخت افزاري ، ميخواستم بدونم چجوري ميتونم با php اين كد رو توليد كنم؟ و آيا هميشه اين كد ثابت هست يا مثلا با تغيير ويندوز اين كد هم تغيير ميكنه يا نه؟

03010000080h04790g6f908402
متشكرم.

MMSHFE
شنبه 16 اردیبهشت 1391, 13:09 عصر
دوست عزیز بستگی به روش تولید این کد داره که آیا در تولیدش، از شناسه های ویندوز هم استفاده شده یا نه ولی باید دقت کنید که PHP سمت سروره و درنتیجه شناسه سخت افزاری که تولید میکنه مربوط به سرور هست و نه کلاینت.

ravand
شنبه 16 اردیبهشت 1391, 13:13 عصر
اين شناسه ي سخت افزاري با مك ادرسي كه منظور شما هست فرق داره.
من وقتي وارد يوذرم در سايت شدم به اين شناسه برخورد كردم.
حتما يه راهي هست.

djsaeedkhan
شنبه 16 اردیبهشت 1391, 14:15 عصر
البته یه چیزی هسم هست ممکنه توسط کد های جاوا اسکریپت یا ... چیز هایی رو گرفته و ارسال کرده باشه
مثلا در سایت های شمارنده یه کد دارن که جاوا اسکریپته و وقتی در سیستم طرف اجرا شد مشخصاتی مثل نوع سیستم عامل و ... رو میگیره و برای سایت ارسال می کنه
راستی من متوجه نشد این چه شناسه ای هست
اصلا مربوط به چی میشه؟

MMSHFE
شنبه 16 اردیبهشت 1391, 14:40 عصر
نه منظور من اصلاً MAC Address نیست. کلاً اطلاعاتی مثل CPU و RAM و HDD و... وقتی توسط PHP (حالا با واسطه ابزارهای COM یا بطور مستقیم) خونده میشه، اطلاعاتی بدست میاد که مربوط به کامپیوتر سرور هست نه کلاینت چون کد PHP داره روی اون کامپیوتر اجرا میشه. مگه اینکه طبق توضیحات دوستمون، توسط JS یکسری اطلاعات از کلاینت دریافت و به سرور ارسال بشه.
موفق باشید.

ravand
شنبه 16 اردیبهشت 1391, 15:19 عصر
والله من نميدونم چي هست. ولي وقتي من وارد يوذرم شدم به اين شناسه روبرو شدم:

03010000080h04790g6f908402
خيلي برام سوال هست كه اين چيه؟
اگه بتونم يه بازديد كننده رو كه مياد توي سايتم هميشه بشناسمش و بدونم كه كيه. خيلي خوبه. چون الان اگه بخواي طرف رو بشناسي نميتوني چون هر باري آي پيش عوض ميشه و نميدوني اين فرد همون فردي هست كه مثلا يه هفته ي پيش يا يه ماه پيش به سايتت سر زده.

MMSHFE
شنبه 16 اردیبهشت 1391, 17:04 عصر
خوب شاید الگوریتمی نوشتن که با ترکیب اطلاعاتی مثل Agent و OS و Browser و IP کاربر و... که برای سرور ارسال میشه (توسط JS) یک کد یکتا برای هر بازدیدکننده تولید میشه (توسط PHP).

ravand
شنبه 16 اردیبهشت 1391, 17:09 عصر
يعني به نظر شما اين شناسه اصلا تغيير نميكنه؟
خب اگه با اين اطلاعات همچين كدي نوشتن پس چرا اسمش رو گذاشتن شناسه ي سخت افزاري؟

MMSHFE
شنبه 16 اردیبهشت 1391, 18:11 عصر
خوب شاید توی اطلاعاتی که از سیستم شما دریافت میشه یکسری موارد سخت افزاری هم اخذ میشه مثل سریال CPU و... (که مطمئن نیستم اینطوری باشه). شاید هم یه ترفنده که به فکر دور زدنش نیفتین و کاربران فکر کنن واقعاً برحسب اطلاعات سخت افزارشون تولید میشه. برای امتحان، با یک ویندوز دیگه روی همون سیستم وارد سایت بشین. اگه کد فرق کنه یعنی به احتمال زیاد سخت افزاری نیست.

faraa_T
چهارشنبه 10 مهر 1392, 21:39 عصر
سلام
دیدم مشکل من یه جورایی مربوط میشه به این تاپیک همینجا مطرحش کردم
من از ای دی اس ال مخابرات استفاده می کنم و وقتی داخل سایت مربوطه می شم تا گزارش کارکرد ماهانه روببینم کنارهرسطر از گزارش که شامل اطلاعاتی مثه ساعت و مدت اتصاله یه آدرس آی پی و یه چیزی به اسم شناسه ی سخت افزاری درج شده...
این شناسه ی سخت افزاری چیه
آیا همون مک آدرسه؟؟؟
ممنون پیشاپیش

mnvoh90
چهارشنبه 10 مهر 1392, 22:25 عصر
والله من نميدونم چي هست. ولي وقتي من وارد يوذرم شدم به اين شناسه روبرو شدم:

03010000080h04790g6f908402
خيلي برام سوال هست كه اين چيه؟
اگه بتونم يه بازديد كننده رو كه مياد توي سايتم هميشه بشناسمش و بدونم كه كيه. خيلي خوبه. چون الان اگه بخواي طرف رو بشناسي نميتوني چون هر باري آي پيش عوض ميشه و نميدوني اين فرد همون فردي هست كه مثلا يه هفته ي پيش يا يه ماه پيش به سايتت سر زده.
خوب ثبت نام رو واسه همین گذاشتن که کسی میاد لاگین کنه و بدونی کیه. ولی می تونی از کوکی فلش استفاده کنی که با پاک کردن کوکی های براوزر پاک نمی شه و بیت براوزر هام مشترک هست.

اینم هست حوصله داشتی بخون ببین چیز به درد بخوری داره
(https://panopticlick.eff.org/browser-uniqueness.pdf)

ravand
پنج شنبه 11 مهر 1392, 06:31 صبح
این تاپیک رو من بیش از یک سال پیش زده بودم!
شنبه 16 اردیبهشت 1391 11:24 صبح
ولی خوب بد نبود جواب دادی! خب هر کاربری رو که نمیشه مجبورش کرد ثبت نام کنه وقتی هم که ثبت نام کرد چند ماه بعد هم ممکنه رمزش رو فراموش کنه و دوباره ثبت نام کنه. ولی در رابطه با این کوکی فلش من تا حالا در موردشون چیزی نشنیدم. با چی کار میکنه؟ با فلش پلییر؟

eshpilen
پنج شنبه 11 مهر 1392, 08:23 صبح
برنامه های فلش هم میتونن روی هارد اطلاعات ذخیره کنن. بهشون کوکی هم میگن.
این کوکی ها جدای از کوکی مرورگر هستن، ولی بازم میشه جلوشون رو گرفت یا پاکشون کرد.
ضمنا evercookie که قبلا چند بار بهش اشاره کرده بودم، از چندین روش همزمان منجمله کوکی های فلش استفاده میکنه، ولی اونم باز غیرقابل دور زدن و پاک کردن نیست؛ اصلا شاید الان دیگه زیاد کاربردی نداشته باشه (مال چند سال پیشه).

ravand
پنج شنبه 11 مهر 1392, 08:48 صبح
در مورد کوکی فلش مطالب خوبی پیدا کردم ولی نفهمیدم با چه دستوری میتونم کوکی فلش رو بگیرم؟
http://negahbaan.ir/article/2011/jun/505
http://selahshoor.blogspot.com/2011/01/blog-post.html

eshpilen
پنج شنبه 11 مهر 1392, 09:07 صبح
کوکی فلش مال برنامه های فلشه. با برنامه های فلش ست میشه و با برنامه های فلش هم میتونید دوباره بخونیدشون (سمت کلاینت).
با PHP نمیشه، با جاوااسکریپت هم قاعدتا نباید بشه.

mnvoh90
پنج شنبه 11 مهر 1392, 09:34 صبح
این تاپیک رو من بیش از یک سال پیش زده بودم!
شنبه 16 اردیبهشت 1391 11:24 صبح
ولی خوب بد نبود جواب دادی! خب هر کاربری رو که نمیشه مجبورش کرد ثبت نام کنه وقتی هم که ثبت نام کرد چند ماه بعد هم ممکنه رمزش رو فراموش کنه و دوباره ثبت نام کنه. ولی در رابطه با این کوکی فلش من تا حالا در موردشون چیزی نشنیدم. با چی کار میکنه؟ با فلش پلییر؟

:قهقهه: :قهقهه: اصلا حواسم به تاریخ نبود. تاپیک تو نوشته های جدید بود واسه همین جواب دادم. آره فقط با فلش می شه. باید یه آبجکت فلش رو تو دام قرار بدی. ست کردن و خوندن هم که قاعدتا با actionscript هست. اینم نمونه کد برای استفاده تو فلش:
as3 - set and retrieve flash cookie (http://kpaste.ir/fa/ViewPaste/view/22)

ravand
پنج شنبه 11 مهر 1392, 09:36 صبح
. آره فقط با فلش می شه. باید یه آبجکت فلش رو تو دام قرار بدی. ست کردن و خوندن هم که قاعدتا با actionscript هست.
میتونی یه مثال ساده برامون بذاری؟ هر چند فلش هم باشه.
من فقط نیستم که دنبالشم. بحث جالبیه.
متشکرم.

mnvoh90
پنج شنبه 11 مهر 1392, 09:58 صبح
میتونی یه مثال ساده برامون بذاری؟ هر چند فلش هم باشه.
من فقط نیستم که دنبالشم. بحث جالبیه.
متشکرم.

درست می گی خیلی کاربرد می تونه داشته باشه. نه تنها تو اینمورد بلکه مثلا فرض کن می خوای با یه دکمه یه رشته رو بریزی تو clipboard. این کار خیلی وقته که با جاوااسکریپت دیگه امکان پذیر نیست و باید از فلش استفاده کرد.
حالا واسه مثال همون کدی که دادم خدمتتون رو فرض کنید. اون اسم کامل منو ذخیره می کنه. بعد فایل swf خروجی رو باید تگ object تو فایل html بزارم. (http://kpaste.ir/fa/ViewPaste/view/23)

حالا فرض کنید که یه تابع javascript داریم به این شکل:


function JsTestFunction(myFlashValue) {
return (myFlashValue + 'is my name!');
}


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


import flash.external.*;
var JSvalue:String;
JSvalue = ExternalInterface.call('JsTestFunction',COOKIE_DAT A);


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

eshpilen
پنج شنبه 11 مهر 1392, 10:11 صبح
فرض کن می خوای با یه دکمه یه رشته رو بریزی تو clipboard. این کار خیلی وقته که با جاوااسکریپت دیگه امکان پذیر نیست
مطمئنی؟
در IE که میشه.
فایرفاکس هم تا مدتها بخاطر مسائل امنیتی این کار رو اجازه نمیداد، اما مثل اینکه در نسخه های اخیر امکانپذیر شده (چند وقت پیش یجایی خبری چیزی در این مورد خوندم).
امکانات جاوااسکریپت برعکس نسبت به گذشته روز به روز بیشتر هم شده.
یک دلیلش هم همینه که دیگه فلش داره کنار گذاشته میشه.

mnvoh90
پنج شنبه 11 مهر 1392, 10:18 صبح
مطمئنی؟
در IE که میشه.
فایرفاکس هم تا مدتها بخاطر مسائل امنیتی این کار رو اجازه نمیداد، اما مثل اینکه در نسخه های اخیر امکانپذیر شده (چند وقت پیش یجایی خبری چیزی در این مورد خوندم).
امکانات جاوااسکریپت برعکس نسبت به گذشته روز به روز بیشتر هم شده.
یک دلیلش هم همینه که دیگه فلش داره کنار گذاشته میشه.

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

faraa_T
پنج شنبه 11 مهر 1392, 13:04 عصر
الحمدلله ما یه سوال پرسیدیم سوال ملت جواب داده بشه...
:D

mnvoh90
جمعه 12 مهر 1392, 15:33 عصر
الحمدلله ما یه سوال پرسیدیم سوال ملت جواب داده بشه...
:D

خوب مگه بده؟ الان کلی ثواب بردید :لبخند:
بله احتمال زیاد همون مک آدرس هست. برای اینکه ۹۹٪ هم مطمئن شید اگر که ۱۲ کاراکتر هست و فقط متشکل از اعداد و حروف a-f هست و مخصوصا دو کاراکتر دو کاراکتر با - یا : جدا شده شناسه ی سخت افزاری هست و بعید میدونم چیز دیگه ای باشه.

ravand
جمعه 12 مهر 1392, 15:55 عصر
از اینکه جواب دادی متشکرم. ولی من از این مثال های فلشی که گذاشتی چیزی سر در نیاوردم. من میخوام این کوکی فلش رو بگیرم بدم به یه متغییر بعد وارد دیتابیس کنم ولی موندم چطوری این کوکی فلش رو از دستورات فلش بگیرم؟ من از این کد فلش شما چیزی سر در نیاوردم. یه مثالی چیزی بدرد بخور و ساده تر از اینایی که گفتی نداری ؟
فکر نمیکنم چیز پیچیده ای باشه. مشکل اینه که من فلش کار نکرد.

MMSHFE
جمعه 12 مهر 1392, 16:48 عصر
مطمئنید MAC Address هست؟ اونوقت میشه بگین چطوری MAC Address رو با یک زبان سمت سرور بدست آوردن؟ حتی استخراج این اطلاعات در حوزه اختیارات JS و زبانهای سمت کلاینت هم نیست. حالا شاید با Java بشه یه کارهایی کرد ولی اونهم قبلش Permission میخواد. درهرحال چیزی که مسلمه اینه که MAC Address نیست و حدس میزنم یه جورایی فریب باشه. مثلاً یک Hash برای شما تولید شده و توی دیتابیس ذخیره کردن و بهتون موقع لاگین نشون میدن. یا حتی ممکنه یک Hash با ترکیب اطلاعاتی که ازطریق هدرها دریافت میشه، تولید شده باشه ولی قطعاً MAC Address کلاینت نیست چون نه در PHP و نه در هیچ زبان سمت سرور دیگری قابل دسترسی نیست.

mnvoh90
جمعه 12 مهر 1392, 21:17 عصر
از اینکه جواب دادی متشکرم. ولی من از این مثال های فلشی که گذاشتی چیزی سر در نیاوردم. من میخوام این کوکی فلش رو بگیرم بدم به یه متغییر بعد وارد دیتابیس کنم ولی موندم چطوری این کوکی فلش رو از دستورات فلش بگیرم؟ من از این کد فلش شما چیزی سر در نیاوردم. یه مثالی چیزی بدرد بخور و ساده تر از اینایی که گفتی نداری ؟
فکر نمیکنم چیز پیچیده ای باشه. مشکل اینه که من فلش کار نکرد.

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


مطمئنید MAC Address هست؟ اونوقت میشه بگین چطوری MAC Address رو با یک زبان سمت سرور بدست آوردن؟ حتی استخراج این اطلاعات در حوزه اختیارات JS و زبانهای سمت کلاینت هم نیست. حالا شاید با Java بشه یه کارهایی کرد ولی اونهم قبلش Permission میخواد. درهرحال چیزی که مسلمه اینه که MAC Address نیست و حدس میزنم یه جورایی فریب باشه. مثلاً یک Hash برای شما تولید شده و توی دیتابیس ذخیره کردن و بهتون موقع لاگین نشون میدن. یا حتی ممکنه یک Hash با ترکیب اطلاعاتی که ازطریق هدرها دریافت میشه، تولید شده باشه ولی قطعاً MAC Address کلاینت نیست چون نه در PHP و نه در هیچ زبان سمت سرور دیگری قابل دسترسی نیست.
نه با Php که بدست نمی آرن. اگر اگر اگر با Php بشه مک آدرس رو هم بدست آورد فقط ماله سرور میشه. ولی مک آدرس رو اونا وقتی به دست می آرن که مودم شما درخواست اتصال رو به ISP‌ ارسال می کنه.

ravand
شنبه 13 مهر 1392, 13:30 عصر
شما گفتید میشه با جاوا اسکریپت این کوکی فلش رو گرفت. چطوری میشه مقدار خروجی کد فلش رو که یه کوکی فلش بهمون داده رو بدیم به یه متغییر در جاوا اسکریپت؟

mnvoh90
شنبه 13 مهر 1392, 21:37 عصر
شما گفتید میشه با جاوا اسکریپت این کوکی فلش رو گرفت. چطوری میشه مقدار خروجی کد فلش رو که یه کوکی فلش بهمون داده رو بدیم به یه متغییر در جاوا اسکریپت؟
از تو فلش با AS یه تابع جاوا اسکریپت که نوشتیم رو فراخوانی میکنیم و داده رو به عنوان پارامتر به تابع جاوا اسکریپت میدیم. این تابع جاوا اسکریپت (http://kpaste.ir/fa/ViewPaste/view/65) بود و این هم کد اکشن اسکریپت (http://kpaste.ir/fa/ViewPaste/view/66)

ravand
یک شنبه 14 مهر 1392, 11:40 صبح
ببین مشکل اینجاست که :
مثلا ما الان این برنامه ی فلش رو داریم با پسوند .swf ذخیره می کنیم:

import flash.external.*;
var JSvalue:String;
JSvalue = ExternalInterface.call('JsTestFunction',COOKIE_DAT A);

مثلا با نام flash.swf
بعد این دستورات جاوا اسکریپت رو هم در یک فایل با نام مثلا test.htm قرار می دیم:

<script type="text/javascript">
function JsTestFunction(myFlashValue) {
return (myFlashValue + 'is my name!');
}
JsTestFunction();
</script>

حالا مشکل اینه که نمیدونم فایل فلش رو توی یک فایل html که شامل کدهای جاوا اسکریپت هست چجوری فراخوانی کنم؟ که بعد با تابع جاوا اسکریپت مقدار کوکی رو بگیرم؟
با embed با چی؟

mnvoh90
یک شنبه 14 مهر 1392, 12:21 عصر
ببین مشکل اینجاست که :
مثلا ما الان این برنامه ی فلش رو داریم با پسوند .swf ذخیره می کنیم:

import flash.external.*;
var JSvalue:String;
JSvalue = ExternalInterface.call('JsTestFunction',COOKIE_DAT A);

مثلا با نام flash.swf
بعد این دستورات جاوا اسکریپت رو هم در یک فایل با نام مثلا test.htm قرار می دیم:

<script type="text/javascript">
function JsTestFunction(myFlashValue) {
return (myFlashValue + 'is my name!');
}
JsTestFunction();
</script>

حالا مشکل اینه که نمیدونم فایل فلش رو توی یک فایل html که شامل کدهای جاوا اسکریپت هست چجوری فراخوانی کنم؟ که بعد با تابع جاوا اسکریپت مقدار کوکی رو بگیرم؟
با embed با چی؟
خوب ببین اگر که میخوای واقعا از این استفاده کنی باید دیگه بری کامل سرچ کنی ببینی چه خبره. من خودم تا حالا همچین چیزی احتیاج نداشتم ولی راه حل کلیش این بود که گفتم. حالا شما راه حل کلی تون اینه که می گم دیگه خودتون دنبال جزییاتش رو بگیرید.
برای اینکه کوکی فلش رو تو جاوااسکریپت استفاده کنید ود را دارید:
۱. به محض اینکه فایل فلش اجرا میشه یه تابع جاوااسکریپت رو فراخونی کنه و مقدار کوکی رو به جاوااسکریپت بده(همینیه که کد دادم ولی مطمئن نیستم همین کار کنه، این راه حل کلیش بود و شاید تغییراتی بخواد)
۲. هر وقت که خواستید کوکی رو بگیرید از طریق جاوااسکریپت یه تابع که تو فلش هست رو فراخونی کنید.
هر دوی این روش هم با استفاده از کلاس ExternalInterface تو فلش قابل اجرا هست. یه راه دیگم داره ولی همه اینو بهتر می دونن. اینم چند تا سایت که به دردتون می خوره واسه اینکار:
سایت ۱ (http://scriptcult.com/archives_155/article_334-call-javascript-function-from-as3-and-viceversa.htm)
سایت ۲ (http://stackoverflow.com/questions/17065766/as3-function-call-from-javascript)
سایت ۳ (http://www.kirupa.com/flash/calling_javascript_flash_using_as3.htm)
سایت ۴ (http://help.adobe.com/en_US/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7ca8.html)
سایت ۵ (http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/external/ExternalInterface.html)
با اینا مطمئنا می تونید کارتونو راه بندازید.

mnvoh90
یک شنبه 14 مهر 1392, 12:22 عصر
حالا مشکل اینه که نمیدونم فایل فلش رو توی یک فایل html که شامل کدهای جاوا اسکریپت هست چجوری فراخوانی کنم؟ که بعد با تابع جاوا اسکریپت مقدار کوکی رو بگیرم؟
با embed با چی؟
با embed فقط باید فایل swf رو تو html بزارید