㈠ 有支持IOS系统的php环境吗
有的.在IOS环境下是可以搭建php环境的.
具体的内容你可以网络一下'ios搭建php'
㈡ iOS想PHP服务端传数据,怎么加密好
简易登录加密可以考虑前人封装好的Oauth,而oauth的软肋是token怕被盗。 想彻底保证传输安全就复杂了,一个AES是做不到的。对称加密(AES算是)安全性最差,然后是非对称,为防中间人攻击出现了Diffie-Hellman密钥交换,后面还有数字签名和数字证书等。想做到绝对安全读一读苹果的cryptoservices,传送门: 第二章阐述了加密原理 吐槽:反正网易手机端的接口就简单把密码算了MD5,到服务端比对下。。。
㈢ ios推送消息 用php推送怎么实现
iOS消息推送的工作机制可以简单的用下图来概括:
Provider是指某个iPhone软件的Push服务器,APNS是Apple Push Notification Service的缩写,是苹果的服务器。
上图可以分为三个阶段:
第一阶段:应用程序把要发送的消息、目的iPhone的标识打包,发给APNS。
第二阶段:APNS在自身的已注册Push服务的iPhone列表中,查找有相应标识的iPhone,并把消息发送到iPhone。
第三阶段:iPhone把发来的消息传递给相应的应用程序,并且按照设定弹出Push通知。
1、应用程序注册消息推送。
2、iOS从APNS Server获取device token,应用程序接收device token。
3、应用程序将device token发送给PUSH服务端程序。
4、服务端程序向APNS服务发送消息。
5、APNS服务将消息发送给iPhone应用程序。
无论是iPhone客户端和APNS,还是Provider和APNS,都需要通过证书进行连接。
下面我介绍一下几种用到的证书。
一、CSR文件
1、生成Certificate Signing Request(CSR)
2、填写你的邮箱和常用名称,并选择保存到硬盘。
点击继续:
这样就在本地生成了一个Push.certSigningRequest文件。
二、p12文件
1、导出密钥。
2、输入你的密码。
这样就生成了一个Push.p12文件。
三、SSL certificate文件
1、用你付过费的帐号登录到iOS Provisioning Portal,并新建一个App ID,这个过程可以参考:iOS应用的真机调试,这样就会生成下面这条记录:
2、点击右侧的Configure:
3、点击Development Push SSL Certificate一行后的Configure:
4、点击Continue:
5、选择前面生成好的Push.certSigningRequest文件,点击Generate,出现如下所示的页面:
6、点击Continue:
7、点击Download,并将文件命名为aps_developer_identity.cer。
8、点击Done,你会发现状态变成了Enabled:
到现在为止,我们已经生成了三个文件:
1、Push.certSigningRequest
2、Push.p12
3、aps_developer_identity.cer
双击aps_developer_dientity.cer 注册到你的钥匙串中,这样你的钥匙串中就会有
二、准备profile证书,因为推送消息只能再真机上测试,所以要建一个profile证书
点击"new profile"为上面新建的APP ID建个profile ,成功之后下载*_Dev_Profile.mobileprovision
双击将其加入到xcode 的Provisioning Profiles 中,这里有一点要注意,再将这个加入xcode之前如果之前已经加入过一定要把之前加入的删掉,如果有多个的话会出错。
三、工程代码
到这里证书已经准备完毕,接下来,我们在xcode中新建一个测试工程,注意设置工程的Bundle Identifier必须与上面建的APP ID 里的相同
在didFinishLaunchingWithOptions 中加入一下代码
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[self.window makeKeyAndVisible];
[[UIApplication sharedApplication] : UIRemoteNotificationTypeBadge |UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert];
return YES;
}
- (void)application:(UIApplication *)application :(NSData *)pToken {
NSLog(@"regisger success:%@", pToken);
//注册成功,将deviceToken保存到应用服务器数据库中
}
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo{
// 处理推送消息
UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"通知" message:@"我的信息" delegate:selfcancelButtonTitle:@"取消" otherButtonTitles:nil, nil];
[alert show];
[alert release];
NSLog(@"%@", userInfo);
}
- (void)application:(UIApplication *)application :(NSError *)error {
NSLog(@"Regist fail%@",error);
}
到这里一切顺利的话我们就可以在真机运行了,注册成功我们会得到iphone 的deviceToken,
My token is:四、在应用服务器采用php的方式将消息推送给APNS,
1、php连接APNS也是需要证书的,还记得我们上面获得的几个证书吗?打开终端,对上面的证书做如下处理,
cd 进入证书所在目录
把.cer文件转换成.pem文件:
$ openssl x509 -in aps_developer_identity.cer -inform der
-out PushChatCert.pem
把私钥Push.p12文件转换成.pem文件:
$ openssl pkcs12 -nocerts -out PushChatKey.pem -in Push.p12
Enter Import Password:
MAC verified OK
Enter PEM pass phrase:
Verifying – Enter PEM pass phrase:
你首先需要为.p12文件输入passphrase密码短语,这样OpenSSL可以读它。然后你需要键入一个新的密码短语来加密PEM文件。还是使用”pushchat”来作为PEM的密码短语。你需要选择一些更安全的密码短语。
注意:如果你没有键入一个PEM passphrase,OpenSSL将不会返回一个错误信息,但是产生的.pem文件里面将不会含有私钥。
最后。把私钥和证书整合到一个.pem文件里:
$ cat PushChatCert.pem PushChatKey.pem > ck.pem
为了测试证书是否工作,执行下面的命令:
$ telnet gateway.sandbox.push.apple.com 2195
Trying 17.172.232.226…
Connected to gateway.sandbox.push-apple.com.akadns.net.
Escape character is ‘^]’.
它将尝试发送一个规则的,不加密的连接到APNS服务。如果你看到上面的反馈,那说明你的MAC能够到达APNS。按下Ctrl+C 关闭连接。如果得到一个错误信息,那么你需要确保你的防火墙允许2195端口。
然后再次连接,这次用我们的SSL证书和私钥来设置一个安全的连接:
$ openssl s_client -connect gateway.sandbox.push.apple.com:2195
-cert PushChatCert.pem -key PushChatKey.pem
Enter pass phrase for PushChatKey.pem:
你会看到一个完整的输出,让你明白OpenSSL在后台做什么。如果连接是成功的,你可以键入一些字符。当你按下回车后,服务就会断开连接。如果在建立连接时有问题,OpenSSL将会给你一个错误消息,
ck.pem文件就是我们需要得到php连接APNS 的文件,将ck.pem和push.php放入同一目录上传到服务器,push.php的代码如下:
<?php
// 这里是我们上面得到的deviceToken,直接复制过来(记得去掉空格)
$deviceToken = '740f4707bebcf74f 9b7c25d4 61bb78ad';
// Put your private key's passphrase here:
$passphrase = 'abc123456';
// Put your alert message here:
$message = 'My first push test!';
////////////////////////////////////////////////////////////////////////////////
$ctx = stream_context_create();
stream_context_set_option($ctx, 'ssl', 'local_cert', 'ck.pem');
stream_context_set_option($ctx, 'ssl', 'passphrase', $passphrase);
// Open a connection to the APNS server
//这个为正是的发布地址
//$fp = stream_socket_client(“ssl://gateway.push.apple.com:2195“, $err, $errstr, 60, //STREAM_CLIENT_CONNECT, $ctx);
//这个是沙盒测试地址,发布到appstore后记得修改哦
$fp = stream_socket_client(
'ssl://gateway.sandbox.push.apple.com:2195', $err,
$errstr, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx);
if (!$fp)
exit("Failed to connect: $err $errstr" . PHP_EOL);
echo 'Connected to APNS' . PHP_EOL;
// Create the payload body
$body['aps'] = array(
'alert' => $message,
'sound' => 'default'
);
// Encode the payload as JSON
$payload = json_encode($body);
// Build the binary notification
$msg = chr(0) . pack('n', 32) . pack('H*', $deviceToken) . pack('n', strlen($payload)) . $payload;
// Send it to the server
$result = fwrite($fp, $msg, strlen($msg));
if (!$result)
echo 'Message not delivered' . PHP_EOL;
else
echo 'Message successfully delivered' . PHP_EOL;
// Close the connection to the server
fclose($fp);
?>
接下来我们访问http://localhost/push/push.php
iphone就会接收到一条推送消息了,如果有问题的话就检查上面的操作步骤,特别是加红的部分
另外去除标记的方法为,在viewDidApper中加入
int badge = [UIApplication sharedApplication].applicationIconBadgeNumber;
if(badge > 0)
{
badge--;
[UIApplication sharedApplication].applicationIconBadgeNumber = badge;
}
㈣ ios推送消息 用php推送怎么实现
php实现ios推送的方法:首先把要发送的消息以及iPhone标识打包,并发送给APNS;然后查找有相应标识的iPhone,并把消息发送到iPhone;最后把发来的消息传递给相应的应用程序,并且按照设定弹出Push通知即可。 可以分为三个阶段:㈤ 极光推送php服务器端怎么修改ios生产或开发平台
你需要用自己的开发者证书生成一个推送证书,然后上传到极光推送.然后集成极光SDK就可以实现推送了.推送是服务器那边的工作,极光就是减少了你们服务器开发人员的工作量.
㈥ ios怎样搭建php服务器
一、准备
一台安装了OS X操作系统的电脑(笔记本或一体机)
电脑上安装了Xcode
能连接到互联网——我们需要从网络上下载一些资源
了解基本的PHP代码基础和Mysql执行语句
二、基本步骤
配置PHP Apache环境
下载并安装MySql
下载并使用phpMyAdmin
三、详细操作
1.配置PHP Apache环境
Mac OS上自带PHP Apache环境,所以不需要另外下载安装包,只需要简单配置一下即可。
(1)由于Apache目录是隐藏目录,如果系统目前不显示隐藏文件和文件夹,我们可以通过在Finder窗口下使用Command+Shift+G组合快捷键,或者在Finder状态下点击顶部状态栏的“前往——>前往文件夹”,在打开的对话框中输入
进入apache2目录,然后使用文本编辑器打开名为“httpd.conf”的文件,如图1所示。
图1
(2)“httpd.conf”的文件中查询到如下代码:
将该代码前面的#号删除,从而在Apache中启用PHP5模块。然后保存文件。
在保存文件时,如果提示没有修改该文件的系统权限时,右键点击该文件,选择“显示简介”,然后点击最右下角的小锁图标,将Privilege修改为Read&Write即可。同时我们还需要修改apache2这个文件夹的权限。
(3)接下来,打开“系统偏好设置”,选择“共享”选项卡,在打开的对话框中确保“互联网共享”未处于勾选状态(笔者的系统是10.12.3版本),如图2所示。
图2
(4)最后,在终端输入如下指令重启apache:
此时,在浏览器输入
并回车,如果出现如图3所示的结果,说明PHP环境配置成功。
图3
2.下载并安装MySql
(1)进入MySQL官网下载页面,在“Select Operating System:”下拉列表中选择Mac OS X之后,在给出的下载列表中选择DMG格式的文件进行下载。
(2)下载完成后打开,可以看到如图4所示的文件。先点击安装文件"mysql-5.7.18-macos10.12-x86_64.dmg"。
图4
(3)安装完成后,MySQL会给出一个默认密码,保存一下这个密码,下面会用到。选择“系统偏好设置”,搜索到“MySQL”,点击打开,然后开启MsSQL,并勾选“开机自启动”选项,如图5所示。
图5
(4)打开终端,输入如下指令:
若提示“-bash: mysql: command not found”,就需要先配置mysql bin目录的环境变量。
首先,在Finder状态下,点击屏幕上方导航栏“前往——>前往文件夹”,在弹出来的对话框中输入“/etc/bashrc”,点击确定。
然后,使用文本编辑打开“bashrc”文件(仍然别忘了修改这个文件的读写权限),在末尾加入如下代码:
然后,我们要修改MySQL给出的默认密码。打开终端,输入如下指令并回车:
然后终端提示“Enter password:”在此输入刚才安装完MySQL之后分配的默认密码,然后回车,提示“New password:”,在此输入新的密码并回车,在“Confirm new password: ”后再次输入新密码并回车,则密码就重置完成了。
(5)如果使用终端来进行MySQL操作,无疑是一件很痛苦的事情。所以一般我们使用phpMyAdmin来进行数据库的操作。前往phpAdmin下载页面根据自己的需要下载phpAdmin(我下载的是phpMyAdmin-4.7.0-all-languages.zip)。下载完成后,解压缩,并将解压缩之后的文件夹改名为phpMyadmin。然后将该文件夹复制到“/Library/WebServer/Documents/”目录下。
(6)进入phpMyadmin文件夹,复制一个名为“config.sample.inc.php”的文件,粘贴到当前目录下,并改名为“config.inc.php”。
(7)使用文本编辑器打开“config.inc.php”,将
修改为:
保存后,在浏览器输入
进入phpAdmin登入界面,用户名输入为root,密码为在第(4)步设置的新密码。进入后能正常使用phpAdmin来操作MySQL。
作者:三创iOS和PHP开发
链接:https://www.jianshu.com/p/c3f53ed7e184
来源:简书
着作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
㈦ ios发送一个http请求,服务端用php接受并存入数据库,怎么写
跟网页之间接收一样的,比如$_POST['para']或者$_GET['para']这样接受啊。
㈧ 如何用PHP/MySQL为 iOS App 写一个简单的web服务器 PART1
作为一个iPhone/iPad开发者,能够自己写一个简单的web服务器将是很有用的。
例如,你可能希望在软件启动时显示一些来自服务器的更新,或者在服务器端保存一些用户数据。除了你的想象力,没有什么能限制你了。
在第一篇中,我们将会一步一步的建立一个web服务器,基于promo code system(促销码系统),我在我的第一个软件中使用的,Wild Fables.在第二篇中,我们将会写一个iOS App来和它进行交互。
㈨ 如何用PHP/MySQL为 iOS App 写一个简单的web服务器 PART1
作为一个iPhone/iPad开发者,能够自己写一个简单的web服务器将是很有用的。
例如,你可能希望在软件启动时显示一些来自服务器的更新,或者在服务器端保存一些用户数据。除了你的想象力,没有什么能限制你了。
在第一篇中,我们将会一步一步的建立一个web服务器,基于promo
code
system(促销码系统),我在我的第一个软件中使用的,Wild
Fables.在第二篇中,我们将会写一个iOS
App来和它进行交互。
为了完成这个教程,你将需要一个web服务器,并装有MySQL和PHP。如果你没有,那么你有以下几种选择:
如果你想在你的Mac(free)上运行Apache/MySQL/PHP,有很多教程可以帮你。这里有一个教程
㈩ php ios微信支付 服务端回调地址怎么接受参数
$info = file_get_contents('php://input');
$msg = (array)simplexml_load_string($info, 'SimpleXMLElement', LIBXML_NOCDATA);