使用Angular JS的mySQL数据库的用户登录系统


User login system with mySQL database with Angular JS?

我正在尝试创建一个用户登录系统,每个用户都有一个密码、一个用户名和一个级别(I.E Admin或Master)。到目前为止我所做的:

使用PHP创建了一个mySQL数据库,并在表中创建了相关字段。

制作了一个简单的Angular JS页面。

我正在尝试链接数据库和页面,这样我就可以根据mySQL表"密码"部分中存储的所有数据来检查用户在登录输入字段中的输入。

你知道我怎样才能做到这一点吗?请给出最简单、直接的答案,因为我是Angular(和mySQL!)的新手

谢谢!

您不应该在有角度的页面上登录,因为所有相关的数据都由javascript处理,可以很容易地停止、调试和分析。

更好的方法是:

  1. 创建一个普通的index.php,它向用户显示一个登录表单
  2. 提交时检查数据库的有效性
  3. 如果用户有效,则启动会话并将header转到实际的角度应用程序页面
  4. 检查这是否是有效的php session的唯一方法是通过角度http服务对数据库相关php脚本进行REST调用
  5. 因此,每次对REST api的读/写访问都应该检查一下,如果这个用户真的被允许在php脚本中执行这个db操作的话
  6. 如果检查失败,header会返回登录页面或一些"Got you!"页面

通过这种方式,attakor可能能够看到angular应用程序的js代码(如果他以某种方式掌握了实际地址),但这对他来说完全没有用,因为只要他没有启动有效的php session,他就永远看不到实际数据。数据是你想要保护的,而不是应用程序的脚本。

简而言之:混合标准PHP验证和Angular。允许haxors访问你的页面,但永远不要向他们显示你的任何底层数据。一旦有人试图篡改你的数据,就把他赶出去。

这与我在这里给出的答案几乎相同

在PHP和Angular网站中搜索标记的关键词,以了解这背后的想法。