Category: 网站信息与统计

推荐的 WORDPRESS 文件夹权限设置

如果你用WORDPRESS并把主机建在LINUX系统下 那么文件夹的权限管理就得非常严谨. 一定不要把所有文件/文件夹的属性设置成777(也就是任何人可读写可执行). 这样能防止被恶意或者不小心的对文件的修改. /wp-includes = 755 /wp-admin = 755 /wp-admin/js = 755 wp-content/thems = 755 wp-content/plugins = 755 wp-content = 755 wp-content/uploads = 755 wp-config.php = 444 .htaccess …

BASH 脚本 防止 iptablex 攻击

影响: 大量往外发包, 导致网络瘫痪, 在电脑删除后, 还会被定时感染. 临时快速解决方法: 先抓包分析那台服务器发包严重, 然后查看进程, 如果是IptabLex和IptabLes可以用此脚本, 2秒执行一次. #!/bin/bash while do ps -ef |grep -i ipt pkill -9 /boot/.IptabLex pkill -9 /boot/.IptabLes pkill -9 IptabLe pkill -9 …

通过 Crontab 后台/异步定时发邮件

很多人设计 WEB 应用的时候会需要这么一个给用户 发邮件的功能. 这时候就可以通过 类似 PHPMailer 这种开源的类来即时的发邮件. 这有个不好的地方就是 因为是同步发送方式, 页面在邮件发出去之前 会卡住 而且会造成服务器的负担 可扩展性并不强 (如果一天数以万计的邮件需要发 那么高峰期服务器定不能胜任). 最好的设计方法是后台异步的发邮件, 那么我们首先需要一个SQL表格来存放待发送的邮件: -- phpMyAdmin SQL Dump -- version 4.2.6 -- http://www.phpmyadmin.net -- -- …

WordPress 博客子主题需要知道的事情

每次主题更新 之前对主题模板所做的修改就被复盖了, 所有的改动(比如加广告)都得再重新做一遍, 很不方便. 但总不能一直提示有个主题可以更新 你要知道的 我是有强迫症的. 当然 如果你可以多使用 插件, 多使用 右边工具栏 widget 因为这些是不会随着主题更新而消失的. 其它的修改最好放在子主题里. 1. 子主题的命名最好是父主题后面加 -child 便于区分, 比如 twenty-twelve-child. 2. 子主题文件夹需要放在和父主题 同级的目录下(不是子目录) 3. WordPress 需要使用的是子主题 同时需要保留父主题 因为子主题并不包含全部主题需要的文件 …

通过 .htaccess 设置静态资源缓存 来加速网站

静态资源是可以通过 缓存设置来加速读取的. 设置方法很简单 但首先你得在 apache2 服务器里把 相关的 模块 开启了 i.e. header. a2enmod headers 这个模块是用于设置静态资源缓存的 如果没开启 你将会获得 500 服务器内部错误. Module headers already enabled 然后 在每个网站的 根目录 .htaccess 文件里 加入 以下内容 …

增强版 屏蔽 WordPress 垃圾评论

博客一天能收到好几十个垃圾评论 目测应该都是些机器人灌水 虽然有一些检测的插件 (例如 Akismet) 但是 这些评论还是会存在数据库中 等待过期自动被删除或者你手动删除, 我有点强迫症 一看这么多非得手动去一个一个点 非常的累 LEONA 提供了一个非常好的解决方案 可惜不支持 pingback, trackback (就是文章引用记录, 我觉得是可以保留的) PING-BACK 的时候 XML-RPC需要打开. 原理很简单 wordpress 提供 preprocess_comment 的过滤 然后你需要对传进来的 评论数据进行判断(如果用户真实评论的话会至少按一键这样就触发onkeyup事件) 如果认为是垃圾评论就 …

快速清理多个网站的数据库

如果你有多个博客 或者网站 定期清理数据库就瘦瘦身就变得非常有必要. 像我的VPS到现在一共运行了6个网站 其中有4个是 wordpress 博客 那么经常维护网站的任务之一就是清理一些垃圾数据. 先写一个PHP函数 用于执行清理SQL的. set_time_limit(600); mysql_connect("localhost", "user", "password") or die(mysql_error()); function run_query($query) { echo $query; mysql_query($query) or die(mysql_error()); echo " ***OK!*** \n"; } …