Table des matières
回复内容:
Maison développement back-end tutoriel php PHP写的API如何防止拒绝服务攻击?

PHP写的API如何防止拒绝服务攻击?

Jul 21, 2016 pm 12:01 PM
android ios key php websocket

现在很多公司都是用PHP写API来对接前端的web/iOS/Android,云和端是完全分离的,无法做到动态协商。如果双方都协定一个静态KEY,那么在web的js中是透明的,就算是ios/android也很容易通过截包或反编译获得这个KEY。
现在一般的云服务能接受的最大并发也几千,如果被拒绝服务攻击给占满势必会影响正常用户的访问。尤其是用类似websocket这样的通信协议,一旦建立了连接就会一直占着坑,随便写一段简单的多线模拟连接来骚扰一下,服务器就基本摊了。
请问如何在PHP端适当的防止此类攻击?不必太极致,把瘫痪控制在10分钟内一般的小型应用应该还是可以接受的。

回复内容:

其实题主说的问题 普遍存在 从两方面可以说下

代码方面:
程序员的经验吧 。一般就是代码方面黑白名单 其次就是接口超时的处理 剩下的就是一些规范。其实没有什么特别好的经验 。更多来说 一般的小黑客也不会直接DDOS你 。要是真的DDOS 你 这些基本也够了。 更多是日常维护的对数据异常的处理。

其实 你不用担心被恶意攻击。接口这东西 说白了 也是POST GET 。只要你在处理接口数据时候过滤 保证数据的安全性 一般的漏洞是可以防住的 。 一般的三流黑客基本都会挡在这个门口。 除非你网站很出名 那你可以找安全公司做下测试 。基本也就OK 应对DDoS攻击,更多的是系统层面的防护,PHP写的API接口一般是业务上的,业务上的PHP能做的就是不要挂,做到尽量快的响应
另外考虑到机器负载能力,基本上这类问题就需要用到流量控制,限定一个终端对于某个API一段时间内访问次数 1.认证接口接收一个客户端时间和一个签名。首先验证客户端时间与服务器时间在一定误差范围内(比如±5分钟,误差范围越大越不安全),然后验证签名是否一致(签名算法必须使用客户端时间),成功后返回一个token和一个随机字符串。
2.除认证接口之外的所有接口必须接收token和一个签名。首先检查token是否合法,然后验证签名是否一致(签名算法必须使用认证接口返回的随机字符串)。
3.所有接口做策略:
1) 验签失败一定次数(1次,2次,3次,越大越不安全),屏蔽ip。
2) 单ip调用超限(最好根据业务需要,针对每个接口做不同的限制。比如登录,可以要求5次/天),屏蔽ip。 ip白名单 太频繁的就封IP呗 不用这么麻烦,使用iptables
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

Comment configurer Visual Studio Code (VS Code) pour le développement PHP Comment configurer Visual Studio Code (VS Code) pour le développement PHP Dec 20, 2024 am 11:31 AM

Visual Studio Code, également connu sous le nom de VS Code, est un éditeur de code source gratuit – ou environnement de développement intégré (IDE) – disponible pour tous les principaux systèmes d'exploitation. Avec une large collection d'extensions pour de nombreux langages de programmation, VS Code peut être c

Xiaomi Redmi Note 14 Pro Plus arrive en tant que premier smartphone Qualcomm Snapdragon 7s Gen 3 avec caméra Light Hunter 800 Xiaomi Redmi Note 14 Pro Plus arrive en tant que premier smartphone Qualcomm Snapdragon 7s Gen 3 avec caméra Light Hunter 800 Sep 27, 2024 am 06:23 AM

Le Redmi Note 14 Pro Plus est désormais officiel en tant que successeur direct du Redmi Note 13 Pro Plus de l'année dernière (375 $ sur Amazon). Comme prévu, le Redmi Note 14 Pro Plus est en tête de la série Redmi Note 14 aux côtés du Redmi Note 14 et du Redmi Note 14 Pro. Li

Comment analysez-vous et traitez-vous HTML / XML dans PHP? Comment analysez-vous et traitez-vous HTML / XML dans PHP? Feb 07, 2025 am 11:57 AM

Ce tutoriel montre comment traiter efficacement les documents XML à l'aide de PHP. XML (Language de balisage extensible) est un langage de balisage basé sur le texte polyvalent conçu à la fois pour la lisibilité humaine et l'analyse de la machine. Il est couramment utilisé pour le stockage de données et

Le design de l'Oppo Find X8 ressemble à un croisement entre Apple iPhone 16 Pro et OnePlus Open dans les premières images Le design de l'Oppo Find X8 ressemble à un croisement entre Apple iPhone 16 Pro et OnePlus Open dans les premières images Sep 28, 2024 am 06:04 AM

Historiquement, Oppo a actualisé sa série phare « Find X » à la fin de l'hiver ou au début du printemps, à l'exception du Find X original annoncé en juin 2018. À cette fin, les Find X7 et Find X7 Ultra ont à peine plus de six mois. à ce point. H

Programme PHP pour compter les voyelles dans une chaîne Programme PHP pour compter les voyelles dans une chaîne Feb 07, 2025 pm 12:12 PM

Une chaîne est une séquence de caractères, y compris des lettres, des nombres et des symboles. Ce tutoriel apprendra à calculer le nombre de voyelles dans une chaîne donnée en PHP en utilisant différentes méthodes. Les voyelles en anglais sont a, e, i, o, u, et elles peuvent être en majuscules ou en minuscules. Qu'est-ce qu'une voyelle? Les voyelles sont des caractères alphabétiques qui représentent une prononciation spécifique. Il y a cinq voyelles en anglais, y compris les majuscules et les minuscules: a, e, i, o, u Exemple 1 Entrée: String = "TutorialSpoint" Sortie: 6 expliquer Les voyelles dans la chaîne "TutorialSpoint" sont u, o, i, a, o, i. Il y a 6 yuans au total

Le Samsung Galaxy Z Fold Special Edition a été révélé pour atterrir fin octobre alors que des noms contradictoires émergent Le Samsung Galaxy Z Fold Special Edition a été révélé pour atterrir fin octobre alors que des noms contradictoires émergent Oct 01, 2024 am 06:21 AM

Le lancement du très attendu pliable « Special Edition » de Samsung a pris une autre tournure. Ces dernières semaines, les rumeurs concernant le soi-disant Galaxy Z Fold Special Edition sont devenues plutôt silencieuses. Au lieu de cela, l’accent s’est déplacé vers la série Galaxy S25, y compris

iQOO Z9 Turbo+ fait ses débuts sous le nom de smartphone Dimensity 9300+ avec une autonomie de batterie « hors du commun » iQOO Z9 Turbo+ fait ses débuts sous le nom de smartphone Dimensity 9300+ avec une autonomie de batterie « hors du commun » Sep 26, 2024 am 06:20 AM

Le Z9 Turbo+ est maintenant disponible sur la boutique en ligne chinoise de Vivo à 2 199 yuans (~ 313 $) pour un modèle de base de 12 Go de RAM/256 Go de stockage interne, tandis que le RedmiK70 Extreme Edition a commencé à 2 599 yuans (~ 370 $) avec la même configuration : en fait, son nouveauiQ

See all articles