Is it reliable to use the IP address to identify a user on your website?

前端 未结 12 1524
醉酒成梦
醉酒成梦 2021-01-04 14:44

Here is my situation. I am part of a project creating a P2P charity website, where users connect and can give money to one another. Because of the nature of the site, we kno

相关标签:
12条回答
  • 2021-01-04 15:12

    I do development for an ASP service, and we have recently went through a required 3rd party security audit to obtain status allowing us to host data for a certain government agency. So if I may share some of the information I gleaned turning the trainings, perhaps it would help.

    First, IP addresses can be used to assist in what you are trying to accomplish, but they are definately not good by themselves. An example would be the wireless at McDonalds. Everyone at McDonalds is connected to the same wireless and are using the same public IP address through a NAT, which translates from a local address (i.e. 192.168.0.xxx) to a public address for all computers located behind it. The NAT keeps entries so it knows what traffic is allowed to come back into the network, and which computer it is going to.

    We found that a good security measure is to use an encrypted session key that is included with all GET/POST submits. That session key contains a GUID which is a lookup to the current session. So even if someone breaks your session encryption, they still need to guess at a GUID in order to find a valid session. On top of that, by tracking IP addresses, if it changes suddenly, we can immediately invalidate the session (we also have whitelisting in case someone is load balancing multiple internet lines, which can cause the IP to change frequently). A cookie can also be used in place of the IP address tracking, as two people behind the same NAT can potentially hijack each other if they can find a way to steal the other person's session key.

    Encrypted cookies are also a good way to enforce security. But make sure you are using a framework that is tried and tested, as they have already closed the known vulnerabilities for you. Believe it or not, our security company told us that .NET has emerged as one of the top secure frameworks that they know of. I almost fell out of my chair when I heard that.

    0 讨论(0)
  • 2021-01-04 15:13

    No, it is not reliable. Because:

    1. Residential customers who aren't specifically paying for a static IP address will often see their addresses change frequently. I'm on AT&T DSL and I see my IP address change roughly twice per month on average
    2. People legitimately sharing an internet connection, whether they're using different workstations in the same office with a T1 line, or they're all connected to the same Wi-fi hotspot at Starbucks, will all have the same IP address.
    3. Related to the above, people who are mobile, such as people who use laptops to connect to Wi-fi at coffee shops, airports, hotels, etc, will have a different IP address for each location they visit.
    4. Even people who stay in one place with a static IP address can spoof your system by using a proxy server or a proxy tool like Tor. This makes IP restrictions trivial to bypass.
    0 讨论(0)
  • 2021-01-04 15:13

    As an alternative for the future: New Intel® Business Processors Deliver Leading Security, Manageability and Performance

    As long as the connection between the browser and the CPU isn't interviened which I believe there is more risk of with a browser than a desktop application.

    0 讨论(0)
  • 2021-01-04 15:14

    Personally I don't think it'll be reliable.

    The main reason will be for those using a shared IP. That includes most users connecting from inside a business and home users connecting through the same WIFI hub.

    It's more than likely for multiple users to be coming to your site with the same IP address.

    Adding to that the fact that IP addresses change over time and you're already losing track of your users.

    It's also worth remembering that oftentimes multiple users will be using the same physical computer. Are you wanting to have only one member of a household able to signup etc?

    0 讨论(0)
  • 2021-01-04 15:17

    No.

    Many connections are behind NAT (One public gateway IP address for many people), or use DHCP (frequently changed IP addresses).

    An IP address is one of the worst ways of identifying a user.

    0 讨论(0)
  • 2021-01-04 15:17

    There is a dicussion board I am part of that bans sock puppets ( that is, multiple accounts by the same user ). They have no means of automatically detecting them, becasue there is no means of definitively identifying them. IP addresses are captured, because they can be used to help identify sock puppets, but I know that the process of identifying these is laborious, manual, and error-prone.

    This is only undertaken when there is suspicion that someone is using sock puppets for malicious or disruptive purposes. In your case, there is no real answer other than careful and manual monitoring of usage habits, using the information that you gather about users to attempt to identify suspicious habits. But you also have to accept that 80% of sock puppets will go undetected, and do what you can to warn other users of the possibility.

    Your bigger issue, incidentally, may be Munchausen by Internet which we were also caught by.

    0 讨论(0)
提交回复
热议问题