开发者

Creating a webpage with user accounts, what do I need to keep in mind?

I am trying to write a website that has user accounts. There isn't much sensitive information other than the password and email address. But I don't really understand what I'm doing; I'm kind of hacking it along as I go开发者_如何学JAVA. Is there anything I should be keeping in mind with respect to security or any other important details?


You should:

  • encrypt sensitive data
  • avoid:
    • avoid sql injection
    • Session hijacking
    • Session fixation

Recommended Reading:

PHP Security Guide


Sarfraz Ahmed brought up some good resources for reading. You could also use a PHP class for user authentication, there are plenty. I my self have put up a project called userFlex on sourceForge http://uflex.sourceforge.net

userFlex has a decent documentation and it does more than just login users; it does registration and field validations, password resets, confirmation codes for registrations, handles sessions and more like autologin.

Again im just putting up userFlex as an example, you could also look into http://www.phpclasses.org/browse/file/5269.html or many other good Classes in PHPclasses.org.


Use JanRain Engage (formerly rpxnow.com) for authentication. Their solution lets people use their existing credentials from Google, Yahoo, Microsoft, Facebook and others to log into your site. Many of these providers will give a valid OpenID and often a valid email address as a part of the authentication process.

If you use JanRain, you then only have to store the email address or the OpenID for a user, and you don't have to store passwords or password hashes. Furthermore, you don't have to implement any password reset functionality, or "forgot my password". Also your user registration functionality can be much smaller because you start it with a valid email address or OpenID provided by its owner.

The communication between your application and JanRain is authenticated and encrypted, so it is all nice & secure.


You MUST use the MD5 php function for passwords. Simple way of securing it. Also make sure you use strip_tags in php so that someone cant execute commands in your input boxes. Since there isn't any sensetive data i dont think you need to encrypt anything. Just make sure the login system is perfect and the user has no other way of accessing data without logging in..

Shud suffice for a basic login script..

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜