【发布时间】:2016-07-23 21:50:25
【问题描述】:
我在 phpmyadmin 中有 3 个 php 文件。其中 2 个是私有的,其中一个是公共的。当我去公共链接时,例如:
mysite./public_php_script.php
它显示了这个
{"teachers":[{"tid":"1","name":"g\u00f6ksel","surname":"biricik","password":"xxxx","tc":"12345678912","email":"goksel@ce.yildiz.edu.tr","avatar":"goksel.jpg"},{"tid":"2","name":"haydar","surname":"ayg\u00f6rmez","password":"xxxx","tc":"12345678913","email":"aygormez@gmail.com","avatar":"haydar.jpg"},{"tid":"48","name":"Caner","surname":"Ayd\u0131n","password":"xxxx","tc":"12345678914","email":"caneraydinbey@gmail.com","avatar":"caner.jpg"},{"tid":"92","name":"deneme","surname":"denemesoy","password":"xxxx","tc":"12345678914","email":"deneme@gmail.com","avatar":"5292-1017.png"},{"tid":"93","name":"deneme2","surname":"denemesoy2","password":"xxxxx","tc":"12345678915","email":"deneme2@gmail.com","avatar":"8446-1012.png"}],"success":1}
我想获取教师数据库数据。如您所见,这些都是公开的,密码也是公开的。我能做些什么?我还没有连接android。
我不应该公开使用这个 php 脚本吗?但是我怎样才能在私有文件中获取这些数据呢?
我应该将 sql 中的密码屏蔽为 php 脚本中的密码吗?但这一次,我怎么能上安卓呢?
我不应该得到密码,但我需要它来检查登录是否正确?
或者对于登录部分,我应该在获取登录密码时使用post方法进行比较吗?此脚本将公开供 android 访问,如果正确,将检查并返回 true,但这次每个人都可以使用此脚本检查密码?
【问题讨论】:
-
您需要使用某种机制来授权访问该资源,否则任何人都可以连接到它并检索这些密码。
-
这个机制在android端还是作为php脚本或者在数据库中?
-
在 php 方面,您要保护的是 php,您不希望任何人能够在未经身份验证的情况下检索该数据。
-
但是对于android端,解析json或者发布用户名密码方法会一样吗? stackoverflow.com/questions/28761558/… 例如,这里的android代码是一样的吗?
-
是的,你在php端授权,但是你必须调用授权,并在客户端(android)上传播结果。像这样:Android 向 php 请求授权,php 返回一个 auth 令牌,android 将此 auth 令牌添加到所有后续调用中,php 在每次调用时验证此令牌。