fork download
  1. <?php
  2. /* как сделать, чтобы дохуя доменов проверяло? */
  3. $domain_name = "yoba"; //POST-значение текстового поля для домена
  4. $zone = "com"; //POST селекта с зоной
  5. $domain=$domain_name.'.'.$zone;
  6.  
  7. $resp = get_whois($domain); # получаем whois-запись
  8.  
  9. preg_match("!^\s*Whois Server:\s+([\w\.]+)\b!im", $resp, $matches); # извлекаем адрес whois-сервера
  10. $server = $matches[1];
  11.  
  12. preg_match("!^\s*Expiration Date:\s+([\w\-]+)\b!im", $resp, $matches); # извлекаем дату истечения срока домена
  13. $expiry = $matches[1];
  14.  
  15. $exptime = strtotime($expiry); # вычисляем количество дней до окончания срока
  16. $expdays = round(($exptime - time()) / 84600);
  17. $expiry = date("d/m/Y", $exptime);
  18.  
  19. print $whois_doman = "$domain &#160; ";
  20. print $whois_server = "$server &#160; ";
  21. print $whois_expires = "$expiry &#160; ";
  22. print $whois_days ="days: $expdays";
  23.  
  24. $array=array(
  25. ac => whois.nic.ac
  26. ae => whois.aeda.net.ae
  27. aero => whois.aero
  28. af => whois.nic.af
  29. ag => whois.nic.ag
  30. al => whois.ripe.net
  31. am => whois.amnic.net
  32. as => whois.nic.as
  33. asia => whois.nic.asia
  34. at => whois.nic.at
  35. au => whois.aunic.net
  36. ax => whois.ax =>
  37. az => whois.ripe.net
  38. ba => whois.ripe.net
  39. be => whois.dns.be
  40. bg => whois.register.bg
  41. bi => whois.nic.bi
  42. biz => whois.neulevel.biz
  43. bj => www.nic.bj
  44. br => whois.nic.br
  45. br.com => whois.centralnic.com
  46. bt => whois.netnames.net
  47. by => whois.cctld.by
  48. bz => whois.belizenic.bz
  49. ca => whois.cira.ca
  50. cat => whois.cat
  51. cc => whois.nic.cc
  52. cd => whois.nic.cd
  53. ch => whois.nic.ch =>
  54. ck => whois.nic.ck
  55. cl => whois.nic.cl
  56. cn => whois.cnnic.net.cn
  57. cn.com => whois.centralnic.com
  58. co => whois.nic.co
  59. co.nl => whois.co.nl
  60. com => whois.verisign-grs.com
  61. coop => whois.nic.coop
  62. cx => whois.nic.cx
  63. cy => whois.ripe.net
  64. cz => whois.nic.cz
  65. de => whois.denic.de
  66. dk => whois.dk-hostmaster.dk
  67. dm => whois.nic.cx
  68. dz => whois.nic.dz
  69. edu => whois.educause.net
  70. ee => whois.tld.ee
  71. eg => whois.ripe.net
  72. es => whois.nic.es
  73. eu => whois.eu
  74. eu.com => whois.centralnic.com
  75. fi => whois.ficora.fi
  76. fo => whois.nic.fo
  77. fr => whois.nic.fr
  78. gb => whois.ripe.net
  79. gb.com => whois.centralnic.com
  80. gb.net => whois.centralnic.com
  81. qc.com => whois.centralnic.com
  82. ge => whois.ripe.net
  83. gl => whois.nic.gl
  84. gm => whois.ripe.net
  85. gov => whois.nic.gov
  86. gr => whois.ripe.net
  87. gs => whois.nic.gs
  88. hk => whois.hknic.net.hk
  89. hm => whois.registry.hm
  90. hn => whois2.afilias-grs.net
  91. hr => whois.dns.hr
  92. hu => whois.nic.hu
  93. hu.com => whois.centralnic.com
  94. id => whois.pandi.or.id
  95. ie => whois.domainregistry.ie
  96. il => whois.isoc.org.il
  97. in => whois.inregistry.net
  98. info => whois.afilias.info
  99. int => whois.isi.edu
  100. io => whois.nic.io
  101. iq => vrx.net
  102. ir => whois.nic.ir
  103. is => whois.isnic.is
  104. it => whois.nic.it
  105. je => whois.je
  106. jobs => jobswhois.verisign-grs.com
  107. jp => whois.jprs.jp
  108. ke => whois.kenic.or.ke
  109. kg => whois.domain.kg
  110. kr => whois.nic.or.kr
  111. la => whois2.afilias-grs.net
  112. li => whois.nic.li
  113. lt => whois.domreg.lt
  114. lu => whois.restena.lu
  115. lv => whois.nic.lv
  116. ly => whois.lydomains.com
  117. ma => whois.iam.net.ma
  118. mc => whois.ripe.net
  119. md => whois.nic.md
  120. me => whois.nic.me
  121. mil => whois.nic.mil
  122. mk => whois.ripe.net
  123. mobi => whois.dotmobiregistry.net
  124. ms => whois.nic.ms
  125. mt => whois.ripe.net
  126. mu => whois.nic.mu
  127. mx => whois.nic.mx
  128. my => whois.mynic.net.my
  129. name => whois.nic.name
  130. net => whois.verisign-grs.com
  131. nf => whois.nic.cx
  132. ng => whois.nic.net.ng
  133. nl => whois.domain-registry.nl
  134. no => whois.norid.no
  135. no.com => whois.centralnic.com
  136. nu => whois.nic.nu
  137. nz => whois.srs.net.nz
  138. org => whois.pir.org
  139. pl => whois.dns.pl
  140. pr => whois.nic.pr
  141. pro => whois.registrypro.pro
  142. pt => whois.dns.pt
  143. pw => whois.nic.pw
  144. ro => whois.rotld.ro
  145. ru => whois.tcinet.ru
  146. sa => saudinic.net.sa
  147. sa.com => whois.centralnic.com
  148. sb => whois.nic.net.sb
  149. sc => whois2.afilias-grs.net
  150. se => whois.nic-se.se
  151. se.com => whois.centralnic.com
  152. se.net => whois.centralnic.com
  153. sg => whois.nic.net.sg
  154. sh => whois.nic.sh
  155. si => whois.arnes.si
  156. sk => whois.sk-nic.sk
  157. sm => whois.nic.sm
  158. st => whois.nic.st
  159. so => whois.nic.so
  160. su => whois.tcinet.ru
  161. tc => whois.adamsnames.tc
  162. tel => whois.nic.tel
  163. tf => whois.nic.tf
  164. th => whois.thnic.net
  165. tj => whois.nic.tj
  166. tk => whois.nic.tk
  167. tl => whois.domains.tl
  168. tm => whois.nic.tm
  169. tn => whois.ati.tn
  170. to => whois.tonic.to
  171. tp => whois.domains.tl
  172. tr => whois.nic.tr
  173. travel => whois.nic.travel
  174. tw => whois.twnic.net.tw
  175. tv => whois.nic.tv
  176. tz => whois.tznic.or.tz
  177. ua => whois.ua
  178. uk => whois.nic.uk
  179. uk.com => whois.centralnic.com
  180. uk.net => whois.centralnic.com
  181. ac.uk => whois.ja.net
  182. gov.uk => whois.ja.net
  183. us => whois.nic.us
  184. us.com => whois.centralnic.com
  185. uy => nic.uy
  186. uy.com => whois.centralnic.com
  187. uz => whois.cctld.uz
  188. va => whois.ripe.net
  189. vc => whois2.afilias-grs.net
  190. ve => whois.nic.ve
  191. vg => whois.adamsnames.tc
  192. ws => whois.website.ws
  193. xxx => whois.nic.xxx
  194. yu => whois.ripe.net
  195. za.com => whois.centralnic.com); //кавычки сам проставишь
  196.  
  197. foreach ($array as $key=>$value){
  198. if ($key==$zone) $server=$value;
  199. }
  200.  
  201. function get_whois($domain, $server){
  202. if (trim($domain) <> "");
  203. }
  204.  
  205. $domain = trim($domain);
  206. $fp = fsockopen($server, 43, $errno, $errstr, 30);
  207. if (!$fp){
  208. $response = "$errstr ($errno)"
  209. } else {
  210. $response = "";
  211. fputs($fp, "$domain\r\n");
  212. while (!feof($fp))
  213. $response .= fread($fp,128);
  214. fclose ($fp);
  215. }
  216. } //код ужасен, я бы тебе за него руки оторвал, мудило
  217.  
  218. /* как захуячить if else "домен свободен" */
  219. //примерно так
  220. if (@$sock = fsockopen ($server, 80, $errno, $errstr, 0.2)) {
  221. echo "Сосни хуйца";
  222. fclose ($sock);
  223. } else {
  224. echo "Всё круто";
  225. }
  226.  
  227. return $response; //как ты уже понял, нахуй не надо это говно
  228. }
  229. ?>
  230.  
Runtime error #stdin #stdout #stderr 0.01s 20592KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
PHP Parse error:  syntax error, unexpected 'ae' (T_STRING), expecting ')' in /home/XdZEHt/prog.php on line 26