Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
阻止通过web浏览器访问iPhone应用程序中使用的PHP脚本_Php_Iphone_Mysql_Security - Fatal编程技术网

阻止通过web浏览器访问iPhone应用程序中使用的PHP脚本

阻止通过web浏览器访问iPhone应用程序中使用的PHP脚本,php,iphone,mysql,security,Php,Iphone,Mysql,Security,我正试图获得更多关于我在另一个问题上提出的问题的信息 基本上,我使用此方法将参数传递给从服务器返回值的php脚本: NSString *urlstr = [[NSString alloc] initWithFormat:@"http://www.yourserver.com/yourphp.php?param=%d", paramVal]; NSURL *url = [[NSURL alloc] initWithString:urlstr]; NSString *ans = [NSString

我正试图获得更多关于我在另一个问题上提出的问题的信息

基本上,我使用此方法将参数传递给从服务器返回值的php脚本:

NSString *urlstr = [[NSString alloc] initWithFormat:@"http://www.yourserver.com/yourphp.php?param=%d", paramVal];
NSURL *url = [[NSURL alloc] initWithString:urlstr];
NSString *ans = [NSString stringWithContentsOfURL:url];
// here in ans you'll have what the PHP side returned. Do whatever you want
[urlstr release];
[url release];

然后我提出问题。如何保护“”?您可以轻松导航到同一脚本(如果知道路径),并传入所需的任何参数。我遗漏了什么吗?

没有,你没有遗漏任何东西。嗯,除了身份验证框架之外。:)


PHP不是保护web应用程序的最佳平台,但您可以使用它

不,你没有遗漏任何东西。嗯,除了身份验证框架之外。:)

PHP不是保护web应用程序的最佳平台,但您可以使用它

将向您显示访问器用户代理,但用户代理肯定是可以欺骗的,您唯一的其他选择是通过检查某些您知道永远不会通过它的字符来锁定参数,也许添加另一个(虚拟)peram只是为了增加一点安全性。除此之外,真的没有其他方法来保护它


将向您显示访问器用户代理,但用户代理肯定是可以欺骗的,您唯一的其他选择是通过检查某些您知道永远不会通过它的字符来锁定参数,也许添加另一个(虚拟)peram只是为了增加一点安全性。除此之外,真的没有其他方法来保护它

您可以使用传出数据的MAC进行发送

这避免了使用完整的blow Auth框架(以及与此相关的会话)

但是,这很容易受到重复攻击,但肯定会验证消息是否源自您的应用程序


您可以使用传出数据的MAC进行发送

这避免了使用完整的blow Auth框架(以及与此相关的会话)

但是,这很容易受到重复攻击,但肯定会验证消息是否源自您的应用程序


在PHP端验证您的输入;如果任何输入有效,则生成密码并在采取任何操作之前将其与要验证的参数一起传递


他们的密码应该尽可能的临时,最好是基于服务器上的临时密码,其中包含应用程序生成的一些数据(即未存储的数据),并且服务器事先知道这些数据。

在PHP端验证您的输入;如果任何输入有效,则生成密码并在采取任何操作之前将其与要验证的参数一起传递


密码应该尽可能是临时的,最好是基于服务器的临时密码,该密码中包含应用程序生成的一些数据(即未存储),服务器事先知道这些数据。

用户代理和伪参数将毫无帮助,因为嗅探这些参数并在web浏览器中使用它们是很简单的。只有高级用户才知道如何愚弄用户代理,通过添加此安全层,您可以减少不受欢迎的用户访问php脚本的机会。用户代理和伪参数将毫无帮助,因为嗅探并在web浏览器中使用它们是很简单的。只有高级用户才知道如何愚弄用户代理,通过添加此安全层,您可以减少不受欢迎的用户访问您的php脚本的机会
$_SERVER['HTTP_USER_AGENT'];