home *** CD-ROM | disk | FTP | other *** search
/ PC World 2005 April / PCWorld_2005-04_cd.bin / akce / web / unitednuke / unitednuke.exe / html / auth.php < prev    next >
PHP Script  |  2004-09-28  |  3KB  |  94 lines

  1. <?php
  2.  
  3. /************************************************************************/
  4. /* PHP-NUKE: Advanced Content Management System                         */
  5. /* ============================================                         */
  6. /*                                                                      */
  7. /* Copyright (c) 2002 by Francisco Burzi                                */
  8. /* http://phpnuke.org                                                   */
  9. /*                                                                      */
  10. /* This program is free software. You can redistribute it and/or modify */
  11. /* it under the terms of the GNU General Public License as published by */
  12. /* the Free Software Foundation; either version 2 of the License.       */
  13. /************************************************************************/
  14.  
  15. require_once("mainfile.php");
  16. global $prefix, $db;
  17. if (eregi("auth.php",$_SERVER['SCRIPT_NAME'])) {
  18.     Header("Location: index.php");
  19.     die();
  20. }
  21.  
  22. //fix for names with diacritics begin
  23. $aid_founded = 0;
  24. $sql_check_aid = "SELECT aid FROM ".$prefix."_authors";
  25. $result_check_aid = $db->sql_query($sql_check_aid);
  26.   while($row_check_aid = $db->sql_fetchrow($result_check_aid)) {
  27.   $aid_check = $row_check_aid['aid'];
  28.     if ($aid_check == $aid) {
  29.     $aid_founded = 1;
  30.     break;
  31.     }
  32.   
  33.   }
  34. ////fix for names with diacritics end and part below
  35.  
  36. if (ereg("[^a-zA-Z0-9_-]",trim($aid)) AND $aid_founded == 0) {
  37. echo trim($aid);
  38. die("Inserted characters of your login name are not allowed.");
  39. }
  40.  
  41.     $aid = substr(trim($aid), 0,25);
  42.     $pwd = substr(trim($pwd), 0,18);
  43.  
  44. if ((isset($aid)) && (isset($pwd)) && ($op == "login")) {
  45.     $datekey = date("F j");
  46.     $rcode = hexdec(md5($_SERVER['HTTP_USER_AGENT'] . $sitekey . $_POST['random_num'] . $datekey));
  47.     $code = substr($rcode, 2, 6);
  48.     if (extension_loaded("gd") AND $code != $_POST['gfx_check'] AND ($gfx_chk == 1 OR $gfx_chk == 5 OR $gfx_chk == 6 OR $gfx_chk == 7)) {
  49.     Header("Location: admin.php");
  50.     die();
  51.     }
  52.     if($aid!="" AND $pwd!="") {
  53.     $pwd = md5($pwd);
  54.     $sql = "SELECT pwd, admlanguage FROM ".$prefix."_authors WHERE aid='$aid'";
  55.     $result = $db->sql_query($sql);
  56.     $row = $db->sql_fetchrow($result);
  57.     $admlanguage = $row['admlanguage'];
  58.     $rpwd = $row['pwd'];
  59.     if($rpwd == $pwd) {
  60.         $admin = base64_encode("$aid:$pwd:$admlanguage");
  61.         setcookie("admin","$admin",time()+2592000);
  62.         unset($op);
  63.     }
  64.     }
  65. }
  66.  
  67. $admintest = 0;
  68.  
  69. if(isset($admin) && $admin != "") {
  70.   $admin = addslashes(base64_decode($admin));
  71.   $admin = explode(":", $admin);
  72.   $aid = addslashes("$admin[0]");
  73.   $pwd = "$admin[1]";
  74.   $admlanguage = "$admin[2]";
  75.   if ($aid=="" || $pwd=="") {
  76.     $admintest=0;
  77.     echo "Illegal operation\n";
  78.     exit;
  79.   }
  80.   $aid = substr("$aid", 0,25);
  81.   $result2 = $db->sql_query("SELECT pwd FROM ".$prefix."_authors WHERE aid='$aid'");
  82.   if (!$result2) {
  83.         echo "Selection from database failed!";
  84.         exit;
  85.   } else {
  86.     $row2 = $db->sql_fetchrow($result2);
  87.     $rpwd = $row2['pwd'];
  88.     if($rpwd == $pwd && $rpwd != "") {
  89.         $admintest = 1;
  90.     }
  91.   }
  92. }
  93.  
  94. ?>