整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

php配置 限定某个目录禁止解析php 限制user_agent

,限定某个目录禁止解析php。

对于使用PHP语言编写的网站,有一些目录是由需求上传文件的,如果被黑客上传了用php代码写的木马,由于网站可以执行php程序,最终会让黑客拿到服务器权限。为了避免这种情况发生,我们需要把能上传文件的目录直接禁止解析php代码。编辑配置文件:

php_admin_flag engine off

//Filesmatch的作用是不允许解析源代码

Order allow,deny

Deny from all

重新加载配置文件后验证:

# mkdir upload //在www.123.com目录下创建upload文件夹

# ls

123.jpg 123.php 123.txt admin index.html upload

# cp 123.php upload/ //把123.php拷贝到upload文件夹

# curl -x127.0.0.1:80 www.123.com/upload/123.php -I //解析123.php时报403

HTTP/1.1 403 Forbidden

Date: Sat, 02 Jun 2018 22:21:09 GMT

Server: Apache/2.4.33 (Unix) PHP/5.6.32

Content-Type: text/html; charset=iso-8859-1

编辑配置文件去掉filesmatch后重新验证得到如下结果:

# curl -x127.0.0.1:80 www.123.com/upload/123.php

echo 123.php;

>

curl直接返回源代码,说明123.php不能正常解析。

2,限制user_agent。

user_agent可以理解成浏览器标识。当用curl访问时,user_agent为curl/7.29.0,当用firefox浏览器访问时,user_agent为Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0。

编辑配置文件:

RewriteEngine on

RewriteCond %{HTTP_USER_AGENT} .*curl.* [NC,OR]

RewriteCond %{HTTP_USER_AGENT} .*baidu.com.* [NC]

RewriteRule .* - [F]

这里用到了rewrite模块,%{HTTP_USR_AGENT} 为user_agent的内置变量,上例上匹配到curl或者baidu.com时,都会触发下面的规则。方括号中的OR表示或者,NC表示“不区分大小写”,F相当于Forbidden。

验证:curl -x127.0.0.1:80 www.123.com/123.php -I

HTTP/1.1 403 Forbidden

Date: Sun, 03 Jun 2018 06:57:41 GMT

Server: Apache/2.4.33 (Unix) PHP/5.6.32

Content-Type: text/html; charset=iso-8859-1

curl -A "123123" -x127.0.0.1:80 www.123.com/123.php -I

HTTP/1.1 200 OK

Date: Sun, 03 Jun 2018 06:57:51 GMT

Server: Apache/2.4.33 (Unix) PHP/5.6.32

X-Powered-By: PHP/5.6.32

Cache-Control: max-age=0

Expires: Sun, 03 Jun 2018 06:57:51 GMT

Content-Type: text/html; charset=UTF-8

此处用curl -A 指定user_agent,第一个请求的user_agent为curl默认的curl/7.29.0,所以状态码是403,第二个请求的user_agent为自定义的“123123”,没有任何匹配条件,此时状态码应为200。

3,php配置。

虽然php是以httpd一个模板的形式存在的,但是php本身也有自己的配置文件。使用下面的命令查看php的配置文件:

# /usr/local/php/bin/php -i |grep -i "loaded configuration file"

PHP Warning: Unknown: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in Unknown on line

Loaded Configuration File => /usr/local/php/etc/php.ini

(1) php.ini就是PHP的配置文件,第一行的警告是告诉我们系统的时区设置有问题,编辑配置文件找到date.timezone设置为Asia/shanghai则不会再提示错误。

# /usr/local/php/bin/php -i |grep -i "loaded configuration file"

Loaded Configuration File => /usr/local/php/etc/php.ini

(2)php的disable_functions。php有很多内置的函数,有一些函数比如exec会直接调取linux系统命令,如果开放会非常危险。因此处于安全考虑应该把一些存在安全危险的函数禁止掉:vim /usr/local/php/etc/php.ini 搜索disable_functions然后添加如下内容:

disable_functions=eval,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

禁用如上函数后需要重启httpd服务后才能生效。

(3)配置而error_log。php的日志很重要,它是排查问题的重要手段。编辑php的错误日志,改动如下几项:

log_errors = On error_log =/var/log/php/php_errors.log error_reporting = E_ALL &~E_NOTICE display_errors = Off

log_errors 可以设置为on 或者off,on表示php会记录错误日志。error_log设定错误日志路径,error_reporting 设定错误日志级别,E_ALL为所有类型的日志,不管是提醒还是警告的都会记录。&表示并且~表示排除,所以E_ALL &~E_NOTICE表示的是除了notice之外的所有日志。display_errors如果设置为on则会把错误日志直接显示在浏览器里,这样对于用户访问来说体验不好,而且还会暴露网站的一些文件路径等重要信息,所以要设置为off。设置完php.inf还需要做如下操作:

# mkdir /var/log/php

# chmod 777 /var/log/php/ //需要保证php错误日志所在的目录存在,并且权限为可写

# /usr/local/apache2/bin/apachectl graceful

# cat /var/log/php/php_errors.log

[03-Jun-2018 14:44:02 Asia/shanghai] PHP Parse error: syntax error, unexpected 'php' (T_STRING), expecting ',' or ';' in /data/wwwroot/www.123.com/123.php on line 2

去掉123.php结尾的;号查看错误日记就可以判断出错误了。

(4)配置open_basedir。open_basedir的作用是将网站限定在指定目录里,就算该站点被黑了,黑客也只能在该目录下面有所作为,而不能左右其它目录。如果服务器上只有一个站点,那可以直接再php.ini中设置open_basedir参数,如果服务器上有多个站点那在php.ini中设置就不合适了。

打开配置文件vim /usr/local/php/etc/php.ini设置open_basedir:open_basedir =/tmp:/data/wwwroot/www.123.com

open_basedir可以是多个目录,可以用:冒号隔开。现在已经限制了php只能在/tmp:和/data/wwwroot/www.123.com两个目录下活动。

单个虚拟主机设置open_basedir:

vim /usr/local/apache2/conf/extra/httpd-vhosts.conf

php_admin_value open_basedir "/data/wwwroot/www.123.com/:/tmp/"

起作用的是php_admin_value ,它可以定义php.ini里面的参数,除此之外还可以定义error_log之类的。

页上的文字不能复制怎么办

通常只能查看但不能复制网页内容,大部分都是通过网页的客户端脚本控制实现的。只要按照以下几个步骤操作,就能成功。

1、打开IE浏览器,输入你要想复制内容的页面。

2、依次点击浏览器菜单栏上的“工具”、“Internet选项”

3、在打开的标签窗口中点击“安全”标签,然后在选中“受限制的站点”之后,点击“站点”按钮

4、在打开的“受限站点”对话框中,将网址“”输入到“将该网站添加到区域中”的输入框中,然后点击“添加”按钮,查看确认下面的“网站”列表框中已经有该站点的网址,就可以点击“确定”关闭该对话框回到“Internet属性”标签窗口,继续点击“确定”按钮以关闭窗口

5、回到刚才打开那个页面的浏览器窗口,点击工具栏上的刷新按钮重新加载页面,完成后我们就可以把内容复制下来作进一步的处理了。、

=========================================================

网页不能复制:把整个网页保存成文本文件

1、打开要保存的网页,点菜单中的“文件”->“另存为”->然后在保存类型中选择“文本文件(*.txt)”,然后保存就好了。

2、然后打开文本文件找到那段内容,复制出来,如果不能保存则此方法没用。

还可以这样:点开菜单中的“查看”->“查看源文件”。可以打开一个文本文件,在里面可以找到需要的内容,就可以复制了。有些禁止查看源文件的就没效了。又可以这样:点击右键,选择“查看源文件”,打开一个文本文件,找到需要的内容再复制出来,此方法对禁止右键的网页没效!

=========================================================

右键被屏蔽了怎么办?

A 破解方法:在页面目标上按下鼠标右键,弹出限制窗口,这时不要松开右键,将鼠标指针移到窗口的“确定”按钮上,同时按下左键。现在松开鼠标左键,限制窗口被关闭了,再将鼠标移到目标上松开鼠标右键。

B 出现“添加到收藏夹”的情况。破解方法:在目标上点鼠标右键,出现添加到收藏夹的窗口,这时不要松开右键,也不要移动鼠标,而是使用键盘的Tab键,移动光标到取消按钮上,按下空格键,这时窗口就消失了,松开右键看看,wonderful!右键恢复雄风了!将鼠标移动到你想要的功能上,点击左键吧。

C 超链接无法用鼠标右键弹出“在新窗口中打开”菜单的情况。破解方法:这时用上面的两种方法无法破解,看看这一招:在超链接上点鼠标右键,弹出窗口,这时不要松开右键,按键盘上的空格键,窗口消失了,这时松开右键,可爱的右键菜单又出现了,选择其中的“在新窗口中打开”就可以了。

D 在浏览器中点击“查看”菜单上的“源文件”命令,这样就可以看到html源代码了。不过如果网页使用了框架,你就只能看到框架页面的代码,此方法就不灵了,怎么办?你按键盘上的“Shift F10”组合键试试。

E 看见键盘右Ctrl键左边的那个键了吗?按一下试试,右键菜单直接出现了! F 在屏蔽鼠标右键的页面中点右键,出现限制窗口,此时不要松开右键,用左手按键盘上的“ALT F4”组合键,这时窗口就被关闭了,松开鼠标右键,菜单出现了

么是HTML / HTM文件?他们相差一个字母有什么区别吗,如何查看或编辑源代码以及如何转换成其他格式,例如DOCX,PDF,JPG 等,针对这些问题编程狮W3Cschool整理以下资料希望能对你有所帮助:

什么是HTM或HTML文件?

HTM / HTML 文件是超文本标记语言(Hyper Text Markup Language)文件,是 Internet 上的标准网页文件类型。

由于 HTM 文件是纯文本文件,因此它们仅包含文本(例如您现在正在阅读的内容)以及对其他外部文件的文本引用(例如本文中的配图)。

HTM 和 HTML 文件还可以引用其他文件,例如视频,CSS 或 JS 文件。

HTM与HTML的区别

HTM 与 HTML 没有本质意义的区别,只是为了满足 DOS 仅能识别 8+3 的文件名而已,因为一些老的系统 (win32) 不能识别四位文件名,所以某些网页服务器要求 index.html 最后一个 l 不能省略。MSIE 能自动识别和打开这些文件,但编写网页地址的时候必须是完全对应的,也就是说 index.htmindex.html 是两个不同的文件,对应着不同的地址。值得一提的是 UNIX 系统中对大小写敏感,不吻合的话就可能报没有文件或者找不到文件。

如何打开HTM或HTML文件?

任何 Web 浏览器,例如 Edge,Firefox,Chrome,Opera,IE,360 安全浏览器等,都可以打开并正确显示 HTM 和 HTML 文件。换句话说,在浏览器中打开这些文件并“解码(decode)” HTM 或 HTML 文件使其能正确显示。

现在有很多简化编辑和创建 HTM / HTML 文件的工具。一些著名的免费 HTML 编辑器包括 Eclipse ,Komodo Edit 和 Bluefish 。另一个流行的具有许多高级功能的 HTM / HTML 编辑器是 Adobe Dreamweaver ,不过它是收费的。

虽然 Windows 系统自带的记事本等简单的文本编辑器的功能不如专用的 HTM 编辑器那么丰富,但是对 HTM 或 HTML 文件进行简单编辑修改还是可以的。不过,W3Cschool还是建议大家使用专用的编辑器,如 WebStorm、VS Code 等,它具更多专业功能。

这是一个非常简单的 HTML 页面以文本形式显示的示例:

源码:

<!doctype html>
<html>

    
<head>
<meta charset="utf-8">
<title>什么是HTM或HTML文件? - 编程狮(w3cschool.cn)</title>
</head>


<body>
    <h1>什么是HTM或HTML文件?</h1>
    <p>HTM / HTML 文件是超文本标记语言(Hyper Text Markup Language)文件,是 Internet 上的标准网页文件类型。</p>
    <p>由于 HTM 文件是纯文本文件,因此它们仅包含文本(例如您现在正在阅读的内容)以及对其他外部文件的文本*引用*(例如本文中的配图)。</p>
    <p>HTM 和 HTML 文件还可以引用其他文件,例如视频,CSS 或 JS 文件。</p>   
</body>

    
</html>

当 Web 浏览器呈现信息时,HTML 文件的源代码被“转换”为真实的网页(尽管源代码已很精简了)。

如何转换HTML和HTM文件?

HTM 文件以特定的语法(规则)构成,以使其中的代码和文本在浏览器中打开时能够正确显示。因此,将 HTM / HTML 文件转换为另一种格式可能会丢失页面上的所有功能。

如果你想要做的是将一个 HTM / HTML 文件转换为方便离线查看的文件,这时图片或 PDF 格式会方便很多。

在 Chrome 中,鼠标右键单击网页,出现的选项菜单中进入 “打印(P)...”(快捷键:CTRL + P) ,在打印选项中选择另存为 PDF,以将窗口中的页面转换为 PDF 文件。Chrome 浏览器的扩展功能也称为“全屏截屏”,可将 Chrome 浏览器中所有打开的 HTM / HTML 文件转换为 PNG 文件。

其他浏览器具有类似的功能,例如 Firefox 的 “另存为 PDF” 加载项。

您也可以使用专门用于 HTM / HTML 进行图像文件转换的网站,例如iWeb2Shot 或Web-capture 。

一个免费的文件转换器可以用来转换并保存 HTM / HTML 文件到您的计算机。如 FileZigZag 是一个免费的文档转换器网站,可将 HTM 转换为RTF,EPS,CSV,PDF 和许多其他格式。

HTM / HTML 文件不能转换为文本文件格式以外的任何格式。例如,HTML 文件永远不能转换为 MP3 音频文件。

文件打不开?

HTML / HTM 文件应该很容易打开,因为它们只是任何 Web 浏览器都可以查看的文本文件。如果您的文件没有从上面建议的任何程序打开,则很有可能正在打开的这个文件并非超文本标记语言文件。

某些文件格式使用的文件扩展名与 HTML / HTM 非常相似,但实际上并非相同。一个主要的示例是用于压缩 HTML 电子书文件的 HTMLZ 文件扩展名。有 HTML 文件在内的 HTMLZ 文件,但整个包的格式为 ZIP,不会在 Web 浏览器或文本编辑器打开。

在此示例中,您需要特定的 HTMLZ 文件查看器,例如Caliber 。或者,由于此文件格式实际上是存档,因此您可以使用 7-Zip 之类的文件解压缩器将其打开,然后您可以使用网络浏览器或上述任何其他 HTML 查看器/编辑器打开任何单独的 HTML 文件。

TMLANGUAGE 是另一个可能与 HTML / HTM 文件混淆的文件扩展名。这些实际上是TextMate 用于 macOS 的 TextMate 语言语法文件。

以上就是编程狮W3Cschool为你整理的关于《什么是HTM或HTML文件?如何打开、编辑和转换HTM和HTML文件?》的全部内容,现希望可以帮到你~