[BC3] (subteam) IP registratie formulier

Pagina: 1
Acties:

  • RobzQ
  • Registratie: Februari 2000
  • Laatst online: 21-12-2020

RobzQ

greedy as a pig

Topicstarter
Hoi Mede DPC''ers, op een regenachtige middag (niet vandaag:)) heb ik eens ooit een scriptje geschreven voor de registratie van IP''s van ons subteam..

Zoals menig pproxy beheerder wel weet is het mogelijk ipv hostnamen Nicknames te gebruiken zodat je mooie subteam stats kan maken. Nou is de registratie van al die IP adressen best lastig, helemaal met dynamische IP''s.

Om dit een stukje makkelijker te maken ben ik ff in PHP bezig geweest:<pre style="font-size: 10pt; font-family: verdana; margin-top: 0px; margin-left: 25px; margin-bottom: 0px;"><font size="1" face="verdana, arial, helvetica">php:</font><hr><code><font color="#000000">
<font color="#0000BB"><?
</font><font color="#007700"><</font><font color="#0000BB">html</font><font color="#007700">>

<</font><font color="#0000BB">head</font><font color="#007700">>

<</font><font color="#0000BB">meta http</font><font color="#007700">-</font><font color="#0000BB">equiv</font><font color="#007700">=</font><font color="#DD0000">"Content-Language" </font><font color="#0000BB">content</font><font color="#007700">=</font><font color="#DD0000">"en-us"</font><font color="#007700">>

<</font><font color="#0000BB">meta http</font><font color="#007700">-</font><font color="#0000BB">equiv</font><font color="#007700">=</font><font color="#DD0000">"Content-Type" </font><font color="#0000BB">content</font><font color="#007700">=</font><font color="#DD0000">"text/html; charset=windows-1252"</font><font color="#007700">>

<</font><font color="#0000BB">title</font><font color="#007700">></font><font color="#0000BB">TFS Hostname Editor</font><font color="#007700"></</font><font color="#0000BB">title</font><font color="#007700">>

</</font><font color="#0000BB">head</font><font color="#007700">>

<</font><font color="#0000BB">body</font><font color="#007700">>

<?</font><font color="#0000BB">php

 $Err_Mes </font><font color="#007700">= </font><font color="#DD0000">""</font><font color="#007700">;

 </font><font color="#0000BB">$scriptname </font><font color="#007700">= </font><font color="#DD0000">"tfshostnames.php"</font><font color="#007700">;

 </font><font color="#0000BB">$teamname </font><font color="#007700">= </font><font color="#DD0000">"Team Frikandel Speciaal"</font><font color="#007700">;

 </font><font color="#0000BB">$dbname </font><font color="#007700">= </font><font color="#DD0000">""</font><font color="#007700">;



 </font><font color="#0000BB">$host </font><font color="#007700">= </font><font color="#0000BB">getenv</font><font color="#007700">(</font><font color="#DD0000">"REMOTE_ADDR"</font><font color="#007700">);

 </font><font color="#0000BB">$host2 </font><font color="#007700">= </font><font color="#0000BB">strtolower</font><font color="#007700">(</font><font color="#0000BB">$host</font><font color="#007700">);



 </font><font color="#0000BB">$link </font><font color="#007700">= </font><font color="#0000BB">mysql_connect</font><font color="#007700">(</font><font color="#DD0000">"localhost"</font><font color="#007700">, </font><font color="#DD0000">""</font><font color="#007700">, </font><font color="#DD0000">""</font><font color="#007700">)

          or die (</font><font color="#DD0000">"Could not connect to database"</font><font color="#007700">);

 </font><font color="#0000BB">mysql_select_db</font><font color="#007700">(</font><font color="#0000BB">$dbname</font><font color="#007700">, </font><font color="#0000BB">$link</font><font color="#007700">) or die(</font><font color="#DD0000">"Can''t open database"</font><font color="#007700">);



 if ((!</font><font color="#0000BB">ereg</font><font color="#007700">(</font><font color="#DD0000">"^</font><font color="#007700">[</font><font color="#DD0000">A-Za-z0-9_ </font><font color="#007700">]</font><font color="#DD0000">+</font><font color="#007700">$</font><font color="#DD0000">"</font><font color="#007700">, </font><font color="#0000BB">$Login_Name</font><font color="#007700">)) AND </font><font color="#0000BB">$Login_Name</font><font color="#007700">)

 {

   </font><font color="#0000BB">$Login_Name</font><font color="#007700">=</font><font color="#DD0000">""</font><font color="#007700">;

   </font><font color="#0000BB">$Err_Mes </font><font color="#007700">= </font><font color="#DD0000">"Name contains illegal characters."</font><font color="#007700">;

 }

 if ((!</font><font color="#0000BB">ereg</font><font color="#007700">(</font><font color="#DD0000">"^</font><font color="#007700">[</font><font color="#DD0000">A-Za-z0-9_ </font><font color="#007700">]</font><font color="#DD0000">+</font><font color="#007700">$</font><font color="#DD0000">"</font><font color="#007700">, </font><font color="#0000BB">$Login_Password</font><font color="#007700">)) AND </font><font color="#0000BB">$Login_Password</font><font color="#007700">)

 {

   </font><font color="#0000BB">$Login_Password</font><font color="#007700">=</font><font color="#DD0000">""</font><font color="#007700">;

   </font><font color="#0000BB">$Err_Mes </font><font color="#007700">= </font><font color="#DD0000">"Password contains illegal characters."</font><font color="#007700">;

 }

 if ((!</font><font color="#0000BB">ereg</font><font color="#007700">(</font><font color="#DD0000">"^</font><font color="#007700">[</font><font color="#DD0000">A-Za-z0-9_ </font><font color="#007700">]</font><font color="#DD0000">+</font><font color="#007700">$</font><font color="#DD0000">"</font><font color="#007700">, </font><font color="#0000BB">$NickName</font><font color="#007700">)) AND </font><font color="#0000BB">$NickName</font><font color="#007700">)

 {

   </font><font color="#0000BB">$NickName</font><font color="#007700">=</font><font color="#DD0000">""</font><font color="#007700">;

   </font><font color="#0000BB">$Err_Mes </font><font color="#007700">= </font><font color="#DD0000">"Nick contains illegal characters."</font><font color="#007700">;

 }

 if ((!</font><font color="#0000BB">ereg</font><font color="#007700">(</font><font color="#DD0000">"[A-Za-z0-9_-]+([\.]{1}[A-Za-z0-9_-]+)*@[A-Za-z0-9-]+([\.]{1}[A-Za-z0-9-]+)+"</font><font color="#007700">,</font><font color="#0000BB">$New_Email</font><font color="#007700">)) AND </font><font color="#0000BB">$New_Email</font><font color="#007700">)

 {

  </font><font color="#0000BB">$New_Email</font><font color="#007700">=</font><font color="#DD0000">""</font><font color="#007700">;

  </font><font color="#0000BB">$Err_Mes </font><font color="#007700">= </font><font color="#DD0000">"Email address contains illegal characters."</font><font color="#007700">;

 }

if(!</font><font color="#0000BB">$HTTP_POST_VARS</font><font color="#007700">[</font><font color="#DD0000">"btRegister"</font><font color="#007700">])

{

 </font><font color="#0000BB">$results </font><font color="#007700">= </font><font color="#0000BB">mysql_query</font><font color="#007700">(</font><font color="#DD0000">"SELECT * FROM users WHERE BINARY users.name = ''$Login_Name'' AND BINARY users.password = ''$Login_Password''"</font><font color="#007700">);

 </font><font color="#0000BB">$UserNamePassword </font><font color="#007700">= </font><font color="#0000BB">mysql_num_rows</font><font color="#007700">(</font><font color="#0000BB">$results</font><font color="#007700">);

 If (</font><font color="#0000BB">$UserNamePassword</font><font color="#007700">)

 {

  </font><font color="#0000BB">$myrow </font><font color="#007700">= </font><font color="#0000BB">MySQL_fetch_array</font><font color="#007700">(</font><font color="#0000BB">$results</font><font color="#007700">);

  </font><font color="#0000BB">$nr </font><font color="#007700">= </font><font color="#0000BB">$myrow</font><font color="#007700">[</font><font color="#DD0000">"nr"</font><font color="#007700">];

  </font><font color="#0000BB">$nick </font><font color="#007700">= </font><font color="#0000BB">$myrow</font><font color="#007700">[</font><font color="#DD0000">"nick"</font><font color="#007700">];

  </font><font color="#0000BB">$admin </font><font color="#007700">= </font><font color="#0000BB">$myrow</font><font color="#007700">[</font><font color="#DD0000">"admin"</font><font color="#007700">];



  if (</font><font color="#0000BB">$HTTP_POST_VARS</font><font color="#007700">[</font><font color="#DD0000">"btSendNick"</font><font color="#007700">] AND (</font><font color="#0000BB">$NickName</font><font color="#007700">))

    {

     </font><font color="#0000BB">$results </font><font color="#007700">= </font><font color="#0000BB">mysql_query</font><font color="#007700">(</font><font color="#DD0000">"UPDATE users SET users.nick = ''$NickName'' WHERE users.nr = ''$nr''"</font><font color="#007700">);

     </font><font color="#0000BB">$nick </font><font color="#007700">= </font><font color="#0000BB">$NickName</font><font color="#007700">;

    }



  if (</font><font color="#0000BB">$HTTP_POST_VARS</font><font color="#007700">[</font><font color="#DD0000">"btAddHost"</font><font color="#007700">] AND ((</font><font color="#0000BB">$IP</font><font color="#007700">) OR (</font><font color="#0000BB">$UseCurrentIP</font><font color="#007700">)))

    {

     if (</font><font color="#0000BB">$UseCurrentIP</font><font color="#007700">)

     {

      </font><font color="#0000BB">$IP </font><font color="#007700">= </font><font color="#0000BB">$host2</font><font color="#007700">;

     }

      if (</font><font color="#0000BB">ereg</font><font color="#007700">(</font><font color="#DD0000">"^(</font><font color="#007700">[</font><font color="#DD0000">0-9</font><font color="#007700">]{</font><font color="#DD0000">1,3</font><font color="#007700">}</font><font color="#DD0000">\.)(</font><font color="#007700">[</font><font color="#DD0000">0-9</font><font color="#007700">]{</font><font color="#DD0000">1,3</font><font color="#007700">}</font><font color="#DD0000">\.)(</font><font color="#007700">[</font><font color="#DD0000">0-9</font><font color="#007700">]{</font><font color="#DD0000">1,3</font><font color="#007700">}</font><font color="#DD0000">\.)(</font><font color="#007700">[</font><font color="#DD0000">0-9</font><font color="#007700">]{</font><font color="#DD0000">1,3</font><font color="#007700">}</font><font color="#DD0000">)?</font><font color="#007700">$</font><font color="#DD0000">"</font><font color="#007700">,  </font><font color="#0000BB">$IP</font><font color="#007700">, </font><font color="#0000BB">$regs</font><font color="#007700">) AND (</font><font color="#0000BB">$regs</font><font color="#007700">[</font><font color="#0000BB">1</font><font color="#007700">]<=</font><font color="#0000BB">255</font><font color="#007700">) AND (</font><font color="#0000BB">$regs</font><font color="#007700">[</font><font color="#0000BB">2</font><font color="#007700">]<=</font><font color="#0000BB">255</font><font color="#007700">) AND (</font><font color="#0000BB">$regs</font><font color="#007700">[</font><font color="#0000BB">3</font><font color="#007700">]<=</font><font color="#0000BB">255</font><font color="#007700">) AND (</font><font color="#0000BB">$regs</font><font color="#007700">[</font><font color="#0000BB">4</font><font color="#007700">]<=</font><font color="#0000BB">255</font><font color="#007700">))

      {

            </font><font color="#0000BB">$results </font><font color="#007700">= </font><font color="#0000BB">mysql_query</font><font color="#007700">(</font><font color="#DD0000">"SELECT * FROM hostnames WHERE hostnames.ip = ''$IP''"</font><font color="#007700">);

            </font><font color="#0000BB">$res </font><font color="#007700">= </font><font color="#0000BB">mysql_num_rows</font><font color="#007700">(</font><font color="#0000BB">$results</font><font color="#007700">);

            if (!</font><font color="#0000BB">$res</font><font color="#007700">)

            {

             </font><font color="#0000BB">$results </font><font color="#007700">= </font><font color="#0000BB">mysql_query</font><font color="#007700">(</font><font color="#DD0000">"INSERT INTO hostnames (nr, ip, usernr) VALUES ('''', ''$IP'', ''$nr'')"</font><font color="#007700">);

            }

            else

            {

             </font><font color="#0000BB">$Err_Mes </font><font color="#007700">= </font><font color="#DD0000">"Someone else already uses this IP."</font><font color="#007700">;

            }

      }

     else

     {

      </font><font color="#0000BB">$Err_Mes </font><font color="#007700">= </font><font color="#DD0000">"Bad IP."</font><font color="#007700">;

     }

    }



  if ((</font><font color="#0000BB">$HTTP_POST_VARS</font><font color="#007700">[</font><font color="#DD0000">"btDelHost"</font><font color="#007700">]) AND (</font><font color="#0000BB">$HTTP_POST_VARS</font><font color="#007700">[</font><font color="#DD0000">"R1"</font><font color="#007700">]))

    {

     </font><font color="#0000BB">$iptodel </font><font color="#007700">= </font><font color="#0000BB">$HTTP_POST_VARS</font><font color="#007700">[</font><font color="#DD0000">"R1"</font><font color="#007700">];

     </font><font color="#0000BB">$results </font><font color="#007700">= </font><font color="#0000BB">mysql_query</font><font color="#007700">(</font><font color="#DD0000">"DELETE FROM hostnames WHERE hostnames.nr = $iptodel"</font><font color="#007700">);

    }

 }

 if (</font><font color="#0000BB">$HTTP_POST_VARS</font><font color="#007700">[</font><font color="#DD0000">"btNewMem"</font><font color="#007700">])

 {

  if ((</font><font color="#0000BB">$Login_Name</font><font color="#007700">) AND (</font><font color="#0000BB">$Login_Password</font><font color="#007700">) AND (</font><font color="#0000BB">$New_Email</font><font color="#007700">))

  {

   </font><font color="#0000BB">$results </font><font color="#007700">= </font><font color="#0000BB">mysql_query</font><font color="#007700">(</font><font color="#DD0000">"SELECT * FROM users WHERE users.name = ''$Login_Name''"</font><font color="#007700">);

   </font><font color="#0000BB">$reszqs </font><font color="#007700">= </font><font color="#0000BB">mysql_num_rows</font><font color="#007700">(</font><font color="#0000BB">$results</font><font color="#007700">);

   if (!</font><font color="#0000BB">$reszqs</font><font color="#007700">)

    {

     </font><font color="#0000BB">$results </font><font color="#007700">= </font><font color="#0000BB">mysql_query</font><font color="#007700">(</font><font color="#DD0000">"INSERT INTO users (nr, name, password, nick, admin, email) VALUES ('''', ''$Login_Name'', ''$Login_Password'', ''$Login_Name'',''0'',''$New_Email'')"</font><font color="#007700">);

    }

   else

    {

     </font><font color="#0000BB">$Err_Mes </font><font color="#007700">= </font><font color="#DD0000">"Someone else already uses this username."</font><font color="#007700">;

    }

  }

 }

}

  </font><font color="#FF8000">/*SELECT [hosts].[ip], [users].[name] FROM users INNER JOIN hosts ON [users].[id] =[hosts].[userid];*/

  </font><font color="#007700">if (</font><font color="#0000BB">$HTTP_POST_VARS</font><font color="#007700">[</font><font color="#DD0000">"btShowAll"</font><font color="#007700">])

    {

       </font><font color="#0000BB">$results </font><font color="#007700">= </font><font color="#0000BB">mysql_query</font><font color="#007700">(</font><font color="#DD0000">"SELECT hostnames.ip, users.nick FROM users INNER JOIN hostnames ON users.nr = hostnames.usernr"</font><font color="#007700">);

       while(</font><font color="#0000BB">$myrow</font><font color="#007700">=</font><font color="#0000BB">MySQL_fetch_array</font><font color="#007700">(</font><font color="#0000BB">$results</font><font color="#007700">))

                    {

                           </font><font color="#0000BB">$hostip</font><font color="#007700">=</font><font color="#0000BB">$myrow</font><font color="#007700">[</font><font color="#DD0000">"ip"</font><font color="#007700">];

                           </font><font color="#0000BB">$hostname</font><font color="#007700">=</font><font color="#0000BB">$myrow</font><font color="#007700">[</font><font color="#DD0000">"nick"</font><font color="#007700">];

                           Echo </font><font color="#0000BB">$hostip</font><font color="#007700">.</font><font color="#DD0000">","</font><font color="#007700">.</font><font color="#0000BB">$hostname</font><font color="#007700">.</font><font color="#DD0000">","</font><font color="#007700">.</font><font color="#0000BB">date</font><font color="#007700">(</font><font color="#DD0000">"d-m-Y"</font><font color="#007700">).</font><font color="#DD0000">"<br> "</font><font color="#007700">;

                    }



    }

  Else

    {



       Echo </font><font color="#DD0000">''<form method="POST" action="''</font><font color="#007700">.</font><font color="#0000BB">$php_self</font><font color="#007700">.</font><font color="#DD0000">''">''</font><font color="#007700">;

       Echo </font><font color="#DD0000">''<table border="0" cellspacing="1" bgcolor="#F0F0FF">

             <tr><td width="15"> </td><td><b><u>''</font><font color="#007700">.</font><font color="#0000BB">$teamname</font><font color="#007700">.</font><font color="#DD0000">''\''s hostname editor</u></b></td><td width="15"> </td></tr>

             <tr><td width="15"> </td><td>''</font><font color="#007700">;



    if (!</font><font color="#0000BB">$HTTP_POST_VARS</font><font color="#007700">[</font><font color="#DD0000">"btRegister"</font><font color="#007700">])

    {



       Echo </font><font color="#DD0000">''<table border="0" width="600" cellspacing="1">

             <tr><td width="596" bgcolor="#DEDCD0">Welcome ''</font><font color="#007700">.</font><font color="#0000BB">$Login_Name</font><font color="#007700">.</font><font color="#DD0000">''</td></tr>

             <tr><td width="596" bgcolor="#DEDCD0"><input type="text" name="Login_Name" size="40" tabindex="1" value = "''</font><font color="#007700">.</font><font color="#0000BB">$Login_Name</font><font color="#007700">.</font><font color="#DD0000">''">Name</td></tr>

             <tr><td width="596" bgcolor="#DEDCD0"><input type="password" name="Login_Password" size="40" tabindex="2" value = "''</font><font color="#007700">.</font><font color="#0000BB">$Login_Password</font><font color="#007700">.</font><font color="#DD0000">''">Password</td></tr>

             <tr><td width="596" bgcolor="#DEDCD0"><input type="submit" value="Login" name="btLogin" tabindex="3"></td></tr>

             </table><HR>''</font><font color="#007700">;

      If (</font><font color="#0000BB">$UserNamePassword</font><font color="#007700">)

      {

       Echo </font><font color="#DD0000">''<table border="0" width="600" cellspacing="1">

             <tr><td width="100%" bgcolor="#DEDCD0">Current IP : ''</font><font color="#007700">.</font><font color="#0000BB">$host2</font><font color="#007700">.</font><font color="#DD0000">''</td></tr>

             </table><HR>''</font><font color="#007700">;

       Echo </font><font color="#DD0000">''<table border="0" width="600" cellspacing="1">

             <tr><td width="100%" bgcolor="#DEDCD0">Edit your nickname</td></tr>

             <tr><td width="100%" bgcolor="#DEDCD0"><input type="text" name="NickName" size="40" tabindex="4" value = "''</font><font color="#007700">.</font><font color="#0000BB">$nick</font><font color="#007700">.</font><font color="#DD0000">''"><input type="submit" value="Update" name="btSendNick" tabindex="5"></td></tr>

             </table><HR>''</font><font color="#007700">;

       Echo </font><font color="#DD0000">''<table border="0" width="600" cellspacing="1">

             <tr><td width="100%" colspan = 3 bgcolor="#DEDCD0">IP</td></tr>''</font><font color="#007700">;



       </font><font color="#0000BB">$results </font><font color="#007700">= </font><font color="#0000BB">mysql_query</font><font color="#007700">(</font><font color="#DD0000">"SELECT * FROM hostnames WHERE hostnames.usernr = "</font><font color="#007700">.</font><font color="#0000BB">$nr</font><font color="#007700">.</font><font color="#DD0000">" ORDER BY hostnames.nr ASC"</font><font color="#007700">);

       while(</font><font color="#0000BB">$myrow</font><font color="#007700">=</font><font color="#0000BB">MySQL_fetch_array</font><font color="#007700">(</font><font color="#0000BB">$results</font><font color="#007700">))

                    {

                           </font><font color="#0000BB">$hostip</font><font color="#007700">=</font><font color="#0000BB">$myrow</font><font color="#007700">[</font><font color="#DD0000">"ip"</font><font color="#007700">];

                           </font><font color="#0000BB">$hostnr</font><font color="#007700">=</font><font color="#0000BB">$myrow</font><font color="#007700">[</font><font color="#DD0000">"nr"</font><font color="#007700">];

                           Echo </font><font color="#DD0000">''<tr><td width="634" bgcolor="#DEDCD0">''</font><font color="#007700">.</font><font color="#0000BB">$hostip</font><font color="#007700">.</font><font color="#DD0000">''</td><td width="78" bgcolor="#DEDCD0" align="center"><input type="radio" name="R1" value="''</font><font color="#007700">.</font><font color="#0000BB">$hostnr</font><font color="#007700">.</font><font color="#DD0000">''"></td></tr>''</font><font color="#007700">;

                    }

       Echo </font><font color="#DD0000">''<tr><td width="634" bgcolor="#DEDCD0">Click the IP to delete</td><td width="78" bgcolor="#DEDCD0" align="center"><input type="submit" value="Del Host" name="btDelHost" tabindex="7"></td></tr>''</font><font color="#007700">;

       Echo </font><font color="#DD0000">''</table><HR>''</font><font color="#007700">;



       Echo </font><font color="#DD0000">''<table border="0" width="600" cellspacing="1">

             <tr><td width="100%" bgcolor="#DEDCD0">Add an IP</td></tr>

             <tr><td width="100%" bgcolor="#DEDCD0"><input type="text" name="IP" size="15" maxlength="15" tabindex="8"></td></tr>

             <tr><td width="100%" bgcolor="#DEDCD0">Or use the name & IP from the computer I am currently working on</td></tr>

             <tr><td width="100%" bgcolor="#DEDCD0"><input type="checkbox" name="UseCurrentIP" value="ON" tabindex="9">(use current IP)</td></tr>

             <tr><td width="100%" bgcolor="#DEDCD0"><input type="submit" value="Add Host" name="btAddHost" tabindex="10"></td></tr>

             </table>''</font><font color="#007700">;

       if (</font><font color="#0000BB">$admin</font><font color="#007700">)

       {

               Echo </font><font color="#DD0000">''<HR>''</font><font color="#007700">;

               Echo </font><font color="#DD0000">''<table border="0" width="600" cellspacing="1">

                     <tr><td width="100%" bgcolor="#DEDCD0">View all IP\''s</td></tr>

                     <tr><td width="100%" bgcolor="#DEDCD0"><input type="submit" value="Show All" name="btShowAll" tabindex="11"></td></tr>

                     </table>''</font><font color="#007700">;

       }

      }

       Echo </font><font color="#DD0000">''<table border="0" width="600" cellspacing="1">

&n

..so be wary of any man who keeps a pig farm..


Verwijderd

Kun je misschien een downloadbare versie ergens neerzetten ?

Met knippen en plakken verkloot ie de hele boel :)

  • RobzQ
  • Registratie: Februari 2000
  • Laatst online: 21-12-2020

RobzQ

greedy as a pig

Topicstarter

..so be wary of any man who keeps a pig farm..


  • mythor
  • Registratie: September 2000
  • Laatst online: 21-05 08:32

mythor

Held in opleiding

goed iedee, al is het al eerder gedaan.

ik vind je source wel een beetje erg omslachtig hoor :)

What you say?!


  • RobzQ
  • Registratie: Februari 2000
  • Laatst online: 21-12-2020

RobzQ

greedy as a pig

Topicstarter
Op dinsdag 03 april 2001 00:10 schreef mythor het volgende:
goed iedee, al is het al eerder gedaan.
ik vind je source wel een beetje erg omslachtig hoor :)
Als je de code korter/beter wil maken, be my guest ;)

..so be wary of any man who keeps a pig farm..