当前位置: 首页 > news >正文

linux做网站优势区块链开发语言

linux做网站优势,区块链开发语言,买的网站模板怎么上传,网站开发dede2019独角兽企业重金招聘Python工程师标准 限定某个目录禁止解析php 对于使用php语言编写的网站#xff0c;有一些目录是有需求上传文件的。如果网站代码有漏洞#xff0c;让黑客上传了一个用PHP写的木马#xff0c;由于网站可以执行PHP程序#xff0c;最终会… 2019独角兽企业重金招聘Python工程师标准 限定某个目录禁止解析php 对于使用php语言编写的网站有一些目录是有需求上传文件的。如果网站代码有漏洞让黑客上传了一个用PHP写的木马由于网站可以执行PHP程序最终会让黑客拿到服务器权限。 为了避免这种情况发生我们需要把能上传文件的目录直接禁止解析PHP代码 1.编辑虚拟主机配置#进入虚拟主机配置文件 [rootcentos001 111.com]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf #增加下列配置 Directory /data/wwroot/111.com/upload //把upload目录下所有的php禁止解析php_admin_flag engine off //表示禁止解析php ## 增加下面的两个F之间的后所有访问php都会是403FilesMatch (.*)\.php(.*) Order allow,deny Deny from all/FilesMatch /Directory2.检查读写并重启服务 [rootcentos001 111.com]# /usr/local/apache2.4/bin/apachectl -t Syntax OK [rootcentos001 111.com]# /usr/local/apache2.4/bin/apachectl graceful3.创建需要禁止解析php的目录,并把1个php文件放在目录下 [rootcentos001 ~]# cd /data/wwroot/111.com/ [rootcentos001 111.com]# ls 123.php admin qq.png u3062734635,4183904616fm96.jpg [rootcentos001 111.com]# mkdir upload/ [rootcentos001 111.com]# ls 123.php admin qq.png u3062734635,4183904616fm96.jpg upload #在目录下创建一个php文件 [rootcentos001 111.com]# cp 123.php upload/4.访问这个文件,这里显示了403。当我们访问另一个目录的php文件的时候显示能直接访问所以这个限制解析php是指定了目录的,不影响我们其它目录。 [rootcentos001 111.com]# curl -x192.168.10.120:80 111.com/upload/123.php -I HTTP/1.1 403 Forbidden Date: Mon, 08 Jan 2018 16:26:54 GMT Server: Apache/2.4.29 (Unix) PHP/7.1.6 Content-Type: text/html; charsetiso-8859-1 #当我们访问其他目录的php文件 [rootcentos001 111.com]# curl -x192.168.10.120:80 111.com/123.php 123.com[rootcentos001 111.com]# 5.注释掉后面加的代码的时候会出现什么状况呢开始说到禁止解析php只需要最前面的就可以了。 #进入虚拟主机配置文件并注释掉FilesMatch (.*)\.php(.*) Order allow,deny Deny from all/FilesMatch #检查读写并重启服务 #再次访问目录下的php文件 [rootcentos001 111.com]# curl -x192.168.10.120:80 111.com/upload/123.php ?php echo 123.com;6.这里能看到直接显示源代码了看起来不太美观 限制user_agent **什么是user_agent**答可以理解为浏览器标识了解cc攻击 CC是指攻击者借助代理服务器生成指向受害主机的合法请求实现DOS和伪装。CC攻击主要针对WEB应用程序比较消耗资源的地方进行疯狂请求比如论坛中的搜索功能如果不加以限制任由人搜索普通配置的服务器在几百个并发请求下MYSQL服务就会瘫痪为何要限制 user_agent 答防止网站被cc攻击。这种攻击有很明显的规律这些恶意请求的user_agent相同或相似我们就能通过限制user_agent发挥防攻击作用1.修改虚拟主机配置文件。本例意为当user_agent匹配到curl或者baidu.com时,都会触发规则显Forbidden IfModule mod_rewrite.c //此处加载了一个模块RewriteEngine on #NC表示忽略大小写OR表示或者F相当于ForbiddenRewriteCond %{HTTP_USER_AGENT} .*curl.* [NC,OR]//RewriteCond %{HTTP_USER_AGENT} .*baidu.com.* [NC]RewriteRule .* - [F] /IfModule2.检查读写并重启服务。注要是没有加载模块还要去主配置文件里面加载哦 rootcentos001 111.com]# /usr/local/apache2.4/bin/apachectl -t Syntax OK [rootcentos001 111.com]# /usr/local/apache2.4/bin/apachectl graceful3.访问。因为有curl触发了规则所以输出403 [rootcentos001 111.com]# curl -x192.168.10.120:80 http://111.com/123.php !DOCTYPE HTML PUBLIC -//IETF//DTD HTML 2.0//EN htmlhead title403 Forbidden/title /headbody h1Forbidden/h1 pYou dont have permission to access /123.php on this server.br / /p /body/html4.curl -A 123123 指定user_agent [rootcentos001 111.com]# curl -A 123123 192.168.10.120:80 111.com/123.php abc.comPHP相关配置 查看php配置文件的位置 第一种通过浏览器访问phpinfo找到配置文件的路径最准确第二种/usr/local/php/bin/php -i|grep -i loaded configuration file 但是有些情况“php -i ”是不准的因为Apache他是调用了php 的一模块而且“php -i” 只是php 的一个程序它和libphp5.so可能有关系也可能没有关系[rootcentos001 ~]# cd /data/wwroot/111.com/ [rootcentos001 111.com]# ls 123.php index.php [rootcentos001 111.com]# vi index.php [rootcentos001 111.com]# cat index.php ?php phpinfo();有时候浏览器能看到配置文件的路径但是没有加载。所以我们就要去拷贝一个配置文件cp php.ini-development /usr/local/php/etc/php.ini #刷新浏览器不成功可以再重启下服务这个就是我们的配置文件了/usr/local/php7/etc/php.ini修改php配置文件 1.disable_functions 安全函数以下函数会直接调去linux系统命令开放将会很危险因此要禁掉。#打开配置文件 vim /usr/local/php7/etc/php.ini #搜索 disable_functions #修改成如下 disable_functionseval,assert,popen,passthru,escapeshellarg,escapeshellcmd,passthru,exec,system,chroot,scandir,chgrp,chown,escapeshellcmd,escapeshellarg,shell_exec,proc_get_status,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,leak,popepassthru,stream_socket_server,popen,proc_open,proc_close #重启服务示例1禁用phpinfo。 在安全函数后面添加phpinfo重启生效后用浏览器访问。因为不禁止的话在网页上就会显示很多我们的目录信息。 2. date.timezone 定义时区。 不定义的话有时会出现一些警告信息 #进入配置文件 [rootcentos001 111.com]# vim /usr/local/php7/etc/php.ini #搜索date.timezone #修改为date.timezone Asia/Shanghai #搜索display 修改为display_errors Off3.配置error_log 刚才我们禁用phpinfo的时候浏览器输出了一段错误信息。这个就是php开启了错误日志的输出功能但是开启之后呢我们的有些东西就会泄露出去。所以下面我们将介绍怎么设置错误日志的路径、级别和类型等 #进入配置文件 1.开启error_log #搜索 log_errors 修改为log_errors Off2.定义错误日志的文件路径 #搜索error_log 修改为error_log /tmp/php_errors.log3.定义错误日志的级别这里我们选择的是最不严谨的。E_NOTICE为生产环境中所选的 #搜索error_reporting 修改为error_reporting E_ALL #保存退出后检查读写并重启服务。查看路径有没有生成访问下或者刷新一下网页 [rootcentos001 111.com]# /usr/local/apache2.4/bin/apachectl -t Syntax OK [rootcentos001 111.com]# /usr/local/apache2.4/bin/apachectl graceful [rootcentos001 111.com]# cd /tmp [rootcentos001 tmp]# ls php_errors.log //生成的文件查看php_errors.log文件会看到属主属组是daemon [rootcentos001 tmp]# ls -l /tmp/php_errors.log -rw-r--r--. 1 daemon daemon 432 1月 9 04:53 /tmp/php_errors.logdaemon实际上是httpd的属主php_errors.log日志文件是以httpd这个进程的身份去生成的 [rootcentos001 tmp]# ps aux |grep httpd root 2323 0.0 1.4 267872 14384 ? Ss 1月08 0:15 /usr/local/apache2.4/bin/httpd -k start daemon 24263 0.0 0.8 554700 8644 ? Sl 04:46 0:00 /usr/local/apache2.4/bin/httpd -k start daemon 24264 0.0 0.8 554700 8644 ? Sl 04:46 0:00 /usr/local/apache2.4/bin/httpd -k start daemon 24267 0.0 1.1 687884 11172 ? Sl 04:46 0:00 /usr/local/apache2.4/bin/httpd -k start root 24363 0.0 0.0 112676 984 pts/1 R 04:55 0:00 grep --colorauto httpd有时候定义了一个错误日志但是这个错误日志始终没有生成那么就需要检查一下定义错误日志所在的目录到底httpd有没有写权限最保险的办法就是在所在目录创建一个错误日志的文件然后赋予它777的权限这样就不需要担心这个文件httpd是否有写权限了[rootcentos001 tmp]# grep error_log /usr/local/php/etc/php.ini ; server-specific log, STDERR, or a location specified by the error_log ; Set maximum length of log_errors. In error_log information about the source is ;error_log php_errors.log ;error_log syslog ; OPcache error_log file name. Empty string assumes stderr. ;opcache.error_log [rootcentos001 tmp]# touch /tmp/php_errors.log ; chmod /tmp/php_errors.log查看错误日志文件[rootcentos001 tmp]# cat /tmp/php_errors.log [09-Jan-2018 04:43:15 Asia/Shanghai] PHP Warning: phpinfo() has been disabled for security reasons in /data/wwroot/111.com/index.php on line 2open_basedir /data/wwroot/111.com:/tmp open_basedir安全相关项 一台服务器上有多个网站运行这样做的弊端是如果其中一个被黑。其它的也有可能被连累 open_basedir就刚好能解决这个问题它的作用是将网站限定在指定目录里就算被黑也波及不到其他目录php.ini文件中的内容是针对所有虚拟主机进行的配置 1.修改配置文件[rootcentos001 tmp]# vim /usr/local/php7/etc/php.ini #搜索open_basedir 修改为open_basedir /data/wwroot/111.com:/tmp2.检查读写并重启服务 3.正常访问的话直接就能访问 4.若是服务器上跑了N多个站点那应该怎么去做限制呢 应该针对站点这些网站去做open_basedir 但php.ini是做不到的因为php.ini是针对所有站点的 但我们可以在虚拟主机配置文件中设置在apache虚拟主机配置文件中去设置/usr/local/apache2.4/conf/extra/httpd-vhosts.conf [rootcentos001 tmp]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf #增加 保存并退出 php_admin_value open_basedir /data/wwroot/111.com:/tmp/扩展 apache开启压缩 http://ask.apelearn.com/question/5528 apache2.2到2.4配置文件变更 http://ask.apelearn.com/question/7292 apache options参数 http://ask.apelearn.com/question/1051 apache禁止trace或track防止xss http://ask.apelearn.com/question/1045 apache 配置https 支持ssl http://ask.apelearn.com/question/1029 转载于:https://my.oschina.net/u/3707523/blog/1924679
http://www.huolong8.cn/news/230982/

相关文章:

  • 海南省建设网站首页公司建设网站费用会计分录
  • 长沙哪里做网站好用二级域名做网站群
  • 免费的网站生成app易语言开发网站
  • 网站建设里程碑网上接网站开发类订单的平台
  • rap做词网站国内外html5网站建设状况
  • 网站开发工程师岗位描述网站建设实训教程
  • 学做网站前景招聘页面模板
  • 北京建站公司排名首推万维科技定制家具品牌排行榜前十名
  • 五金网站建设制作大学网站建设管理办法信息化
  • 建设网站跟服务器得关系代理服务器地址
  • 专业网站建设顾问网站流量怎么提升
  • 做门户网站需要什么移动app与网站建设的区别
  • 利用git做网站备份制作网站一般使用的软件有哪些
  • 网站备案 材料简述商务网站建设的步骤
  • 郑州网站推广营销68网页设计欣赏
  • 网站如何做搜索引擎优化程序员做网站美工能过关吗
  • 桂林做手机网站购物中心网站建设
  • html5移动端网站建设中装建设网站
  • 重庆网站设计工作室雅虎网站收录入口
  • 网站登录密码忘记了怎么办网页制作的基本步骤有哪些
  • 重庆专业网站建设北京什么网站找工作
  • 新建网站的步骤vps lnmp wordpress
  • 网站预算网站怎么查哪家公司做的
  • 厦门网站设计公司排名第一个做装修的网站
  • 营销展示型网站模板建设考试的报名网站
  • 电子网站建设推广方案欧米茄官网网站
  • 网站建设是什么专业网站的栏目设计怎么做
  • 做收费网站公司简介ppt介绍范本
  • 开平 做一网站宁德市蕉城区建设局网站
  • 商城网站功能列表北京网站推广营销策划