แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ IPv6-แƒ—แƒแƒœ PHP-แƒจแƒ˜

แƒฉแƒ•แƒ”แƒœ แƒแƒฎแƒšแƒแƒฎแƒแƒœ แƒ›แƒ˜แƒ•แƒ˜แƒฆแƒ”แƒ— LIR แƒกแƒขแƒแƒขแƒฃแƒกแƒ˜ แƒ“แƒ /29 IPv6 แƒ‘แƒšแƒแƒ™แƒ˜. แƒ“แƒ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ’แƒแƒฉแƒœแƒ“แƒ แƒกแƒแƒญแƒ˜แƒ แƒแƒ”แƒ‘แƒ แƒ›แƒ˜แƒœแƒ˜แƒญแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒฅแƒ•แƒ”แƒฅแƒกแƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒ—แƒ•แƒแƒšแƒงแƒฃแƒ แƒ˜แƒก แƒ“แƒ”แƒ•แƒœแƒ”แƒ‘แƒ. แƒ“แƒ แƒ แƒแƒ“แƒ’แƒแƒœ แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ‘แƒ˜แƒšแƒ˜แƒœแƒ’แƒ˜ แƒ˜แƒฌแƒ”แƒ แƒ”แƒ‘แƒ PHP-แƒจแƒ˜, แƒชแƒแƒขแƒ แƒฃแƒœแƒ“แƒ แƒฉแƒแƒ•แƒฃแƒฆแƒ แƒ›แƒแƒ•แƒ“แƒ”แƒ— แƒกแƒแƒ™แƒ˜แƒ—แƒฎแƒก แƒ“แƒ แƒ›แƒ˜แƒ•แƒฎแƒ•แƒ“แƒ”แƒ—, แƒ แƒแƒ› แƒ”แƒก แƒ”แƒœแƒ แƒแƒ  แƒแƒ แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒ›แƒ”แƒ’แƒแƒ‘แƒ แƒฃแƒšแƒ˜ IPv6-แƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒ—แƒ•แƒแƒšแƒกแƒแƒ–แƒ แƒ˜แƒกแƒ˜แƒ—. แƒญแƒ แƒ˜แƒšแƒ˜แƒก แƒฅแƒ•แƒ”แƒ›แƒแƒ— แƒแƒ แƒ˜แƒก แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ แƒ˜แƒ› แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒฌแƒแƒ แƒ›แƒแƒ˜แƒฅแƒ›แƒœแƒ”แƒ‘แƒ แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ”แƒ‘แƒ—แƒแƒœ แƒ“แƒ แƒ“แƒ˜แƒแƒžแƒแƒ–แƒแƒœแƒ”แƒ‘แƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒกแƒแƒก. แƒแƒšแƒ‘แƒแƒ— แƒแƒ  แƒแƒ แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒ”แƒšแƒ”แƒ’แƒแƒœแƒขแƒฃแƒ แƒ˜, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ˜แƒก แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒก แƒกแƒแƒฅแƒ›แƒ”แƒก.

แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ IPv6-แƒ—แƒแƒœ PHP-แƒจแƒ˜

แƒชแƒแƒขแƒ แƒ—แƒ”แƒแƒ แƒ˜แƒ

แƒžแƒแƒกแƒฃแƒฎแƒ˜แƒกแƒ›แƒ’แƒ”แƒ‘แƒšแƒแƒ‘แƒ˜แƒก แƒฃแƒแƒ แƒงแƒแƒคแƒ. แƒ—แƒฃ แƒ˜แƒชแƒ˜แƒ— แƒ แƒ แƒแƒ แƒ˜แƒก IPv6 แƒ“แƒ แƒ แƒแƒก แƒ›แƒแƒงแƒ•แƒ”แƒ‘แƒ, แƒ”แƒก แƒœแƒแƒฌแƒ˜แƒšแƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ›แƒแƒกแƒแƒฌแƒงแƒ”แƒœแƒ˜ แƒ˜แƒงแƒแƒก แƒ—แƒฅแƒ•แƒ”แƒœแƒ—แƒ•แƒ˜แƒก. แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒแƒ  แƒ˜แƒงแƒแƒก.

แƒแƒ“แƒแƒ›แƒ˜แƒแƒœแƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒแƒ“ แƒฎแƒ”แƒ“แƒแƒ•แƒ”แƒœ IPv6 แƒแƒœแƒแƒขแƒแƒชแƒ˜แƒแƒก, แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ˜แƒก แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒจแƒ”แƒ›แƒแƒซแƒ แƒฌแƒฃแƒœแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒแƒฆแƒ›แƒแƒฉแƒœแƒ“แƒœแƒ”แƒœ. แƒ”แƒšแƒ”แƒ’แƒแƒœแƒขแƒฃแƒ แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ 64.233.177.101 แƒฉแƒ•แƒ”แƒœ แƒ›แƒแƒฃแƒšแƒแƒ“แƒœแƒ”แƒšแƒแƒ“ แƒฌแƒ˜แƒœแƒแƒจแƒ” แƒ•แƒ“แƒ’แƒแƒ•แƒแƒ แƒ— 2607:f8b0:4002:c08::8b แƒ“แƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ“แƒแƒ‘แƒœแƒ”แƒฃแƒšแƒ˜ แƒ•แƒ˜แƒงแƒแƒ—. แƒแƒ แƒ˜แƒ•แƒ” แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒแƒ“แƒแƒ›แƒ˜แƒแƒœแƒ˜แƒก แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒแƒ“แƒ˜ แƒฌแƒแƒ แƒ›แƒแƒ“แƒ’แƒ”แƒœแƒ”แƒ‘แƒ˜แƒ, แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒแƒ“ 32 แƒ“แƒ 128 แƒ‘แƒ˜แƒขแƒ˜. แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ IP แƒžแƒแƒ™แƒ”แƒขแƒ˜ แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก แƒกแƒแƒ—แƒแƒฃแƒ แƒก แƒ›แƒ™แƒแƒชแƒ แƒแƒ“ แƒกแƒขแƒแƒœแƒ“แƒแƒ แƒขแƒ˜แƒ–แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ“แƒแƒœแƒ˜แƒจแƒœแƒฃแƒšแƒ”แƒ‘แƒ˜แƒ— แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒ‘แƒ˜แƒขแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒกแƒแƒ—แƒแƒฃแƒ แƒ”แƒ‘แƒ˜แƒก แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒแƒจแƒ˜ แƒฉแƒแƒฆแƒ แƒ›แƒแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”, แƒ”แƒ แƒ—แƒ˜ แƒ แƒแƒ› แƒฃแƒœแƒ“แƒ แƒแƒ•แƒ˜แƒฆแƒแƒ— แƒแƒฅแƒ”แƒ“แƒแƒœ, แƒแƒ แƒ˜แƒก แƒ˜แƒก, แƒ แƒแƒ› IP แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ”แƒ‘แƒ˜แƒ— แƒ“แƒ แƒ“แƒ˜แƒแƒžแƒแƒ–แƒแƒœแƒ”แƒ‘แƒ˜แƒ— แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ–แƒแƒ’แƒแƒ“แƒแƒ“ แƒ›แƒแƒกแƒแƒฎแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒแƒ แƒแƒ‘แƒ˜แƒ—แƒ˜ แƒ›แƒแƒ—แƒ”แƒ›แƒแƒขแƒ˜แƒ™แƒ˜แƒกแƒ แƒ“แƒ แƒ‘แƒ˜แƒขแƒฃแƒ แƒ˜ แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ. แƒแƒกแƒ”แƒ•แƒ” แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒ›แƒแƒกแƒแƒฎแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒ›แƒแƒ—แƒ˜ แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒจแƒ˜ แƒ แƒแƒ’แƒแƒ แƒช แƒแƒ แƒแƒ‘แƒ˜แƒ—แƒ˜ (4) IPv4-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ“แƒ แƒแƒ แƒแƒ‘แƒ˜แƒ—แƒ˜ (16) IPv6-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ”แƒ แƒ—แƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜ แƒแƒกแƒžแƒ”แƒฅแƒขแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ–แƒ”แƒช แƒฆแƒ˜แƒ แƒก แƒจแƒ”แƒฎแƒ”แƒ‘แƒแƒ, แƒแƒ แƒ˜แƒก แƒฅแƒกแƒ”แƒšแƒ˜แƒก แƒœแƒ˜แƒฆแƒ‘แƒ”แƒ‘แƒ˜ แƒ“แƒ CIDR แƒœแƒแƒขแƒแƒชแƒ˜แƒ. CIDR แƒแƒ แƒ˜แƒก แƒจแƒ”แƒ›แƒแƒ™แƒšแƒ”แƒ‘แƒ Classless Inter-Domain Routing-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก (แƒฃแƒ™แƒšแƒแƒกแƒ แƒ›แƒ˜แƒ›แƒแƒ แƒ—แƒ•แƒ). แƒแƒ› แƒ™แƒแƒœแƒชแƒ”แƒคแƒชแƒ˜แƒแƒ› แƒจแƒ”แƒชแƒ•แƒแƒšแƒ แƒ™แƒšแƒแƒกแƒ˜แƒก แƒ™แƒแƒœแƒชแƒ”แƒคแƒชแƒ˜แƒ IP แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜แƒก แƒ แƒแƒ›แƒ”แƒšแƒ˜ แƒœแƒแƒฌแƒ˜แƒšแƒ˜แƒ แƒฅแƒกแƒ”แƒšแƒ˜แƒก แƒžแƒ แƒ”แƒคแƒ˜แƒฅแƒกแƒ˜ แƒ“แƒ แƒ แƒแƒ›แƒ”แƒšแƒ˜ แƒœแƒแƒฌแƒ˜แƒšแƒ˜ แƒแƒ แƒ˜แƒก แƒฅแƒกแƒ”แƒšแƒ˜แƒก แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒ˜แƒก แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜ แƒแƒ› แƒฅแƒกแƒ”แƒšแƒจแƒ˜. แƒžแƒ แƒแƒฅแƒขแƒ˜แƒ™แƒแƒจแƒ˜, แƒžแƒ แƒ”แƒคแƒ˜แƒฅแƒกแƒ˜แƒก แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒ˜ แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ n แƒ‘แƒ˜แƒขแƒ˜ แƒ“แƒแƒงแƒ”แƒœแƒ“แƒ”แƒ‘แƒ 1-แƒ–แƒ”, แƒ“แƒแƒœแƒแƒ แƒฉแƒ”แƒœแƒ˜ 0-แƒ–แƒ”.

แƒแƒ“แƒแƒ›แƒ˜แƒแƒœแƒ˜แƒก แƒ’แƒแƒกแƒแƒ’แƒ”แƒ‘แƒแƒ“, แƒ”แƒก แƒ˜แƒฌแƒ”แƒ แƒ”แƒ‘แƒ แƒคแƒแƒ แƒ›แƒแƒจแƒ˜ ip.add.re.ss/cidr. แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, 64.233.177.0/24 แƒ›แƒ˜แƒฃแƒ—แƒ˜แƒ—แƒ”แƒ‘แƒก, แƒ แƒแƒ› แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ 24 แƒ‘แƒ˜แƒขแƒ˜ แƒ”แƒฎแƒ”แƒ‘แƒ แƒžแƒ แƒ”แƒคแƒ˜แƒฅแƒกแƒก. แƒ‘แƒแƒšแƒ 8 แƒ‘แƒ˜แƒขแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒกแƒ”แƒ•แƒ” แƒชแƒœแƒแƒ‘แƒ˜แƒšแƒ˜แƒ แƒ แƒแƒ’แƒแƒ แƒช แƒ‘แƒแƒšแƒ แƒ แƒ˜แƒชแƒฎแƒ•แƒ˜ แƒแƒ“แƒแƒ›แƒ˜แƒแƒœแƒ˜แƒก แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒแƒ“แƒ˜ แƒแƒฆแƒœแƒ˜แƒจแƒ•แƒœแƒ˜แƒ—, แƒ”แƒฎแƒ”แƒ‘แƒ แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒก แƒฅแƒ•แƒ”แƒฅแƒกแƒ”แƒšแƒจแƒ˜. แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ•แƒแƒ แƒฏแƒ˜แƒจแƒ˜. 64.233.177.101/32 ะธ 2607:f8b0:4002:c08::8b/128 - แƒ”แƒ แƒ—แƒ˜ แƒ™แƒแƒœแƒ™แƒ แƒ”แƒขแƒฃแƒšแƒ˜ แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜. 2607:f8b0:4002:c08::/64 - แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ 64 แƒ‘แƒ˜แƒขแƒ˜ (แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ 4 แƒฏแƒ’แƒฃแƒคแƒ˜) แƒแƒ แƒ˜แƒก แƒžแƒ แƒ”แƒคแƒ˜แƒฅแƒกแƒ˜, แƒ“แƒแƒœแƒแƒ แƒฉแƒ”แƒœแƒ˜ 64 แƒ‘แƒ˜แƒขแƒ˜ แƒแƒ แƒ˜แƒก แƒšแƒแƒ™แƒแƒšแƒฃแƒ แƒ˜ แƒœแƒแƒฌแƒ˜แƒšแƒ˜. แƒกแƒฎแƒ•แƒแƒ—แƒ แƒจแƒแƒ แƒ˜แƒก, แƒ—แƒฃ แƒ•แƒ˜แƒœแƒ›แƒ” แƒ“แƒแƒ‘แƒœแƒ”แƒฃแƒšแƒ˜แƒ แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒจแƒ˜ โ€ž::โ€œ-แƒ˜แƒ—, แƒแƒ แƒ›แƒแƒ’แƒ˜ แƒแƒ แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ˜ แƒชแƒ•แƒšแƒ˜แƒก แƒกแƒ”แƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ—แƒ•แƒ˜แƒ—แƒœแƒ”แƒ‘แƒฃแƒ  แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒแƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก 0-แƒก. แƒ˜แƒก แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ”แƒ แƒ—แƒฎแƒ”แƒš แƒ’แƒแƒ›แƒแƒฉแƒœแƒ“แƒ”แƒก แƒแƒœแƒแƒขแƒแƒชแƒ˜แƒแƒจแƒ˜. แฒกแƒฎแƒ•แƒ แƒกแƒ˜แƒขแƒงแƒ•แƒ”แƒ‘แƒ˜แƒ—, 2607:f8b0:4002:c08::8b = 2607:f8b0:4002:c08:0:0:0:8b.

แƒ แƒ แƒฃแƒœแƒ“แƒ แƒ•แƒ˜แƒกแƒฌแƒแƒ•แƒšแƒแƒ— แƒแƒ› แƒงแƒ•แƒ”แƒšแƒแƒคแƒ แƒ˜แƒกแƒ’แƒแƒœ? แƒžแƒ˜แƒ แƒ•แƒ”แƒš แƒ แƒ˜แƒ’แƒจแƒ˜, แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒ“แƒ แƒ‘แƒแƒšแƒ แƒฅแƒ•แƒ”แƒฅแƒกแƒ”แƒšแƒ˜แƒก แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜แƒก แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒแƒ แƒแƒ‘แƒ˜แƒ—แƒ˜ AND แƒ“แƒ OR แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—, แƒœแƒ˜แƒฆแƒแƒ‘แƒ˜ แƒแƒ แƒแƒ‘แƒ˜แƒ—แƒ˜ แƒคแƒแƒ แƒ›แƒ˜แƒ—. แƒ›แƒ”แƒแƒ แƒ”แƒช, แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒฅแƒ•แƒ”แƒฅแƒกแƒ”แƒšแƒ˜แƒก แƒ–แƒแƒ›แƒ (แƒแƒœแƒฃ CIDR-แƒ˜แƒ—) n แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ›แƒแƒ˜แƒ—แƒ•แƒแƒšแƒแƒก 1-แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ— n-แƒ”แƒก แƒžแƒแƒ–แƒ˜แƒชแƒ˜แƒ แƒ‘แƒ˜แƒœแƒแƒ แƒฃแƒš แƒฌแƒแƒ แƒ›แƒแƒ“แƒ’แƒ”แƒœแƒแƒจแƒ˜. แƒ‘แƒ˜แƒœแƒแƒ แƒฃแƒšแƒจแƒ˜ แƒ•แƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒแƒ‘ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ“แƒ”แƒ’แƒก แƒจแƒ”แƒคแƒฃแƒ—แƒ•แƒ () ะธ inet_pton () แƒ“แƒ แƒจแƒ”แƒ›แƒ“แƒ’แƒแƒ›แƒ˜ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒ‘แƒ˜แƒขแƒ˜แƒฃแƒ แƒ˜ แƒแƒžแƒ”แƒ แƒแƒขแƒแƒ แƒ”แƒ‘แƒ˜แƒแƒ แƒแƒ‘แƒ˜แƒ—แƒ˜ แƒแƒ แƒ˜แƒก แƒแƒ แƒแƒ‘แƒ˜แƒ—แƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒฌแƒแƒ แƒ›แƒแƒ“แƒ’แƒ”แƒœแƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒฃแƒš แƒ˜แƒฅแƒœแƒแƒก, แƒ•แƒ—แƒฅแƒ•แƒแƒ—, base_convert().

แƒ˜แƒกแƒขแƒแƒ แƒ˜แƒฃแƒšแƒ˜ แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒแƒ™แƒšแƒแƒกแƒแƒ‘แƒ แƒ˜แƒ• แƒ›แƒ˜แƒ›แƒแƒ แƒ—แƒ•แƒแƒก แƒฌแƒ˜แƒœ แƒฃแƒซแƒฆแƒแƒ“แƒ แƒ™แƒšแƒแƒกแƒแƒ‘แƒ แƒ˜แƒ•แƒ˜ แƒกแƒ”แƒ’แƒ แƒ”แƒ’แƒแƒชแƒ˜แƒ. แƒ˜แƒ› แƒจแƒแƒ แƒ”แƒฃแƒš แƒฌแƒšแƒ”แƒ‘แƒจแƒ˜ แƒ•แƒ”แƒ แƒแƒ•แƒ˜แƒœ แƒฌแƒแƒ แƒ›แƒแƒ˜แƒ“แƒ’แƒ”แƒœแƒ“แƒ, แƒ แƒแƒ› แƒแƒ›แƒ“แƒ”แƒœแƒ˜ แƒฅแƒ•แƒ”แƒฅแƒกแƒ”แƒšแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒแƒ“แƒ; แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒœแƒแƒฌแƒ˜แƒšแƒ“แƒ”แƒ‘แƒแƒ“แƒ แƒ›แƒแƒ แƒชแƒฎแƒœแƒ˜แƒ• แƒ“แƒ แƒ›แƒแƒ แƒฏแƒ•แƒœแƒ˜แƒ• แƒ“แƒ˜แƒ“ แƒ‘แƒšแƒแƒ™แƒ”แƒ‘แƒแƒ“: แƒ™แƒšแƒแƒกแƒ˜ A - แƒžแƒ แƒ”แƒคแƒ˜แƒฅแƒกแƒ˜ แƒ˜แƒงแƒ แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ 8 แƒ‘แƒ˜แƒขแƒ˜ (แƒแƒœแƒฃ แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒœแƒแƒ›แƒ”แƒ แƒ˜), แƒฌแƒแƒ›แƒงแƒ•แƒแƒœแƒ˜ แƒ‘แƒ˜แƒขแƒ˜แƒ— 0; แƒ™แƒšแƒแƒกแƒ˜ B - แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ 16 (แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒแƒ แƒ˜ แƒœแƒแƒ›แƒ”แƒ แƒ˜), แƒฌแƒแƒ›แƒงแƒ•แƒแƒœแƒ˜ แƒ‘แƒ˜แƒขแƒ˜ 10; แƒ™แƒšแƒแƒกแƒ˜ C - แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ 24 แƒ‘แƒ˜แƒขแƒ˜, แƒฌแƒแƒ›แƒงแƒ•แƒแƒœแƒ˜ แƒ‘แƒ˜แƒขแƒ˜ 110. แƒแƒ› แƒฌแƒแƒ›แƒงแƒ•แƒแƒœ แƒ‘แƒ˜แƒขแƒ”แƒ‘แƒจแƒ˜ แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ“แƒ˜แƒแƒžแƒแƒ–แƒแƒœแƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒจแƒ˜แƒช แƒ’แƒแƒ˜แƒชแƒ”แƒ›แƒ แƒ™แƒแƒœแƒ™แƒ แƒ”แƒขแƒฃแƒšแƒ˜ แƒ™แƒšแƒแƒกแƒ˜แƒก แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜: 0.0.0.0 - 127.255.255.255 A แƒ™แƒšแƒแƒกแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, 128.0.0.0 - 191.255.255.255 - แƒ™แƒšแƒแƒกแƒ˜ B, 192.0.0.0 - 223.255.255.255 - แƒ™แƒšแƒแƒกแƒ˜ C. แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ˜แƒœแƒขแƒ”แƒ แƒœแƒ”แƒขแƒ˜ แƒ’แƒแƒ•แƒ แƒชแƒ”แƒšแƒ“แƒ แƒ›แƒ—แƒ”แƒš แƒžแƒšแƒแƒœแƒ”แƒขแƒแƒ–แƒ”, แƒ›แƒแƒ แƒ”แƒ’แƒฃแƒšแƒ˜แƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜ แƒ›แƒ˜แƒฎแƒ•แƒ“แƒœแƒ”แƒœ, แƒ แƒแƒ› แƒ›แƒแƒ— แƒ’แƒแƒ›แƒแƒขแƒแƒ•แƒ”แƒก แƒœแƒ˜แƒจแƒแƒœแƒ˜ แƒ“แƒ 90-แƒ˜แƒแƒœแƒ˜ แƒฌแƒšแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒกแƒแƒฌแƒงแƒ˜แƒกแƒจแƒ˜ แƒ›แƒแƒ— แƒจแƒ”แƒ˜แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒก แƒฃแƒ™แƒšแƒแƒกแƒ แƒ™แƒแƒœแƒชแƒ”แƒคแƒชแƒ˜แƒ, แƒ แƒแƒ›แƒแƒช แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ’แƒแƒฎแƒแƒ“แƒ แƒแƒ  แƒ˜แƒงแƒ แƒ›แƒ˜แƒ‘แƒ›แƒฃแƒšแƒ˜. แƒฌแƒแƒ›แƒงแƒ•แƒแƒœ แƒ‘แƒ˜แƒขแƒ”แƒ‘แƒแƒ›แƒ“แƒ”. แƒชแƒแƒขแƒ แƒ›แƒ”แƒขแƒ˜ แƒ“แƒ”แƒขแƒแƒšแƒ˜ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ˜แƒฎแƒ˜แƒšแƒแƒ—, แƒ•แƒ—แƒฅแƒ•แƒแƒ—, แƒ“แƒ˜แƒ“แƒ˜ แƒ“แƒ แƒงแƒแƒ•แƒšแƒ˜แƒกแƒ›แƒชแƒแƒ“แƒœแƒ”.

แƒ›แƒแƒ“แƒ˜แƒ— แƒ’แƒแƒ“แƒแƒ•แƒ˜แƒ“แƒ”แƒ— แƒžแƒ แƒแƒฅแƒขแƒ˜แƒ™แƒแƒ–แƒ”

แƒžแƒ แƒแƒฅแƒขแƒ˜แƒ™แƒแƒจแƒ˜, แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒœแƒ•แƒแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ— แƒกแƒแƒ›แƒ˜ แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒกแƒแƒ•แƒแƒ แƒแƒฃแƒ“แƒ, แƒ แƒแƒ’แƒแƒ แƒช แƒ›แƒ” แƒ›แƒ”แƒฉแƒ•แƒ”แƒœแƒ, แƒ“แƒแƒ•แƒแƒšแƒ”แƒ‘แƒแƒก:

  1. แƒ“แƒ˜แƒแƒžแƒแƒ–แƒแƒœแƒ˜แƒก แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒ“แƒ แƒ‘แƒแƒšแƒ แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜แƒก แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒ;
  2. แƒ›แƒ˜แƒ˜แƒฆแƒ”แƒ— แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒšแƒ˜ แƒ–แƒแƒ›แƒ˜แƒก แƒ“แƒ˜แƒแƒžแƒแƒ–แƒแƒœแƒ˜ (CIDR);
  3. แƒ˜แƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒ, แƒ”แƒ™แƒฃแƒ—แƒ•แƒœแƒ˜แƒก แƒ—แƒฃ แƒแƒ แƒ แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜ แƒ“แƒ˜แƒแƒžแƒแƒ–แƒแƒœแƒก.

แƒ“แƒแƒœแƒ”แƒ แƒ’แƒ•แƒ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ IPv6-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ›แƒแƒ’แƒ แƒแƒ› แƒกแƒแƒญแƒ˜แƒ แƒแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒšแƒแƒ’แƒ˜แƒ™แƒ˜แƒก แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒแƒ“ แƒแƒ“แƒแƒžแƒขแƒ˜แƒ แƒ”แƒ‘แƒ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ. แƒ แƒแƒฆแƒแƒช แƒ˜แƒ“แƒ”แƒ”แƒ‘แƒ˜ แƒ›แƒแƒ›แƒ˜แƒ•แƒ˜แƒ“แƒ แƒแƒฅแƒ”แƒ“แƒแƒœ แƒ’แƒแƒ›แƒแƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ”,, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ“แƒ แƒ˜แƒ’แƒ˜ แƒชแƒแƒขแƒ แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒแƒ“. แƒแƒกแƒ”แƒ•แƒ”, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ”แƒ‘แƒ˜ แƒแƒ  แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒก แƒจแƒ”แƒงแƒ•แƒแƒœแƒ˜แƒก แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ”แƒ‘แƒก. แƒ›แƒแƒจ, แƒฌแƒแƒ•แƒ˜แƒ“แƒ”แƒ—.

แƒ แƒแƒ’แƒแƒ แƒช แƒฃแƒ™แƒ•แƒ” แƒแƒฆแƒ•แƒœแƒ˜แƒจแƒœแƒ”, แƒ“แƒ˜แƒแƒžแƒแƒ–แƒแƒœแƒ˜แƒก แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒ“แƒ แƒ‘แƒแƒšแƒ แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜แƒก แƒ“แƒแƒ“แƒ’แƒ”แƒœแƒ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒ‘แƒ˜แƒขแƒ˜แƒฃแƒ แƒ˜ แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—, แƒ“แƒ˜แƒแƒžแƒแƒ–แƒแƒœแƒ˜แƒก แƒ“แƒแƒกแƒแƒฌแƒงแƒ˜แƒกแƒ˜แƒกแƒ แƒ“แƒ แƒ‘แƒ˜แƒœแƒแƒ แƒฃแƒšแƒ˜ แƒฅแƒ•แƒ”แƒฅแƒกแƒ”แƒšแƒ˜แƒก แƒœแƒ˜แƒฆแƒ‘แƒ˜แƒก แƒชแƒแƒ“แƒœแƒ. แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒแƒ“, แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒ แƒแƒช แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ•แƒแƒ™แƒ”แƒ—แƒแƒ— แƒแƒ แƒ˜แƒก CIDR-แƒ˜แƒก แƒแƒ แƒแƒ‘แƒ˜แƒ— แƒœแƒ˜แƒฆแƒ‘แƒแƒ“ แƒ’แƒแƒ“แƒแƒฅแƒชแƒ”แƒ•แƒ. แƒแƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ•แƒแƒ’แƒ แƒแƒ•แƒ”แƒ‘แƒ— แƒ›แƒ˜แƒก แƒ—แƒ”แƒฅแƒ•แƒกแƒ›แƒ”แƒขแƒแƒ‘แƒ˜แƒ— แƒ’แƒแƒ›แƒแƒกแƒแƒฎแƒฃแƒšแƒ”แƒ‘แƒแƒก แƒ“แƒ แƒฉแƒแƒ•แƒแƒšแƒแƒ’แƒ”แƒ‘แƒ— แƒแƒ แƒแƒ‘แƒ˜แƒ—แƒจแƒ˜.

function cidrToMask ($cidr) {
    $mask = str_repeat('f', ceil($cidr / 4));
    $mask .= dechex(4 * ($cidr % 4));
    $mask = str_pad($mask, 32, '0');
    return pack('H*', $mask);
}

แƒ’แƒแƒ›แƒแƒฌแƒ•แƒ”แƒ•แƒ แƒžแƒแƒ™แƒ”แƒขแƒ˜ ('H*', $mask) แƒแƒฌแƒงแƒแƒ‘แƒก แƒ—แƒ”แƒฅแƒ•แƒกแƒ›แƒ”แƒขแƒแƒ‘แƒ˜แƒ— แƒ’แƒแƒ›แƒแƒกแƒแƒฎแƒฃแƒšแƒ”แƒ‘แƒแƒก แƒ˜แƒกแƒ”แƒ•แƒ”, แƒ แƒแƒ’แƒแƒ แƒช inet_pton (). แƒ”แƒ แƒ—แƒแƒ“แƒ”แƒ แƒ—แƒ˜ แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒ แƒ˜แƒกแƒแƒ, แƒ แƒแƒ› แƒ“แƒแƒ แƒ”แƒ™แƒ•แƒ˜แƒกแƒแƒก แƒจแƒ”แƒคแƒฃแƒ—แƒ•แƒ () แƒงแƒ•แƒ”แƒšแƒ 0 แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒ—แƒแƒ•แƒ˜แƒก แƒแƒ“แƒ’แƒ˜แƒšแƒ–แƒ” แƒ“แƒ แƒแƒ  แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒแƒ แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ˜ แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒจแƒ˜, แƒแƒ“แƒแƒ›แƒ˜แƒแƒœแƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒฃแƒšแƒ˜ แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ˜แƒกแƒ’แƒแƒœ แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒ˜แƒ—.

แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒœแƒแƒ‘แƒ˜แƒฏแƒ˜ แƒแƒ แƒ˜แƒก แƒ“แƒ˜แƒแƒžแƒแƒ–แƒแƒœแƒ˜แƒก แƒ“แƒแƒกแƒแƒฌแƒงแƒ˜แƒกแƒ˜แƒกแƒ แƒ“แƒ แƒ“แƒแƒกแƒแƒกแƒ แƒฃแƒšแƒ˜แƒก แƒ’แƒแƒ›แƒแƒ—แƒ•แƒšแƒ. แƒ“แƒ แƒแƒฅ แƒฉแƒœแƒ“แƒ”แƒ‘แƒ แƒœแƒ˜แƒฃแƒแƒœแƒกแƒ˜. แƒ‘แƒ˜แƒขแƒฃแƒ แƒ˜ แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒจแƒ”แƒ–แƒฆแƒฃแƒ“แƒฃแƒšแƒ˜แƒ แƒžแƒ แƒแƒชแƒ”แƒกแƒแƒ แƒ˜แƒก แƒ‘แƒ˜แƒขแƒ˜แƒก แƒกแƒ˜แƒ›แƒซแƒšแƒแƒ•แƒ แƒ˜แƒ—. แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒแƒ“, แƒฉแƒ”แƒ›แƒก 32-แƒ‘แƒ˜แƒขแƒ˜แƒแƒœ CubieTruck-แƒ–แƒ”, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒ–แƒแƒ’แƒฏแƒ”แƒ  แƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘ แƒงแƒ•แƒ”แƒšแƒ แƒกแƒแƒฎแƒ˜แƒก แƒกแƒแƒขแƒ”แƒกแƒขแƒ แƒ’แƒแƒœแƒ”แƒ‘แƒ˜แƒ•แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒจแƒ”แƒฃแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒ 128 แƒ‘แƒ˜แƒขแƒ˜แƒก แƒ“แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ แƒ”แƒ แƒ— แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒแƒจแƒ˜. แƒ—แƒฃแƒ›แƒชแƒ, แƒแƒ แƒแƒคแƒ”แƒ แƒ˜ แƒ’แƒ•แƒ˜แƒจแƒšแƒ˜แƒก แƒฎแƒ”แƒšแƒก แƒ›แƒ˜แƒก 32 แƒ‘แƒ˜แƒขแƒ˜แƒแƒœ แƒฏแƒ’แƒฃแƒคแƒ”แƒ‘แƒแƒ“ แƒ“แƒแƒงแƒแƒคแƒแƒจแƒ˜ (แƒงแƒแƒ•แƒ”แƒš แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ•แƒ˜แƒœ แƒ˜แƒชแƒ˜แƒก, แƒ แƒแƒ›แƒ”แƒš แƒžแƒ แƒแƒชแƒ”แƒกแƒแƒ แƒ”แƒ‘แƒ–แƒ” แƒ•แƒ˜แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ—).

function getRangeBoundary ($ip, $cidr, $which, $ipIsBin = false, $returnBin = false) {
    $mask = cidrToMask($cidr);
    if (!$ipIsBin) {
        $ip = inet_pton($ip);
    }
    $ipParts   = str_split($ip, 4);
    $maskParts = str_split($mask, 4);
    $rangeParts  = [];
    for ($i = 0; $i < count($ipParts); $i++) {
        if ($which == 'start') {
            /* ะŸะพะฑะธั‚ะพะฒั‹ะน & ะฐะดั€ะตัะฐ ะธ ะผะฐัะบะธ ะพัั‚ะฐะฒะธั‚ ั‚ะพะปัŒะบะพ ะฑะธั‚ั‹ ะฟั€ะตั„ะธะบัะฐ. */
            $rangeParts[$i] = $ipParts[$i] & $maskParts[$i];
        } else {
            /* ะŸะพะฑะธั‚ะพะฒั‹ะน | ั ะพะฑั€ะฐั‚ะฝะพะน ะผะฐัะบะพะน (~) ะพัั‚ะฐะฒะธั‚ ะฑะธั‚ั‹ ะฟั€ะตั„ะธะบัะฐ ะธ ัƒัั‚ะฐะฝะพะฒะธั‚ ะฒัะต ะฑะธั‚ั‹ ะปะพะบะฐะปัŒะฝะพะน ั‡ะฐัั‚ะธ ะฒ 1. */
            $rangeParts[$i] = $ipParts[$i] | ~$maskParts[$i];
        }
    }
    $rangeBoundary = implode($rangeParts);
    if ($returnBin) {
        return $rangeBoundary;
    } else {
        return inet_ntop($rangeBoundary);
    }
}

แƒกแƒแƒ›แƒแƒ›แƒแƒ•แƒšแƒ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒฉแƒ•แƒ”แƒœ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒ•แƒงแƒแƒคแƒ— IP-แƒ˜แƒก แƒ’แƒแƒ“แƒแƒชแƒ”แƒ›แƒ˜แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒแƒก แƒ“แƒ แƒจแƒ”แƒ“แƒ”แƒ’แƒ˜แƒก แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒแƒก แƒ แƒแƒ’แƒแƒ แƒช แƒแƒ แƒแƒ‘แƒ˜แƒ—แƒ˜, แƒแƒกแƒ”แƒ•แƒ” แƒแƒ“แƒแƒ›แƒ˜แƒแƒœแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒฃแƒšแƒ˜ แƒคแƒแƒ แƒ›แƒ˜แƒ—. แฒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ˜ $ แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒฅ แƒ˜แƒก แƒแƒ–แƒฃแƒกแƒขแƒ”แƒ‘แƒก, แƒ’แƒ•แƒ˜แƒœแƒ“แƒ แƒ›แƒ˜แƒ•แƒ˜แƒฆแƒแƒ— แƒ“แƒ˜แƒแƒžแƒแƒ–แƒแƒœแƒ˜แƒก แƒ“แƒแƒกแƒแƒฌแƒงแƒ˜แƒกแƒ˜ แƒแƒœ แƒ“แƒแƒกแƒแƒกแƒ แƒฃแƒšแƒ˜ (แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜ 'แƒ“แƒแƒฌแƒงแƒ”แƒ‘แƒ' แƒแƒœ 'แƒ“แƒแƒกแƒแƒกแƒ แƒฃแƒšแƒ˜' แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒแƒ“).

แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒแƒ›แƒแƒชแƒแƒœแƒ (แƒ“แƒ แƒแƒกแƒ”แƒ•แƒ” แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒžแƒ แƒแƒฅแƒขแƒ˜แƒ™แƒฃแƒšแƒ˜ แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ™แƒแƒ›แƒžแƒแƒœแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก) แƒแƒ แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒ“แƒ˜แƒแƒžแƒแƒ–แƒแƒœแƒ˜แƒก แƒ’แƒแƒ›แƒแƒ—แƒ•แƒšแƒ. แƒแƒ› แƒแƒ›แƒแƒชแƒแƒœแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒแƒ แƒแƒคแƒ”แƒ แƒ˜ แƒแƒ  แƒ›แƒแƒ›แƒ˜แƒ•แƒ˜แƒ“แƒ แƒแƒ–แƒ แƒ–แƒ” แƒฃแƒ™แƒ”แƒ—แƒ”แƒกแƒ˜, แƒ•แƒ˜แƒ“แƒ แƒ” แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜แƒก แƒ’แƒแƒคแƒแƒ แƒ—แƒแƒ”แƒ‘แƒ แƒ‘แƒ˜แƒœแƒแƒ แƒฃแƒš แƒกแƒขแƒ แƒ˜แƒฅแƒแƒœแƒจแƒ˜ แƒ“แƒ 1-แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ แƒกแƒแƒกแƒฃแƒ แƒ•แƒ”แƒš แƒžแƒแƒ–แƒ˜แƒชแƒ˜แƒแƒ–แƒ”, แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ™แƒ˜ แƒงแƒ•แƒ”แƒšแƒแƒคแƒ แƒ˜แƒก แƒฃแƒ™แƒแƒœ แƒ“แƒแƒฎแƒ”แƒ•แƒ. แƒ˜แƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ› แƒแƒ แƒขแƒ”แƒคแƒแƒฅแƒขแƒ”แƒ‘แƒ˜ แƒกแƒแƒ“แƒ›แƒ” แƒแƒ  แƒ’แƒแƒ›แƒแƒฉแƒ”แƒœแƒ˜แƒšแƒ˜แƒงแƒ, แƒ’แƒแƒ“แƒแƒ•แƒฌแƒงแƒ•แƒ˜แƒขแƒ” แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜ แƒ’แƒแƒ•แƒงแƒ แƒ‘แƒแƒ˜แƒขแƒ˜แƒ— แƒ“แƒแƒจแƒšแƒ˜แƒกแƒ แƒ“แƒ แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒก แƒ“แƒ แƒแƒก.

function getNextBlock ($ipStart, $cidr, $ipIsBin = false, $returnBin = false) {
    if (!$ipIsBin) {
        $ipStart = inet_pton($ipStart);
    }
    $ipParts = str_split($ipStart, 1);
    $ipBin   = '';
    foreach ($ipParts as $ipPart) {
        $ipBin .= str_pad(base_convert(unpack('H*', $ipPart)[1], 16, 2), 8, '0', STR_PAD_LEFT);
    }
    /* ะ”ะพะฑะฐะฒะปัะตะผ 1 ะฒ ะฝัƒะถะฝะพะผ ั€ะฐะทั€ัะดะต ะดะฒะพะธั‡ะฝะพะณะพ ะฟั€ะตะดัั‚ะฐะฒะปะตะฝะธั ัั‚ั€ะพะบะธ "ะฒะปะพะฑ" :) */
    $i = $cidr - 1;
    while ($i >= 0) {
        if ($ipBin[$i] == '0') {
            $ipBin[$i] = '1';
            break;
        } else {
            $ipBin[$i] = '0';
        }
        $i--;
    }
    $ipBinParts = str_split($ipBin, 8);
    foreach ($ipBinParts as $key => $ipBinPart) {
        $ipParts[$key] = pack('H*', str_pad(base_convert($ipBinPart, 2, 16), 2, '0', STR_PAD_LEFT));
    }
    $nextIp = implode($ipParts);
    if ($returnBin) {
        return $nextIp;
    } else {
        return inet_ntop($nextIp);
    }
}

แƒ’แƒแƒ›แƒแƒกแƒแƒ•แƒแƒšแƒ–แƒ” แƒ•แƒ˜แƒฆแƒ”แƒ‘แƒ— แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒ–แƒแƒ›แƒ˜แƒก แƒ“แƒ˜แƒแƒžแƒแƒ–แƒแƒœแƒ˜แƒก แƒžแƒ แƒ”แƒคแƒ˜แƒฅแƒกแƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ $cidr. แƒแƒ› แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ˜แƒ— แƒฉแƒ•แƒ”แƒœ แƒ•แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒ— แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ”แƒ‘แƒ˜แƒก แƒ‘แƒšแƒแƒ™แƒ”แƒ‘แƒก แƒฉแƒ•แƒ”แƒœแƒก แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ”แƒ‘แƒก.

แƒ“แƒ แƒ‘แƒแƒšแƒแƒก, แƒจแƒ”แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ—, แƒ”แƒ™แƒฃแƒ—แƒ•แƒœแƒ˜แƒก แƒ—แƒฃ แƒแƒ แƒ แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜ แƒ“แƒ˜แƒแƒžแƒแƒ–แƒแƒœแƒก. แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ›แƒแƒ•แƒงแƒแƒ•แƒ˜แƒ— แƒ”แƒ แƒ—แƒ˜ แƒ‘แƒšแƒแƒ™แƒ˜ /48 แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ”แƒ‘แƒ–แƒ” แƒ‘แƒšแƒแƒ™แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒกแƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒšแƒแƒ“ /64, แƒ“แƒ แƒฃแƒœแƒ“แƒ แƒ“แƒแƒ•แƒ แƒฌแƒ›แƒฃแƒœแƒ“แƒ”แƒ—, แƒ แƒแƒ› แƒ›แƒ˜แƒœแƒ˜แƒญแƒ”แƒ‘แƒ˜แƒกแƒแƒก แƒแƒ  แƒ’แƒแƒ•แƒชแƒ“แƒ”แƒ— แƒ’แƒแƒ›แƒแƒงแƒแƒคแƒ˜แƒšแƒ˜ แƒ‘แƒšแƒแƒ™แƒ˜แƒก แƒคแƒแƒ แƒ’แƒšแƒ”แƒ‘แƒก (แƒžแƒ แƒแƒฅแƒขแƒ˜แƒ™แƒแƒจแƒ˜ แƒ”แƒก แƒ›แƒแƒšแƒ” แƒแƒ  แƒ›แƒแƒฎแƒ“แƒ”แƒ‘แƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒฏแƒ”แƒ  แƒ™แƒ˜แƒ“แƒ”แƒ• แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ). แƒแƒฅ แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜แƒ. แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒฆแƒ”แƒ‘แƒ— แƒ“แƒ˜แƒแƒžแƒแƒ–แƒแƒœแƒ˜แƒก แƒ“แƒแƒกแƒแƒฌแƒงแƒ˜แƒกแƒก แƒ“แƒ แƒ“แƒแƒกแƒแƒกแƒ แƒฃแƒšแƒก แƒแƒ แƒแƒ‘แƒ˜แƒ—แƒ˜ แƒคแƒแƒ แƒ›แƒ˜แƒ— แƒ“แƒ แƒ•แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒ— แƒแƒ แƒ˜แƒก แƒ—แƒฃ แƒแƒ แƒ แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜ แƒšแƒ˜แƒ›แƒ˜แƒขแƒ”แƒ‘แƒจแƒ˜.

function ipInRange ($ip, $rangeStart, $cidr) {
    $start = getRangeBoundary($rangeStart, $cidr, 'start',false, true);
    $end = getRangeBoundary($rangeStart, $cidr, 'end',false, true);
    $ipBin = inet_pton($ip);
    return ($ipBin >= $start && $ipBin <= $end);
}

แƒ˜แƒ›แƒ”แƒ“แƒ˜ แƒ›แƒแƒฅแƒ•แƒก, แƒ แƒแƒ› แƒ”แƒก แƒกแƒแƒกแƒแƒ แƒ’แƒ”แƒ‘แƒšแƒ แƒ˜แƒงแƒ. แƒกแƒฎแƒ•แƒ แƒ แƒ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ˜แƒงแƒแƒก แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ”แƒ‘แƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒแƒ–แƒ แƒ˜แƒ—? แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ, แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜ แƒ“แƒ แƒ™แƒแƒ“แƒ˜แƒก แƒ›แƒ˜แƒ›แƒแƒฎแƒ˜แƒšแƒ•แƒ แƒ—แƒ‘แƒ˜แƒšแƒแƒ“ แƒ›แƒ˜แƒกแƒแƒกแƒแƒšแƒ›แƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ”แƒ‘แƒจแƒ˜.

แƒ—แƒฃ แƒฃแƒ™แƒ•แƒ” แƒฎแƒแƒ แƒ— แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜ แƒแƒœ แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒคแƒ˜แƒฅแƒ แƒแƒ‘แƒ— แƒ’แƒแƒฎแƒ“แƒ”แƒ—, แƒแƒ› แƒกแƒขแƒแƒขแƒ˜แƒ˜แƒก แƒ’แƒแƒ›แƒแƒฅแƒ•แƒ”แƒงแƒœแƒ”แƒ‘แƒ˜แƒก แƒ“แƒฆแƒ”แƒก แƒ’แƒ—แƒแƒ•แƒแƒ–แƒแƒ‘แƒ— แƒ‘แƒšแƒแƒ™แƒ˜แƒก แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒแƒก /64 แƒกแƒ แƒฃแƒšแƒ˜แƒแƒ“ แƒฃแƒคแƒแƒกแƒแƒ แƒงแƒ•แƒ”แƒšแƒ vps แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒแƒœ แƒ’แƒแƒ›แƒแƒงแƒแƒคแƒ˜แƒšแƒ˜ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก Equinix Tier IV แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒ”แƒœแƒขแƒ แƒจแƒ˜, แƒœแƒ˜แƒ“แƒ”แƒ แƒšแƒแƒœแƒ“แƒ”แƒ‘แƒ˜, แƒ’แƒแƒงแƒ˜แƒ“แƒ•แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒ—, แƒ‘แƒ˜แƒšแƒ”แƒ—แƒจแƒ˜ แƒแƒ› แƒกแƒขแƒแƒขแƒ˜แƒ˜แƒก แƒ‘แƒ›แƒฃแƒšแƒ˜แƒก แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒ˜แƒ—. แƒจแƒ”แƒ—แƒแƒ•แƒแƒ–แƒ”แƒ‘แƒ แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒก 2020 แƒฌแƒšแƒ˜แƒก แƒ›แƒแƒ แƒขแƒแƒ›แƒ“แƒ”.

แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ แƒ”แƒ™แƒšแƒแƒ›แƒ ๐Ÿ™‚

แƒ’แƒ›แƒแƒ“แƒšแƒแƒ‘แƒ—, แƒ แƒแƒ› แƒ“แƒแƒ แƒฉแƒ˜แƒ— แƒฉแƒ•แƒ”แƒœแƒ—แƒแƒœ. แƒ›แƒแƒ’แƒฌแƒแƒœแƒ— แƒฉแƒ•แƒ”แƒœแƒ˜ แƒกแƒขแƒแƒขแƒ˜แƒ”แƒ‘แƒ˜? แƒ’แƒกแƒฃแƒ แƒ— แƒœแƒแƒฎแƒแƒ— แƒฃแƒคแƒ แƒ แƒกแƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ แƒจแƒ˜แƒœแƒแƒแƒ แƒกแƒ˜? แƒ›แƒฎแƒแƒ แƒ˜ แƒ“แƒแƒ’แƒ•แƒ˜แƒญแƒ˜แƒ แƒ”แƒ— แƒจแƒ”แƒ™แƒ•แƒ”แƒ—แƒ˜แƒก แƒ’แƒแƒœแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒ˜แƒ— แƒแƒœ แƒ›แƒ”แƒ’แƒแƒ‘แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ แƒ”แƒ™แƒแƒ›แƒ”แƒœแƒ“แƒแƒชแƒ˜แƒ˜แƒ—, แƒฆแƒ แƒฃแƒ‘แƒ”แƒšแƒ˜ VPS แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก 4.99 แƒ“แƒแƒšแƒแƒ แƒ˜แƒ“แƒแƒœ, แƒกแƒแƒฌแƒงแƒ˜แƒกแƒ˜ แƒ“แƒแƒœแƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒฃแƒœแƒ˜แƒ™แƒแƒšแƒฃแƒ แƒ˜ แƒแƒœแƒแƒšแƒแƒ’แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฉแƒ•แƒ”แƒœ แƒ›แƒ˜แƒ”แƒ  แƒ’แƒแƒ›แƒแƒ’แƒแƒœแƒ˜แƒšแƒ˜แƒ แƒ—แƒฅแƒ•แƒ”แƒœแƒ—แƒ•แƒ˜แƒก: แƒ›แƒ—แƒ”แƒšแƒ˜ แƒกแƒ˜แƒ›แƒแƒ แƒ—แƒšแƒ” VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps 19$-แƒ“แƒแƒœ แƒแƒœ แƒ แƒแƒ’แƒแƒ  แƒ’แƒแƒ•แƒแƒ–แƒ˜แƒแƒ แƒ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜? (แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒ RAID1 แƒ“แƒ RAID10-แƒ˜แƒ—, 24 แƒ‘แƒ˜แƒ แƒ—แƒ•แƒแƒ›แƒ“แƒ” แƒ“แƒ 40 แƒ’แƒ‘-แƒ›แƒ“แƒ” DDR4).

Dell R730xd 2-แƒฏแƒ”แƒ  แƒ˜แƒแƒคแƒ˜แƒ Equinix Tier IV แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒ”แƒœแƒขแƒ แƒจแƒ˜ แƒแƒ›แƒกแƒขแƒ”แƒ แƒ“แƒแƒ›แƒจแƒ˜? แฒ›แƒฎแƒแƒšแƒแƒ“ แƒแƒฅ 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 แƒขแƒ”แƒšแƒ”แƒ•แƒ˜แƒ–แƒแƒ แƒ˜ $199-แƒ“แƒแƒœ แƒœแƒ˜แƒ“แƒ”แƒ แƒšแƒแƒœแƒ“แƒ”แƒ‘แƒจแƒ˜! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - $99-แƒ“แƒแƒœ! แฒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ แƒ แƒแƒฆแƒแƒชแƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒ แƒแƒ’แƒแƒ  แƒแƒ•แƒแƒจแƒ”แƒœแƒแƒ— แƒ˜แƒœแƒคแƒ แƒแƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ˜แƒก แƒ™แƒแƒ แƒžแƒฃแƒกแƒ˜. แƒ™แƒšแƒแƒกแƒ˜ Dell R730xd E5-2650 v4 แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— 9000 แƒ”แƒ•แƒ แƒแƒก แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒžแƒ”แƒœแƒ˜?

แƒฌแƒงแƒแƒ แƒ: www.habr.com

แƒจแƒ”แƒ˜แƒซแƒ˜แƒœแƒ”แƒ— แƒกแƒแƒ˜แƒ›แƒ”แƒ“แƒ แƒฐแƒแƒกแƒขแƒ˜แƒœแƒ’แƒ˜ DDoS แƒ“แƒแƒชแƒ•แƒ˜แƒก แƒ›แƒฅแƒแƒœแƒ” แƒกแƒแƒ˜แƒขแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, VPS VDS แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก ๐Ÿ”ฅ แƒจแƒ”แƒ˜แƒซแƒ˜แƒœแƒ”แƒ— แƒกแƒแƒ˜แƒ›แƒ”แƒ“แƒ แƒ•แƒ”แƒ‘แƒกแƒแƒ˜แƒขแƒ˜แƒก แƒฐแƒแƒกแƒขแƒ˜แƒœแƒ’แƒ˜ DDoS แƒ“แƒแƒชแƒ•แƒ˜แƒ—, VPS VDS แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ˜ | ProHoster