簡體   English   中英

苗條的寧靜API的安全性問題

[英]Security concerns of a slim restful api

我正在遵循這個苗條的教程:

https://www.shift8web.ca/blog/2015/04/use-php-to-set-up-a-restful-api-with-simple-authentication/

我只想從Java應用程序的數據庫中獲取數據。 本教程中提出的方法是否存在任何明顯的安全問題? 如果是這樣,您將如何停止sql注入和DDos攻擊?

認證方式

在該教程中,身份驗證方法基本上沒有錯,許多系統工作就這么簡單。

但是,如果您的應用程序在許多不同的Java客戶端上運行,我將分別為每個設備生成一個訪問令牌。

如果您想要完美的實現,請遵循OAuth2 但是在大多數情況下,這將是一個過大的殺傷力。 (如果我錯了糾正我..)

SQL注入

在本教程的示例中,沒有為SQL查詢字符串提供參數,因此沒有SQL注入。

如果事情變得越來越復雜,我絕對不建議您使用該可疑的lib/mysql.php類。

如果您不想實現與數據庫一起使用的庫,請使用純PDO

在那里,您可以使用准備好的語句來防止SQL注入:

$statement = $connection->prepare("select * from `users` where age = :age");
$statement->bindParam(':age', '42');

如果您是懶惰的人,還可以使用查詢構建器(例如HydrahonPixie ),該構建器將處理准備好的語句本身。

$q->select('users')->where('age', 42)

DDos攻擊

如果您真的很害怕DDos攻擊,可以使用許多解決方案。

如果您的查詢量很大,則可以使用PHP本身實現一個簡單的速率限制器。

您還可以使用Cloudflare之類的服務來自動阻止攻擊。

如果您使用內部解決方案,請購買支持速率限制的防火牆或使用清漆代理。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM