Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.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
Php 瘦restful api的安全问题_Php_Rest_Sql Injection_Slim - Fatal编程技术网

Php 瘦restful api的安全问题

Php 瘦restful api的安全问题,php,rest,sql-injection,slim,Php,Rest,Sql Injection,Slim,我将遵循此slim教程: 我只想从java应用程序的数据库中获取数据。教程中提出的方法是否存在任何明显的安全问题?如果是这样,您将如何阻止sql注入和DDos攻击 认证 该教程中的身份验证方法基本上没有问题,许多系统的工作就这么简单 但是,如果您的应用程序在许多不同的java客户端上运行,我会为每个设备分别生成一个访问令牌 如果您想要一个完美的实现,请遵循以下步骤。但在大多数情况下,这将是一种过度的杀伤力。(如果我错了,请纠正我) SQL注入 在本教程的示例中,没有为SQL查询字符串提供参数,

我将遵循此slim教程:

我只想从java应用程序的数据库中获取数据。教程中提出的方法是否存在任何明显的安全问题?如果是这样,您将如何阻止sql注入和DDos攻击

认证 该教程中的身份验证方法基本上没有问题,许多系统的工作就这么简单

但是,如果您的应用程序在许多不同的java客户端上运行,我会为每个设备分别生成一个访问令牌

如果您想要一个完美的实现,请遵循以下步骤。但在大多数情况下,这将是一种过度的杀伤力。(如果我错了,请纠正我)

SQL注入 在本教程的示例中,没有为SQL查询字符串提供参数,因此没有SQL注入

如果事情变得越来越复杂,我绝对不建议使用可疑的
lib/mysql.php

如果您不想实现一个库来处理您的数据库,请使用plain

在这里,您可以使用准备好的语句来防止SQL注入:

$statement = $connection->prepare("select * from `users` where age = :age");
$statement->bindParam(':age', '42');
若你们是懒惰的那个类人,你们也可以使用一个查询生成器(比如or),它将处理准备好的语句本身

$q->select('users')->where('age', 42)
DDos攻击 如果您真的害怕DDos攻击,有很多解决方案

如果您有非常繁重的查询,您可以用PHP本身实现一个简单的速率限制器

您还可以使用这样的服务,它将自动阻止攻击

如果您依赖内部解决方案,请购买支持费率限制的防火墙或使用代理