[2 days left] What’s wrong with your cloud strategy? Learn why multicloud solutions matter with Nimble Storage.Register Now

x
?
Solved

Get Mac address of Linux server via a PHP script running on server

Posted on 2013-05-25
4
Medium Priority
?
4,925 Views
Last Modified: 2013-05-26
Hello (PHP, Linux) Experts,

I'm hoping to be able to restrict access to a PHP program I wrote, to one specific Ubuntu server, based on its Mac address, (i.e., access the Mac address and compare it against the Mac address stored in an obfuscated file on the server).

The program will be hosted on a client's Ubuntu server. I'm trying to restrict the operation of the program to this one specific server Mac address.

Is there a means of programmatically accessing the Mac address of the Linux server via PHP script?

Note: I've seen a half dozen PHP scripts that DO NOT WORK... or only work on Windows servers. I need some PHP code that will work on an Ubuntu Linux server.

Is it even possible to access the Mac address of a Linux server from a PHP program... or is Linux too smart?

Thanks!

Tom
0
Comment
Question by:PierceWeb
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
4 Comments
 
LVL 84

Expert Comment

by:Dave Baldwin
ID: 39197368
'ifconfig' where you would find the MAC address apparently requires elevated or root privileges.  You could 'sudo' your PHP program on the command line and get the information.  If you are running thru Apache, it would be more difficult to get the correct permissions.
0
 
LVL 7

Accepted Solution

by:
multimac earned 2000 total points
ID: 39197491
Basically you want to run something easy like
<?
exec("/sbin/ifconfig | grep HWaddr", $output);
print_r( $output);
?>

Open in new window


gives you
Array
(
    [0] => eth0      Link encap:Ethernet  HWaddr ff:51:0a:0b:04:af
)

Now you can check if your $mac is a substring in the command output. You could also regexp or cut out the HWaddr.
0
 
LVL 2

Author Closing Comment

by:PierceWeb
ID: 39198127
multimac,

Thanks... that will work nicely!

Much appreciated.

Thanks,

Tom
0
 
LVL 84

Expert Comment

by:Dave Baldwin
ID: 39198134
Cool, I couldn't get a slightly different version to work yesterday but this one works on my Ubuntu system.  I suggest adding 'eth0' to the command or else on systems like mine where there are many IP addresses, you will get many lines of information.  And if they are simply additional IPs on the same interface, it just repeats the MAC address and other stuff over and over again.
<?
exec("/sbin/ifconfig eth0 | grep HWaddr", $output);
print_r( $output);
?>

Open in new window

0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Since pre-biblical times, humans have sought ways to keep secrets, and share the secrets selectively.  This article explores the ways PHP can be used to hide and encrypt information.
Google Drive is extremely cheap offsite storage, and it's even possible to get extra storage for free for two years.  You can use the free account 15GB, and if you have an Android device..when you install Google Drive for the first time it will give…
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.
This tutorial will teach you the core code needed to finalize the addition of a watermark to your image. The viewer will use a small PHP class to learn and create a watermark.
Suggested Courses

656 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question