准备用 php 给 app 写接口,以前没做过,请问大家有没有项目给予参考,谢谢

2014-11-17 16:30:28 +08:00
 cougar
我们有自己的网站,基于PHP+mySQL开发。

目前正要着手于移动端开发,想用PHP给APP写数据接口,以前没做过给APP提供接口的工作,搜到的类似内容不多。

不知道有没有参考案例?或者有没有在线上运行的样板可参考?

先谢谢大家。
8559 次点击
所在节点    问与答
21 条回复
abelyao
2014-11-17 16:32:24 +08:00
写 API 吗?和什么语言无关吧,看的是 API 的设计方式。
参考 新浪微博 API,淘宝 API,微信 API,GitHub API 都不错,同时参考: http://www.ruanyifeng.com/blog/2011/09/restful.html 这篇文章
qiayue
2014-11-17 16:37:02 +08:00
1、需要加密,以确保只响应来自于自己 APP 的请求;
2、使用 JSON 格式传输数据;
3、RESTful;
4、跟写网站一样,只不过视图变成了 JSON 输出。
cooper
2014-11-17 16:38:34 +08:00
cougar
2014-11-17 16:41:34 +08:00
@abelyao 多谢

@qiayue 加密那块是不是理解为必须要带token还是什么别的?
cougar
2014-11-17 16:44:39 +08:00
@cooper 非常感谢!
em70
2014-11-17 16:51:49 +08:00
这不需要什么特殊处理啊,app需要读取什么数据,用GET或者post方法提交服务器(一个PHP接口地址),返回XML或者json就行了,PHP只处理逻辑,显示给APP负责.
cougar
2014-11-17 17:09:34 +08:00
@em70 原来一直做网站的,想找些app方面有什么特殊的处理,比如要token,要传设备信息神马的。
gangsta
2014-11-17 17:12:24 +08:00
google RESTful
neutrino
2014-11-17 17:14:42 +08:00
post的内容和时间戳加密后放在head里
cougar
2014-11-17 17:37:27 +08:00
@neutrino 恩 多谢
em70
2014-11-17 17:51:35 +08:00
@cougar 如果数据很关键害怕人抓包,加密很简单,XML或者json做3次base64再把里面的a和b,c和d互换就足够应付水平一般的小偷了.要防高手,那就用一些专业的加密算法,aes128什么的,GET传个密匙.看有没有必要,不是必须的.
zsk425
2014-11-17 18:12:58 +08:00
siteshen
2014-11-17 18:15:00 +08:00
HTTP header里加上版本信息时很有必要的,无论是以后增加兼容性API的hack,还是自己做数据分析。header名供参考:

X-{APPNAME}-APP-VERSION
X-{APPNAME}-DIST-CHANNEL
X-{APPNAME}-DEVICE-PLATFORM
cougar
2014-11-17 22:02:37 +08:00
@em70 @siteshen 都是实用的经验。谢谢。

@zsk425 目前看起来有点吃力,慢慢啃,多谢
kslr
2014-11-17 23:28:56 +08:00
我觉得加密分两种级别,一种是usertoken,一种是ssl
视安全程度而定
ETiV
2014-11-17 23:43:20 +08:00
1. 接口都是你问我答, 规则两边定好就行了.
2. HTTP GET 会被缓存, POST 不会.
3. 不要迷信 HTTPS, 我私自开一个 mitmproxy, HTTPS 访问一样是明文的. 这样你API自身没做内容加密, 还是没用.

你的内容真的很重要, 还是会有人去破.

我当初在 PSP 上用 gdb 下断点+dump内存的方式获取游戏解密出来的内容, 就是说我根本不需要知道你的加密算法和密钥, 利用游戏本身提供的解密功能就行了...
kukat
2014-11-18 00:31:51 +08:00
没有绝对安全的防范方法

只有比较有效:
1. SSL
2. 公钥+私钥+timestamp based singautre
kukat
2014-11-18 00:32:23 +08:00
@kukat

*signature
ashamp
2014-11-18 02:09:18 +08:00
留名,等高人的解决方案学习之
自己的api用的是asp的ashx解决的
xuwenmang
2014-11-18 06:36:49 +08:00
嗯,学习下说不定就能自己写个社会化评论看看。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/147191

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX