2 imaginecode ImagineCode 于 2016.03.25 22:29 提问

前端能否获取mac地址或是唯一标识 1C

在投票过程中,想在前端做一层限制,如果处理。
能否通过js获取mac地址或是cookie等方式,与后端php做配合?

或者,有什么更好的方案。

7个回答

showbo
showbo   Ds   Rxr 2016.03.26 12:33

客户端就只能cookie,服务器端可以通过ip限制

caozhy
caozhy   Ds   Rxr 2016.03.25 23:39

前端获取mac有什么用,刷票的程序可以伪造假的mac,后端则根本不能获取到mac
建议你绑定手机验证,一个手机一票。也可以绑定支付宝、信用卡、身份证等可以识别人的东西。

zhoujianshi_csdn
zhoujianshi_csdn   2016.03.26 00:26

首先,前端是不可能获取mac地址的。
一个折中的方案是,创建一个cookie,比如叫做voted,在后端的php中,检查客户端是否带有这个cookie,
如果有,则说明该客户端以及投过,就拒绝,否则,就投一票,然后通过set_cookie来设置voted,让他下次不能再投了。

不过,cookie也是可以清空的,所以,单纯靠这些手段是没法根本性的防止的。
楼上说的挺好的,可以与其他能够识别人的东西绑定。

microtry
microtry   Rxr 2016.03.26 07:23

首先,网页客户端获取mac地址的方法需要IE浏览器,并且客户端要设置浏览器以允许微软自带的主机脚本控件运行
这种方案不适合你的应用场景,
其次,网上投票想要杜绝刷票是不大可能的,即便是IP地址识别,MAC地址识别,手机验证码,微信绑定,都无法防止刷票

lx624909677
lx624909677   Ds   Rxr 2016.03.28 00:01

mac地址都能直接手动修改!

zhangjs712
zhangjs712   2016.03.28 09:38

前端可以获取MAC地址的,
IE本身使用active就能实现,
chrome需要自己写扩展,chrome获取扩展的方法可以参考我的一篇文章:http://blog.csdn.net/zhangjs712/article/details/50913114

CSDNXIAON
CSDNXIAON   2016.03.30 11:25

[ios2] 获取mac地址 等唯一标识
既然有了MAC地址标识唯一主机,为什么还要发明IP地址
(转)获取设备唯一识别码和Mac地址
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
PHP 获得计算机的唯一标识[CPU,网卡 MAC地址]
//获取电脑的CPU信息 function OnlyU(){ $a = ''; $b = array(); if(function_exists('exec')){ if(mailto:!@exec( /all",$b)){ return false;
JAVA 获取计算机标识 MAC地址和计算机名
public class MacAddress {     private static String         MacAddress     = null;     private static final String[] windowsCommand = { "ipconfig", "/all" };     private static final String
给两个编程时经常用到的代码,一是获取本机的MAC地址,二是获得本机的计算机名
1.获取本机MAC地址,MAC是每个电脑的唯一标识,在编程中经常用到,C#代码如下 /// 获取本机的MAC地址 /// /// private string getMAC() { try { string mac = string.Emp
java获取硬盘ID以及MAC地址等唯一标识码
http://www.360doc.com/content/12/1012/15/10825198_241057806.shtml 1、DiskUtils 获取硬盘编号   import java.io.File;   import java.io.FileWriter;   import java.io.BufferedReader;   im
VC源代码:一键获取网卡MAC地址
调用函数Netbios获得所有网卡信息,并遍历每块网卡,获得网卡的MAC地址。
net + c#获取客户端唯一标识(网卡硬件地址)
net + c#获取客户端唯一标识(网卡硬件地址) public static string GetMACID(){//获取网卡硬件地址string macAdress = string.Empty ;ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");ManagementO
Unity3D获得Android和iOS设备的唯一标识
前言: android为mac地址,ios为advertisingIdentifier 函数都比较简单,网上也搜得到,我也就不多说了,主要是对于我们没做过安卓和IOS开发的人来说,整合进工程有各种的问题。 我也就直接上网盘了点击打开链接,代码包里看得到,比较简单 使用: 把包导进unity工程,然后包里那个mainfest.xml不导入,在你本来的Plugins/Android/
java获取硬盘ID以及MAC地址等唯一标识码(详解,测试通过)
java获取硬盘ID以及MAC地址等唯一标识码(详解,测试通过)
iOS之蓝牙设备的唯一标识问题
当我们使用CoreBluetooth系统框架进行蓝牙开发的时候,有时因为某种功能需求需要拿到特定的蓝牙设备进行特定的操作,这就需要我们拿到能够代表特定的蓝牙设备的唯一标识,通过唯一标识来确认是哪一台蓝牙设备。
一种根据MAC地址自动生成设备名称的方法(一)
#include <stdio.h>typedef unsigned char u_int8; typedef unsigned int u_int32;void setDeviceName(u_int8 *name, u_int8 *macAddr);int main() { u_int8 deviceName[16] = "Device_11111"; u_int8 macAdd