-Ce code se connecte sur un serveur mutualisé basé chez 1and1.
-Un script Php est lancé créant un fichier json pour chaque ip qui se connecte.
■ Ce fichier Json contient :
- L'adresse ip du client qui se connecte,
- Un flag de création de compte,
- Le nombre de connexion,
- Le nombre de tentatives de flood. (La limite étant fixé à 4), flood
Pressez la touche F5 pour exécuter ce code. Si vous respectez un intervalle de 5 secondes environ entre chaque appui sur la touche F5, vous ne serez pas ban."ip":"80.13.XXX.XXX","AccountCreate":1,"CountConnect":11,"Flood":0}
Bien évidement je vous demanderais de ne pas respecter cette règle et vous verrez le compteur de flood s'incrémenter de 1 en 1.
Si vous respectez à nouveau les 5 secondes de délais, le compteur de flood sera remis à zero.
Après 4 tentatives de flood, vous serez ban ip.
Merci pour votre participation.
Code : Tout sélectionner
EnableExplicit
#PR_Test = 0
Global url.s = "http://s242132022.onlinehome.fr/2ox/"
Procedure ServerEnable()
Protected Header.s, Buffer.s, Result.b
Header = GetHTTPHeader(Url + "isenable")
Buffer = StringField(Header, 1, #LF$)
If FindString(buffer, "200 OK")
Result = #True
EndIf
ProcedureReturn Result
EndProcedure
Procedure.s Php(Script.s, Parameters.s = "")
Protected UserAgent.s = "The quick brown fox jumps over the lazy dog."
Protected *Buffer, Size, Buffer.s
If ServerEnable()
*buffer = ReceiveHTTPMemory(url + script + "/" + URLEncoder(parameters), #PB_HTTP_NoRedirect, UserAgent)
If *buffer
Size = MemorySize(*buffer)
Buffer = PeekS(*buffer, Size, #PB_UTF8|#PB_ByteLength)
FreeMemory(*buffer)
EndIf
EndIf
ProcedureReturn Buffer
EndProcedure
Procedure Connect()
Protected Parameters.s, Buffer.s, n
Parameters = "?process=" + Str(#PR_Test)
Buffer = Php("421", Parameters)
If Buffer
For n = 1 To CountString(Buffer, #CR$)
Debug StringField(Buffer, n, #CR$)
Next
Else
Debug "Sorry, You're banned (ip) ^_^"
EndIf
EndProcedure
InitNetwork()
Connect()