home *** CD-ROM | disk | FTP | other *** search
/ The Devil's Doorknob BBS Capture (1996-2003) / devilsdoorknobbbscapture1996-2003.iso / Dloads / WWIVMODS / MODSUNKN.ZIP / SECREG.MOD < prev    next >
Text File  |  1992-01-29  |  4KB  |  103 lines

  1.                         SECURITY REGISTRATION CODE
  2.              By The Captain of The White Star Line (@2370)
  3.  
  4.    This is a simple modification that may help persuade your local hacker
  5. to find another line of work. It is primarily geared to stop
  6. "killer-macros," which repeatedly logon to bulletin boards entering false
  7. accounts, the goal being to fill up the user base and cause great
  8. aggravation on the part of the sysop. Most of these macros operate by a
  9. series of commands that wait for certain strings to appear, then they
  10. output the information. The advanced ones will randomly generate a user
  11. name each time it is run (usually a string of characters that are
  12. unintelligible). Others simply use delays, waiting a few seconds, sending
  13. data, waiting a few more, sending more, and so on. This modification will
  14. add a "registration code" to the new user procedure. It randomly generates
  15. an alphanumeric string ranging (randomly again) from 4 to 9 characters in
  16. length. This string is then output for the user to see, and the user is
  17. then prompted to type in the registration code. The user has three tries to
  18. get it right (a different code being shown each time) before automatic
  19. disconnection. If the user gets the string right, then registration
  20. proceeds normally. It would take a very bright person indeed to develop a
  21. "killer-macro" that would read the string when it appears and then output
  22. that string back to the BBS. Telix is generally thought to have the best
  23. script language, and looking through it I didn't notice any such capability.
  24. I've been told by someone that it is possible, but the skills required to
  25. generate the macro were of a high calibur indeed. So, this modification will
  26. present no trouble for your genuine users, and I can guarantee that
  27. "killer-macros" will not like it at all. Too bad.
  28.  
  29. *    *    *    *    *    *    *
  30. In NEWUSER.C, add this function before void input_name()
  31.  
  32. void input_code()
  33. {
  34.   int i,i2,i3,ok,count;
  35.   char n[11],code[11],ch;
  36.  
  37.   count=0;
  38.  
  39. do {
  40.  
  41.   i2=rand();
  42.   if (i2<6500) i3=4;
  43.   else if (i2<13000) i3=5;
  44.   else if (i2<19500) i3=6;
  45.   else if (i2<26000) i3=7;
  46.   else if (i2<32500) i3=8;
  47.   else i3=9;
  48.  
  49.     for (i=0; i<i3; i++) {
  50.       ch=rand() % 36;
  51.       if (ch<10)
  52.         ch+='0';
  53.       else
  54.         ch+='A'-10;
  55.       code[i]=ch;
  56.     }
  57.     code[i3]=0;
  58.  
  59.     nl();
  60.     prt(2,"Registration Code: ");
  61.     prt(1,code);
  62.     nl();
  63.     nl();
  64.     prt(3,"Please enter the above Registration Code");
  65.     nl();
  66.     prt(3,"for security reasons.");
  67.     nl();
  68.     outstr(":");
  69.     mpl(i3);
  70.     input(n,i3);
  71.     nl();
  72.     if ((strcmp(code,n)==0))
  73.       ok=1;
  74.     else ok=0;
  75.     if (!ok) {
  76.       prt(2,"That is not correct.");
  77.       nl();
  78.       ++count;
  79.       if (count==3)
  80.         hangup=1;
  81.     }
  82.   } while ((!ok) && (!hangup));
  83. }
  84.  
  85. *    *    *    *    *    *    *    
  86. Now search in NEWUSER.C for "NEWUSER" and look down a few lines. You will
  87. see a block of code that calls the various registration functions, as in...
  88.  
  89. input_name();
  90. input_realname();
  91. input_phone();
  92.  
  93. ...et cetera. Add the line:
  94.  
  95. input_code();
  96.  
  97. somewhere among those lines, wherever you wish the question to appear. A
  98. good place might be before the input_name line. For an added measure of
  99. security, and to further complicate matters for hackers, you can have
  100. the line appear elsewhere during registration. That's entirely up to you.
  101.  
  102. The Captain of The White Star Line
  103.   Long Beach, California - @2370