PDA

View Full Version : سوال: نحوه گرفتن مک ادرس با php؟



shahin.khordadi
سه شنبه 06 دی 1390, 16:50 عصر
سلام
از دوستان کسی میدونه چجوری میشه با php باید مک ادرس رو بدست بیاریم؟
کد اونرو اگه میشه میخوام.نیاز فوری دارم

ravand
سه شنبه 06 دی 1390, 17:44 عصر
من اين كد رو روي لوكال هاست تست كردم جواب داد ولي روي سايت جواب نداد حالا اگه شما روي سايت تست كردي جواب داد منم خبر كن متشكر.

<?php
ob_start(); // Turn on output buffering
system('ipconfig /all'); //Execute external program to display output
$mycom=ob_get_contents(); // Capture the output into a variable
ob_clean(); // Clean (erase) the output buffer
$findme = "Physical";
$pmac = strpos($mycom, $findme); // Find the position of Physical text
$mac=substr($mycom,($pmac+36),17); // Get Physical Address
echo $mac;
?>

alireza.stack
سه شنبه 06 دی 1390, 18:12 عصر
دوستان دقت داشته باشید که با این کد نمی شود مک آدرس کاربران سایت را بدست آورد. زمانی که بسته ها از مسیریاب رد می شود گم می شوند و دیگر نمی توانید مک آدرس کاربر کلاینت را بدست آورید، اما اگر پروژه ی شما برای یک محدوده ی LAN هست که داخل شبکه هستید، آنگاه می توانید از این تابع استفاده کنید.

tux-world
چهارشنبه 07 دی 1390, 09:09 صبح
من اين كد رو روي لوكال هاست تست كردم جواب داد ولي روي سايت جواب نداد حالا اگه شما روي سايت تست كردي جواب داد منم خبر كن متشكر.

<?php
system('ipconfig /all'); //Execute external program to display output
?>
اين دستوري كه نوشتيد روي سرور لينوكس كار نميكنه اشتباه هستش دستورش ifconfig هستش

ravand
چهارشنبه 07 دی 1390, 10:42 صبح
اين دستوري كه نوشتيد روي سرور لينوكس كار نميكنه اشتباه هستش دستورش ifconfig هستش

من با اين دستوري كه شما گفتيد در سرور pergig.ir كه مثل گيگفاست تست كردم جواب نداد.
اينم كدهام :

<?php
ob_start(); // Turn on output buffering
system('ifconfig/all'); //Execute external program to display output
$mycom=ob_get_contents(); // Capture the output into a variable
ob_clean(); // Clean (erase) the output buffer
$findme = "Physical";
$pmac = strpos($mycom, $findme); // Find the position of Physical text
$mac=substr($mycom,($pmac+36),17); // Get Physical Address
echo $mac;
?>

ayub_coder
چهارشنبه 07 دی 1390, 22:39 عصر
این دستور مک آدرس مربوط به سمت سرور است نه کلاینت!!

ravand
پنج شنبه 08 دی 1390, 07:26 صبح
این دستور مک آدرس مربوط به سمت سرور است نه کلاینت!!

خب سمت سرور كجاست ديگه!!!! من اين كد رو توي لوكال هاست تست نكردم روي سايت تست كردم.

MMSHFE
پنج شنبه 08 دی 1390, 07:46 صبح
دوستان عزیز، برای چندمین بار هست که توی این انجمن دارم میگم: PHP یک زبان سمت سرور هست، یعنی کدهاش روی سرور اجرا میشه و خروجی اونها به کلاینت ارسال میشه. درنتیجه به هیچ کدام از تنظیمات و خصوصیات سیستم کلاینت دسترسی نداره. با دستورات گفته شده در پاسخهای قبلی این بحث، نهایتاً میتونید MAC Address کامپیوتر سرور (یعنی همون کامپیوتری که فایلهای سایت شما روش قرار داره) رو بفهمید نه کامپیوتر کلاینت (یعنی کاربری که داره سایت شما رو میبینه). برای کارهای سمت کلاینت، از Java و Javascript باید استفاده کنید. البته درمورد استخراج MAC Address بعید میدونم چنین قدرتی داشته باشه یا اصلاً اجازه این کار بهش داده شده باشه. ضمناً فقط تغییر ipconfig به ifconfig مشکل رو رفع نمیکنه. باید ببینید دستور استفاده از ifconfig چی هست. برای مثال، توی لینوکس از / برای مشخص کردن پارامترهای دستورات استفاده نمیشه و معمولاً از - استفاده میکنن. برای مثال، معادل ipconfig /all در ویندوز، توی لینوکس میشه ifconfig -a
برای اطلاعات بیشتر درباره این دستور، اینجا (http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp?topic=/com.ibm.aix.cmds/doc/aixcmds3/ifconfig.htm) و اینجا (http://barnamenevis.org/www.computerhope.com/unix/uifconfi.htm) رو ببینید.
موفق باشید.