Tag: 安全

PHP shell_exec 的安全风波

在PHP里有个很牛逼轰轰的函数 那就是 shell_exec.这个函数需要一个字符串,也就是命令.然后就可以在PHP脚本中执行 外部命令了.所以说 非常 强大但同时你需要非常注意因为稍有不谨慎就能导致安全隐患. 我之前就 基于这个函数 搞了两个简单的页面运行 LINUX 小工具: FIGLET 和 CURL 原理如下: $value = $_GET; $cmd = 'figlet $value'; shell_exec($cmd); 三行代码很简单; 变量从URL地址栏里用户 通过 GET方式设置.然后就执行,如果用户给这样的输入: hello | …

服务器目录的 [沉默是金]

服务器目录一般都会有 index.php, index.html 之类的默认文件名, 也就是说当访问的时候打的URL是目录名,会自动匹配默认的文件来显示.但是如果目录下并没有找到这样的文件,则会按照配置,一个是把当前目录下的文件列出来,二是显示 403 没有权限错误.后者会好一些,当然并不是所有服务器都会出于安全考虑把这个设置成不显示目录内容. 所以,你经常可以看到一些 index.php (特别是Wordpress 的一些插件目录), 里面是: <?php //You don't belong here. ?> 或者是: <?php // Silence is golden. ?> 当然还有很多版本,但无非都是防止目录被显示内容,这样访问者就不会知道目录下有哪些文件,也减少了风险,试想一下, 如果你目录下有一个叫 之类的文件,访问者如果知道有这文件,肯定会很好奇的. 其实,我觉得最完美的解决方案应该是: …

为什么 HTTPS 在中国不普及?

SSL 英文全称是 Secure Socket Layer. 用上SSL的网站地址开始就是 HTTPS 而不是 HTTP. 有什么区别呢, 简单来说, HTTPS更安全,任何你的浏览器和网站服务器之间的通讯(比如传递用户名,密码等敏感信息)都很难(或者不太可能)被第三方拦截. 国外有名的大公司都用上了HTTPS,比如了 google, twitter, facebook 而国内相应的 baidu, 微博 和 renren.com 却是没有. 具体在浏览器打开,你可以看到区别. 国内用HTTPS的是很少, 一般只有银行需要安全的才会用上SSL. 但你看校内网, 还有 新浪微博, 都会有用户登陆的页面, …