分類
Linux 网站

Apache限制IP访问

只需在配置文件中添加如下代码即可:

<Location />
Order Allow,Deny
Allow from localhost
Deny from 192.168.1.*
</Location>

我的配置文件位于/etc/apache2/sites-enabled/000-default。将上面Location节点放在VirtualHost节点内即可。其实现的效果是除本机外其他局域网主机都无法访问站点。

重启Apache时提示Could not reliably determine the server's fully qualifieddomain name可以通过在/etc/apache2/httpd.conf中添加一行ServerName localhost来解决。

最后在记一下修改Ubuntu hosts文件方法:

  1. 打开hosts文件:sudo gedit /etc/hosts
  2. 添加一行:127.0.0.1 localhost
  3. 重启网络:sudo /etc/init.d/networking restart

比较遗憾的是host文件并不支持通配符。

分類
网站

用phpmailer发邮件

function mySendMail($recipient,$recipientName,$subject,$body){
require 'PHPMailerAutoload.php';

date_default_timezone_set("Asia/Shanghai");//设定时区东八区

$mail = new PHPMailer;
$mail->CharSet ="UTF-8";//设定邮件编码,默认ISO-8859-1,如果发中文此项必须设置,否则乱码

$mail->isSMTP();                 // Set mailer to use SMTP
$mail->Host = 'smtp.gmail.com';  // Specify main and backup server
$mail->Port = 465;                   // SMTP服务器的端口号
$mail->SMTPAuth = true;                               // Enable SMTP authentication
$mail->Username = '[email protected]';                 // SMTP username
$mail->Password = '********';                          // SMTP password,谷歌邮箱若开启了两步验证要单独分配密码
$mail->SMTPSecure = 'ssl';                            // Enable encryption, 'ssl' also accepted

$mail->From = '[email protected]';
$mail->FromName = 'no-reply';
$mail->addAddress($recipient, $recipientName);  // Add a recipient, Name is optional

$mail->WordWrap = 50;                                 // Set word wrap to 50 characters   
$mail->isHTML(true);                                  // Set email format to HTML

$mail->Subject = $subject;
$mail->Body    = $body;

if(!$mail->send()) {
   echo '邮件发送失败';
   echo 'Mailer Error: ' . $mail->ErrorInfo;
   exit;
}

echo '邮件发送成功';
}
分類
程序 网站

使用header对页面授权

此法效果类似路由器的登录页面,会弹出一个登录页。适合一个admin的简单授权管理。结束会话(关闭浏览器)后授权即失效。

首先创建authorize.php,这样只需在需要授权的页面引用即可。内容如下:

<?php
  // User name and password for authentication
  $username = 'rock';
  $password = 'roll';

  if (!isset($_SERVER['PHP_AUTH_USER']) || !isset($_SERVER['PHP_AUTH_PW']) ||
    ($_SERVER['PHP_AUTH_USER'] != $username) || ($_SERVER['PHP_AUTH_PW'] != $password)) {
    // The user name/password are incorrect so send the authentication headers
    header('HTTP/1.1 401 Unauthorized');
    header('WWW-Authenticate: Basic realm="特征码"');//需要相同认证的页面标记
    exit('<h2>Hi</h2>Display this message when user select CANCEL.');
  }
?>

在需要授权的页面开始处添加:

<?php
  require_once('authorize.php');
?>

需要注意的是上面这段引用,即授权代码必须放在最前面,其<?php前不能有任何字符,即使是空格也不行。

分類
程序 网站

用php处理表单的数据

下面代码在接收到数据后先将数据储存与数据库,再将数据以电子邮件方式通知自己。

<?php
$author=$_POST["name"];$email=$_POST["email"];$title=$_POST["subject"];$message=$_POST["message"];
$con=mysql_connect("数据库地址","数据库用户名","数据库密码");
if(!$con){
	die('Could not connect: '.mysql_error());
	}
mysql_query("set names utf8");
mysql_select_db("数据库名",$con);
mysql_query("INSERT INTO `数据表名` (`id`, `date`, `author`, `email`, `title`, `message`) VALUES (NULL, CURRENT_TIMESTAMP, '$author', '$email', '$title', '$message')");
mysql_close($con);
$myNotify = "Name:$authornEmail:$emailnTitle:$titlenMessage:$message";
$myNotify = wordwrap($myNotify,70);
mail("自己的邮箱@gmail.com","your tittle",$myNotify,'From:发送自@ft.wupo.info');//邮件标题如果有中文要进行编码,否则会乱码,故这里没有使用$title
echo ""; 
exit;
?>
分類
网站

wordpress301重定向

这个说来简单,但是还是要记一下的。尤其是wordpress开启了固定链接,本身已经有个.htaccess文件了。在加入转向代码时就要注意顺序,要把转向链接放在前面。我是从pggdt.mypressonline.com转到ft.wupo.info的,整个.htaccess文件内容如下:


RewriteEngine on
RewriteCond %{HTTP_HOST} ^pggdt.mypressonline.com [NC]
RewriteRule ^(.*)$ http://ft.wupo.info/$1 [L,R=301]

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]


# END WordPress
分類
网站

不推荐使用awardspace空间

由于freeidc换了域名,服务仍旧正常,我就又回来了,现在的域名是yuns.pw。awardspace.com用的太难受了。

  • 单个文件大小限制2M,我用的webp图片,也没什么问题。
  • 空间250M,月流量5G,也还可以。
  • 装完wordpress发现无法修改之前的文章,后来我直接在数据库修改的。
  • 再后来发现添加新文章有时也会莫名失败,无法发表,感觉就是内容稍长一点而而已。
  • Akismet无法使用,完全连不上Akismet的服务器。
  • 用我家的联通网络访问巨慢,公司铁通到还过得去。但是cpanel无论那个网络都慢的想死。
  • g+代码无效。

本文更新於 2014/09/04。

分類
网站

修改WordPress登录页

wordpress-logo

WordPress3.7.1版本中,登录页的图片为wp-admin/images/wordpress-logo.png,尺寸是274×63,我只是把它替换成了wordpress-logo.webp。先用GIMP制作图片,但是其webp插件尚不能处理透明度,所以先导出png再用XnConvert转成webp就好了。传完后替换wp-admin/css/wp-admin.min.css中的wordpress-logo.png为wordpress-logo.webp即可。

当然了,更新版本后应该就要重新做一遍。