免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 9322 | 回复: 12
打印 上一主题 下一主题

[FTP] pureftpd_php_manager修改,支持md5 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-05-29 21:06 |只看该作者 |倒序浏览
最近一些朋友在使用pureftpd_php_manager是遇到一些问题,一个就是不能使用md5加密的密码。
看了一下pureftpd_php_manager的代码,发现它只支持明码和crypt加密。
所以,修改了一下index.php,加入了md5和password(mysql的password函数)的支持。
但手头没有环境,所以没有经过测试
各位如使用,有问题不要骂我,呵呵。把问题回复到本贴,我好改进。

下载后改名index.php   
http://bbs.chinaunix.net/forum/uploadfile/index.php.jpg

index.php.jpg (17.23 KB, 下载次数: 175)

index.php.jpg

论坛徽章:
0
2 [报告]
发表于 2005-05-29 22:25 |只看该作者

pureftpd_php_manager修改,支持md5


  1. <?
  2. // Aenderungen 25.5. Uwe Ahrendt
  3. // www.bildpartner.de

  4. // READ THE README !!!
  5. /****************************************************
  6. * PureFTP - PHP USer Manager by solariz                       
  7. * Source (c) 2002 - www.solariz.de                                       
  8. ****************************************************
  9. CheckOut:  http://www.solariz.de
  10. */

  11. include("pureftp.config.php");

  12. #################################################################
  13. ############### NO NEED FOR CHANGES BELOW HERE ##################
  14. #################################################################
  15. // Config einlesen
  16.         if(!file_exists($PUREFTP_CONFIG_FILE)) DIE("FATAL ERROR: Pure FTPD Config file not found.<br />;$PUREFTP_CONFIG_FILE");
  17.         $USERARRAY = array();
  18.         $raw = file($PUREFTP_CONFIG_FILE);
  19.         foreach($raw AS $zeile):
  20.                 if(!ereg("^#",$zeile)): #skip comments
  21.                         // Einlesen der einzelnen Zeilen als Variable
  22.                                 $tmp = split(" ",trim($zeile));
  23.                                 // UNIX Tab workaround
  24.                                 if(count($tmp) < 2)
  25.                                         $tmp = explode("\t",trim($zeile));
  26.                                 $var = strtoupper(trim($tmp[0]));
  27.                                 for($n=1;$n<count($tmp);++$n) {
  28.                                         if(!empty($tmp[$n])) {
  29.                                                 // $$var = trim($tmp[$n]);
  30.                                                 // modified by wolfg
  31.                                                 $$var = trim(strtolower($tmp[$n]));
  32.                                                 break;
  33.                                         }#end if
  34.                                 }#end for
  35.                         // Einlesen der Tabelle
  36.                                 if(empty($DB_TABLE) AND eregi("FROM\ [[:alnum:]]{1,20}\ WHERE",$zeile)):
  37.                                         $tmp2 = split("FROM ",$zeile);
  38.                                         $tmp2 = split(" WHERE",trim($tmp2[1]));
  39.                                         $DB_TABLE = trim($tmp2[0]);
  40.                                         unset($tmp2);
  41.                                 EndIF;
  42.                 EndIf;
  43.         EndForEach;
  44.         if(empty($MYSQLSERVER)) $MYSQLSERVER = "localhost";
  45.         if(empty($DB_TABLE))        DIE("ERROR: Config error in pureftpd config file. No table specified.");
  46. // UA
  47. //        if ($MYSQLCRYPT == "crypt") {$PW = TRUE;} else {$PW = FALSE;}
  48. // modified by wolfg       
  49.         if ($MYSQLCRYPT == "crypt" || $MYSQLCRYPT == "md5" || $MYSQLCRYPT == "password" || $MYSQLCRYPT == "any") {$PW = TRUE;} else {$PW = FALSE;}

  50. // Current Version
  51.         $VERSION = "2.50";
  52.         $BUILD                = "1018";

  53. // Setein header
  54.         PAGE_HEADER();

  55. // SQL Connection herstellen
  56.         DB_OPEN();
  57.        

  58. // FORM SUBIT AUSWERTUNG // Globals
  59.         $action                = get_var("action");
  60.         $user                = get_var("user");

  61. if( $action == "edit" || $action == "add" ) {
  62.         // ADD value setter

  63.                 if($action == "add"):
  64.                                 $USERARRAY['User']                = $DefaultUser;
  65. // UA                       
  66.                                 //if ($PW) {$USERARRAY['Password']        = crypt($DefaultPass,$PWC); }
  67.                                 //        else {$USERARRAY['Password']        = $DefaultPass; }
  68.                                 // modified by wolfg                               
  69.                                
  70.                                 $USERARRAY['Password']        = $DefaultPass;
  71.                                 $USERARRAY['Uid']                = $DefaultUid;
  72.                                 $USERARRAY['Gid']                = $DefaultGid;
  73.                                 $USERARRAY['Dir']                = $DefaultDir;
  74.                                 $USERARRAY['ULBandwidth']        = $DefaultUL;
  75.                                 $USERARRAY['DLBandwidth']        = $DefaultDL;
  76.                                 $USERARRAY['ipaccess']        = $Defaultip;
  77.                                 $USERARRAY['QuotaSize']        = $DefaultQS;
  78. // UA
  79.                                 $USERARRAY['QuotaFiles']        = $DefaultQF;
  80.         $USERARRAY['comment']        = $Defaultcmt;
  81.                                 else:
  82.                                 unset($USERARRAY);
  83.                 EndIf;

  84.                 if(!empty($user) AND $user != "0") {
  85.                                 $USERARRAY=@MYSQL_FETCH_ARRAY(DB_QUERY("SELECT * FROM `$DB_TABLE` WHERE User LIKE '$user'"));
  86.                 }#end if
  87.                 if(!is_array($USERARRAY)) DIE("User Not found or DB error.<br />;".mysql_error());

  88.         echo '<form method=post action="'.$SELF_URL.'" onSubmit="return checkrequired(this)">;';

  89.         if(!empty($user))        echo '<input type="hidden" name="requireduser" value="'.stripslashes($USERARRAY['User']).'">;';
  90.         else                                                echo '<input type="hidden" name="addnew" value="True">;';
  91.         echo '<input type="hidden" name="action" value="save">;';
  92.         echo '<table width="100%" class=TABLE>;';
  93.         echo '<tr>;<th>;Status</th>;<td class=TD>;<input type="radio" name="status" value="0"';
  94.         if($USERARRAY['status'] == 0) echo ' checked';
  95.         echo '>; Inactive&&&<input type="radio" name="status" value="1"';
  96.         if($USERARRAY['status'] == 1) echo ' checked';
  97.         echo '>; Active</td>;</tr>;';

  98.         if(!empty($user))        {
  99.                 echo '<tr>;<th>;Delete user ?</th>;<td class=TD>;<input type="checkbox" name="delete">; Yes, i am know exactly what i am doing! (NO UNDO)</td>;</tr>;';
  100.                 echo '<tr>;<th>;Username</th>;<td class=TD>;'.stripslashes($USERARRAY['User']).'</td>;</tr>;';
  101.         }

  102.         else

  103.         echo '<tr>;<th>;Username</th>;<td class=TD>;<input type="text" name="requireduser" class="input">;</td>;</tr>;';
  104.           echo '<tr>;';
  105.         echo '<th>;Password</th>;';
  106. // UA
  107.         if ($PW) {
  108.                 echo '<td class=TD>;<input type="text" name="requiredpass" value="<crypted>;" class="input">;</td>;</tr>;';
  109.         } else {
  110.                 echo '<td class=TD>;<input type="text" name="requiredpass" value="'.stripslashes($USERARRAY['Password']).'" class="input">;</td>;</tr>;';
  111.         }
  112.         echo '<tr>;<th>;UID</th>;<td class=TD>;<input type="text" name="requireduid" value="'.stripslashes($USERARRAY['Uid']).'" class="input">;</td>;</tr>;';
  113.         echo '<tr>;<th>;GID</th>;<td class=TD>;<input type="text" name="requiredgid" value="'.stripslashes($USERARRAY['Gid']).'" class="input">;</td>;</tr>;';
  114.         echo '<tr>;<th>;DIR</th>;<td class=TD>;<input type="text" name="requireddir" value="'.stripslashes($USERARRAY['Dir']).'" class="input">;</td>;</tr>;';
  115.     echo '<tr>;<th>;UL Throttle kb/s</th>;<td class=TD>;<input type="text" name="requiredulthrottle" value="'.stripslashes($USERARRAY['ULBandwidth']).'" class="input">;</td>;</tr>;';
  116.     echo '<tr>;<th>;DL Throttle kb/s</th>;<td class=TD>;<input type="text" name="requireddlthrottle" value="'.stripslashes($USERARRAY['DLBandwidth']).'" class="input">;</td>;</tr>;';
  117.         echo '<tr>;<th>;IP ACCESS</th>;<td class=TD>;<input type="text" name="requiredipaccess" value="'.stripslashes($USERARRAY['ipaccess']).'" class="input">;<br />;<small>;Type in <b>;*</b>; for any IP</td>;</tr>;';
  118. // UA
  119.         echo '<tr>;<th>;QuotaSize in MB</th>;<td class=TD>;<input type="text" name="requiredQuotaSize" value="'.stripslashes($USERARRAY['QuotaSize']).'" class="input">;<br />;<small>;Type in <b>;0</b>; for NO VirtualQuotaSize</td>;</tr>;';
  120. // UA
  121.         echo '<tr>;<th>;QuotaFiles Anzahl</th>;<td class=TD>;<input type="text" name="requiredQuotaFiles" value="'.stripslashes($USERARRAY['QuotaFiles']).'" class="input">;<br />;<small>;Type in <b>;0</b>; for NO VirtualQuotaFiles</td>;</tr>;';
  122.         echo '<tr>;<th>;COMMENT</th>;<td class=TD>;<textarea name="comment" rows="6" cols="20" class="input">;'.stripslashes($USERARRAY['comment']).'</textarea>;</td>;</tr>;';
  123.         echo '</table>;';
  124.         echo '<center>;<input type="submit" value="Save" class="button" width="100%">;</center>;</form>;';
  125.   
  126. }#end edit

  127. elseif($action == "save") {
  128.         $addnew                = addslashes( get_var("addnew") );
  129.         $User                = addslashes(get_var("requireduser"));
  130.        
  131.         // UA - MG Optimized ;)
  132.         $Password = addslashes(get_var("requiredpass"));

  133.         IF($Password == '<crypted>;')        $Password = '';
  134.         // modified by wolfg
  135.         //ELSEif($PW)                                                $Password = crypt($Password, $PWC);

  136.         $Uid                = addslashes(get_var("requireduid"));
  137.         $Gid                = addslashes(get_var("requiredgid"));
  138.         $Dir                = addslashes(get_var("requireddir"));
  139.     $ULThrottle        = addslashes(get_var("requiredulthrottle"));
  140.     $DLThrottle        = addslashes(get_var("requireddlthrottle"));
  141.         $QuotaSize        = addslashes(get_var("requiredQuotaSize"));
  142. // UA
  143.         $QuotaFiles        = addslashes(get_var("requiredQuotaFiles"));
  144.         $comment        = addslashes(get_var("comment"));
  145.         $status                = addslashes(get_var("status"));
  146.         $delete                = addslashes(get_var("delete"));
  147.         $ipaccess   = addslashes(get_var("requiredipaccess"));
  148.         if(empty($User) ||  empty($Uid) || empty($Gid) || empty($Dir)) DIE("Invalid or missing data entered...");
  149.         if(empty($delete)) {
  150.                 // Mini workarounds
  151.                 //modified by wolfg
  152.                         //if($Password)        $PW_QUERY = ",Password='$Password'";
  153.                         /* modification start here */
  154.                         if($Password)        {
  155.                                 if ($PW) {
  156.                                         if ($MYSQLCRYPT == "crypt") {
  157.                                                 $PW_QUERY = ",Password=encrypt('$Password', '$PWC')";
  158.                                         }
  159.                                         elseif ($MYSQLCRYPT == "password") {
  160.                                                 $PW_QUERY = ",Password=password('$Password')";
  161.                                         }
  162.                                         else {
  163.                                                 $PW_QUERY = ",Password=md5('$Password')";
  164.                                         }               
  165.                                 }
  166.                                 else {
  167.                                         $PW_QUERY = ",Password='$Password'"
  168.                                 }               
  169.                         }
  170.                         /* modification end here */
  171.                         if(!$status)                $status = (string) '0';
  172.                         if(!$ULBandwidth)        $ULBandwidth = (string) '0';
  173.                         if(!$DLBandwidth)        $DLBandwidth = (string) '0';
  174.                         if(!$QuotaSize)                $QuotaSize = (string) '0';
  175.                         if(!$QuotaFiles)        $QuotaFiles = (string) '0';
  176.                 if($addnew == False) {
  177.                         $SQL        = "UPDATE `$DB_TABLE` SET status='$status'".$PW_QUERY.",Uid='$Uid',Gid='$Gid',Dir='$Dir',ULBandwidth='$ULThrottle',DLBandwidth='$DLThrottle',comment='$comment',ipaccess='$ipaccess',QuotaSize='$QuotaSize',QuotaFiles='$QuotaFiles' WHERE User LIKE '$User' LIMIT 1";
  178.                         $Q                = DB_QUERY($SQL);
  179.                         if($Q)        echo "<SCRIPT LANGUAGE=\"JavaScript\">;\n<!--\nalert(\"User updated.\");\n//-->;\n</SCRIPT>;\n";
  180.                 }#end if
  181.                 else{
  182.                         $Q                = DB_QUERY("INSERT INTO `$DB_TABLE` SET User='$User',status='$status'".$PW_QUERY.",Uid='$Uid',Gid='$Gid',Dir='$Dir',ULBandwidth='$ULThrottle',DLBandwidth='$DLThrottle',comment='$comment',ipaccess='$ipaccess',QuotaSize='$QuotaSize',QuotaFiles='$QuotaFiles'");
  183.                         if($Q)        echo "<SCRIPT LANGUAGE=\"JavaScript\">;\n<!--\nalert(\"User added.\");\n//-->;\n</SCRIPT>;\n";
  184.                 }#end if

  185.         }#end if
  186.         elseif($User && !empty($delete)){#DELETE
  187.                         $Q                = DB_QUERY("DELETE FROM `$DB_TABLE` WHERE User LIKE '$User' LIMIT 1");
  188.                         if($Q)        echo "<SCRIPT LANGUAGE=\"JavaScript\">;\n<!--\nalert(\"User deleted.\");\n//-->;\n</SCRIPT>;\n";
  189.         }#end if
  190.         echo "<SCRIPT LANGUAGE=\"JavaScript\">;\n<!--\nopener.location.reload();close();\n//-->;\n</SCRIPT>;\n";
  191. }#end else (save)

  192. ######
  193. elseif($action == "ftpwho") {

  194. echo '<table border="4">;';
  195. exec($FTP_WHO." -s", $ftpresult );
  196. $arraySize = sizeof($ftpresult);
  197. $x = 0;
  198. echo '<table width="100%" class=TABLE>;';
  199. echo '<th class=THsmall>;PID</td>;';
  200. echo '<th class=THsmall>;user</td>;';
  201. echo '<th class=THsmall>;min\'s</td>;';
  202. echo '<th class=THsmall>;state</td>;';
  203. echo '<th class=THsmall>;file</td>;';
  204. echo '<th class=THsmall>;IP</td>;';
  205. echo '<th class=THsmall>;current</td>;';
  206. echo '<th class=THsmall>;total</td>;';
  207. echo '<th class=THsmall>;%</td>;';
  208. echo '<th class=THsmall>;bw.</td>;';
  209. while($x < $arraySize):
  210.          $ftpwho = $ftpresult[$x];
  211.          list($pid, $user, $mins, $state, $file, $host, $port,$h, $current, $total, $percent, $bandwidth ) = explode("|", $ftpwho );
  212.          $mins = round($mins / 60);
  213.          if (empty($file) or !isset($file)) {
  214.                  ( $file = "---" );
  215.                  ++$ftp_activity;
  216.          }
  217.          else {
  218.                 if(strlen($file) >; 10)
  219.                         $file_short = substr($file,0,10);
  220.                         $file = "<a href=\"#\" onClick=\"javascript:alert('$file');\">;$file_short...</a>;";
  221.          }#end else
  222.          $host = gethostbyname($host);
  223.                 echo '<tr>;';
  224.                 echo '<td class=TDsmall>;' .$pid. '</td>;';
  225.                 echo '<td class=TDsmall>;' .$user. '</td>;';
  226.                 echo '<td class=TDsmall>;' .$mins. '</td>;';
  227.                 echo '<td class=TDsmall>;' .$state. '</td>;';
  228.                 echo '<td class=TDsmall>;' .$file. '</td>;';
  229.                 echo '<td class=TDsmall>;' .$host. '</td>;';
  230.                 echo '<td class=TDsmall>;' .$current. '</td>;';
  231.                 echo '<td class=TDsmall>;' .$total. '</td>;';
  232.                 echo '<td class=TDsmall>;' .$percent. '</td>;';
  233.                 echo '<td class=TDsmall>;' .$bandwidth. ' kb/s</td>;';
  234.                 echo '</tr>;';
  235.           $x++;
  236. EndWhile;
  237. echo '</table>;';
  238. if(!$ftp_activity) echo 'No users currenty using the FTP.<br>;';

  239. echo '<p>;<center>;<input type=button value=" Close " onclick=self.close()>;';
  240. echo '<input type=button value=" Refresh " onClick=" JavaScript : window.location.reload()">;</center>;';


  241. }#end else (ftpwho)
  242. ######
  243. elseif($action == "info") {
  244. ?>;
  245.         <font color=gray face="Verdana,Arial">;
  246.         <b>;sOLARiZ PureFTPd Manager</b>;<br>;
  247.         Version <?=$VERSION?>; Build <?=$BUILD?>;<br>;<br>;
  248.         About
  249.         <ul class="small_font">;
  250.           The first version of this Script was developed roughly at the end of 2001 in need of a simplyfied remote FTP administration. Since this many user submited changes / updates were integrated. If you got special wishes please let me know via mail.<br>;
  251.           One thing to note; I don't take any guarantee either I'm not liable for possible caused damage. This script is free no need to pay for it. But if you like it im be glad for a donation. Everything is welcome e.g. a PayPAL donation:<br>;
  252.           <form action="https://www.paypal.com/cgi-bin/webscr" method="post">;
  253.           <input type="hidden" name="cmd" value="_xclick">;
  254.           <input type="hidden" name="business" value="paypal@solariz.de">;
  255.           <input type="hidden" name="item_name" value="PureFTPd Manager Donation">;
  256.           <input type="hidden" name="no_note" value="1">;
  257.           <input type="hidden" name="currency_code" value="EUR">;
  258.           <input type="hidden" name="tax" value="0">;
  259.           <input type="image" src="http://www.solariz.de/x-click-but04.gif" border="0" name="submit" alt="Zahlen Sie mit PayPal - schnell, kostenlos und sicher!">;
  260.           </form>;        
  261.           <br>;
  262.           For Information or other stuff regarding pureFTPd Manager or other scripts please visit <a href="http://www.solariz.de" target=_blank>;www.solariz.de</a>;
  263.         </ul>;
  264.               ChangeLog
  265.                                 <ul class="small_font">;
  266.                                 <?
  267.                                         $raw = file("history.txt");
  268.                                         foreach($raw AS $hline):
  269.                                                         echo stripslashes($hline)."<br>;\n";
  270.                                         EndForEach;
  271.                                 ?>;
  272.                                 </ul>;

  273. <?
  274. }
  275. ELSE {
  276. // User auslesen und in Table darstellen
  277.         $viewpw = get_var("viewpw");
  278.         $Q=DB_QUERY("SELECT * FROM `$DB_TABLE` ORDER BY User");
  279.         echo '<table width="100%" class=TABLE>;';
  280.         echo '<tr>;<th>;LOGIN</th>;';
  281.         if($viewpw) echo '<th>;PASSWORD</th>;';
  282. // UA
  283.         echo '<th>;UID</th>;<th>;GID</th>;<th>;DIR</th>;<th>;UL/ks</th>;<th>;DL/ks</th>;<th>;Quota Size</th>;<th>;Quota Files</th>;<th>;IP Access</th>;<th>;Status</th>;<th>;&</th>;</tr>;';
  284.         WHILE($R=MYSQL_FETCH_ARRAY($Q)) {
  285.                 echo '<tr>;';
  286.                 echo '<td class=TD>;'.$R['User'].'</td>;';
  287.                 if($viewpw) echo '<td class=TDPW>;'.$R['Password'].'</td>;';
  288.                 echo '<td class=TD>;'.$R['Uid'].'</td>;';
  289.                 echo '<td class=TD>;'.$R['Gid'].'</td>;';
  290.                 echo '<td class=TD>;'.$R['Dir'].'</td>;';
  291.                 if($R['ULBandwidth'])        echo '<td class=TD>;'.$R['ULBandwidth'].'</td>;';
  292.                 ELSE                                                                echo '<td class=TD>;-</td>;';
  293.                 if($R['DLBandwidth'])        echo '<td class=TD>;'.$R['DLBandwidth'].'</td>;';
  294.                 ELSE                                                                echo '<td class=TD>;-</td>;';
  295.                 if($R['QuotaSize'])        echo '<td class=TD>;'.$R['QuotaSize'].' MB</td>;';
  296.                 ELSE                                                        echo '<td class=TD>;-</td>;';
  297. // UA
  298.                 if($R['QuotaFiles'])        echo '<td class=TD>;'.$R['QuotaFiles'].'</td>;';
  299.                 ELSE                                                        echo '<td class=TD>;-</td>;';
  300.                 echo '<td class=TD>;'.$R['ipaccess'].'</td>;';
  301.                 if($R['status'] == '0')                echo '<td class="inactive">;inactive</td>;';
  302.                 elseif($R['status'] == '1')        echo '<td class="active">;active</td>;';
  303.                 echo "<td width=30 class=TD>;<img src=\"gfx/ed.gif\" onClick=\"javascript:fenster('$SELF_URL?action=edit&user=".$R['User']."')\">;</td>;";
  304.    
  305.                 echo "</tr>;\n";
  306.         }#end while
  307.         echo '</table>;';
  308.         ?>;
  309.                 <table width="100%" class=TABLE2>;
  310.                         <tr>;
  311.                                 <td align=left>;
  312.         <font color=gray>;
  313.                                         PureFTP User Management.<br />;
  314.                                         v<?=$VERSION?>; written by sOLARiZ <br />;
  315.                                         [<a href="javascript:fenster('<?=$SELF_URL?>;?action=info')">;<font color=#BA031B size=1>;Information</font>;</a>;]<br />;
  316.                                 </td>;
  317.                                 <td>;&</td>;
  318.                                 <td align=right valign=top>;
  319.         <?
  320.         // Nav Button stuff
  321.                 echo "<table cellspacing=0 cellpadding=0>;<tr>;";
  322.                 // Add User Button
  323.                                 ECHO "<td>;<input type=\"image\" src=\"gfx/addusr.gif\" class=button onClick=\"javascript:fenster('$SELF_URL?action=add')\">;</td>;";
  324.                 // View Password Button
  325.                                 echo '<form method=post action="'.$PHP_SELF.'">;';
  326.                                 if($viewpw)        echo '<input type="hidden" value=0 name="viewpw">;';
  327.                                 ELSE                                echo '<input type="hidden" value=1 name="viewpw">;';
  328.                                 ECHO '<td>;<input type="image" src="gfx/passwd.gif" value="View Passwords" alt="Toggle Passworddisplay"';
  329.                                 if(!$viewpw) echo ' class=button';
  330.                                 ECHO '>;</td>;';
  331.                                 echo '</form>;';
  332.                 // Status Button
  333.                                 ECHO "<td>;<input type=\"image\" src=\"gfx/status.gif\" class=button onClick=\"javascript:fenster('$SELF_URL?action=ftpwho')\">;</td>;";
  334.                 // Update Button
  335.                                 ECHO "<td>;<input type=\"image\" src=\"gfx/updates.gif\" class=button onClick=\"javascript:fenster('http://www.solariz.de/updates/pureftpdm.php?ver=$VERSION&ab=$BUILD')\">;</td>;";                               
  336.                 echo "</tr>;</table>;";
  337. ########

  338.         echo '</td>;</tr>;</table>;';
  339. }#end else

  340. // SQL Verbindung schliessen
  341.         DB_CLOSE();


  342. // Seite abschliessen
  343. PAGE_FOOTER();







  344. // EOC <--*







  345. // Funktionen

  346.         function PAGE_HEADER() {
  347.     GLOBAL $VERSION, $BUILD;
  348.     include("inc/top.php");
  349.   }#end func

  350.         function PAGE_FOOTER() {
  351.       include("inc/bottom.php");       
  352.   }#end func

  353.         function DB_OPEN() {
  354.                 GLOBAL $MYSQLSERVER,$MYSQLUSER,$MYSQLPASSWORD,$MYSQLDATABASE,$MYSQLCON;
  355.                         $MYSQLCON = @mysql_connect($MYSQLSERVER,$MYSQLUSER,$MYSQLPASSWORD);
  356.                         if(!$MYSQLCON OR @mysql_error()) DIE("Can't establish DB connection.<br />;".mysql_error());
  357.                         if(!@mysql_select_Db($MYSQLDATABASE)) DIE("Can't establish DB connection.<br />;".mysql_error());
  358.         }#end func

  359.         function DB_CLOSE() {
  360.                 GLOBAL $MYSQLCON;
  361.                 RETURN @mysql_close($MYSQLCON);
  362.         }#end func

  363.         function DB_QUERY($sql) {
  364.                 GLOBAL $MYSQLCON,$MYSQLDATABASE;
  365.                 $Q = @MySql_DB_query($MYSQLDATABASE,$sql,$MYSQLCON);
  366.                 if(@mysql_error()) DIE("<b>;MySQL Error during Query !</b>;<br />;<br />;[$sql]<br />;".mysql_error());
  367.                 return $Q;
  368.         }#end func

  369.         function get_var($var){
  370.                 GLOBAL $$var;
  371.                 GLOBAL $_POST,$_GET,$HTTP_POST_VAR,$HTTP_GET_VAR;
  372.                 $inhalt = $$var;
  373.                 # This function checks if the _GET or _POST var is set or if an old PHP version used
  374.                 if($_POST[$var]) RETURN $_POST[$var];
  375.                 elseif($HTTP_POST_VAR[$var]) RETURN $HTTP_POST_VAR[$var];
  376.                 elseif($_GET[$var]) RETURN $_GET[$var];
  377.                 elseif($HTTP_GET_VAR[$var]) RETURN $HTTP_GET_VAR[$var];
  378.                 elseif($inhalt) RETURN $inhalt;
  379.         }#end func
  380. ?>;

复制代码

论坛徽章:
2
丑牛
日期:2013-09-29 09:47:222015七夕节徽章
日期:2015-08-21 11:06:17
3 [报告]
发表于 2005-05-30 19:59 |只看该作者

pureftpd_php_manager修改,支持md5

老大,换你的文件以后web界面下开设用户什么的根本访问不到啊

论坛徽章:
0
4 [报告]
发表于 2005-05-30 20:55 |只看该作者

pureftpd_php_manager修改,支持md5

请写出错误信息
ataman 该用户已被删除
5 [报告]
发表于 2005-06-08 23:16 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
ataman 该用户已被删除
6 [报告]
发表于 2005-06-08 23:32 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
7 [报告]
发表于 2005-06-09 09:13 |只看该作者

pureftpd_php_manager修改,支持md5

原帖由 "ataman" 发表:
还有,这个脚本是在unix下加密,再存到mysql里的。而unix没有password这个函数吧,它只存在于mysql里。
不明白pureftpd用mysql是怎么验证密码的?
是在unix下加密,然后和mysql里的对?(这应该不大可能,以passwo..........

我改的是在sql语句里用mysql的加密函数加密密码。

看这里
  1. if($Password)   {
  2.             if ($PW) {
  3.                if ($MYSQLCRYPT == "crypt") {
  4.                   $PW_QUERY = ",Password=encrypt('$Password', '$PWC')";
  5.                }
  6.                elseif ($MYSQLCRYPT == "password") {
  7.                   $PW_QUERY = ",Password=password('$Password')";
  8.                }
  9.                else {
  10.                   $PW_QUERY = ",Password=md5('$Password')";
  11.                }      
  12.             }
  13.             else {
  14.                $PW_QUERY = ",Password='$Password'"
  15.             }      
  16.          }
复制代码
ataman 该用户已被删除
8 [报告]
发表于 2005-06-09 20:58 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
9 [报告]
发表于 2005-06-10 22:35 |只看该作者

pureftpd_php_manager修改,支持md5

这几句与加密和存储密码到数据库无关
ataman 该用户已被删除
10 [报告]
发表于 2005-06-10 23:07 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP