使用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+代码无效。

HTML5 Location

做了个记录位置的小玩意儿,带登录一共六个文件:

  • login.php 登录页
  • checklogin.php 登录验证页
  • loc.php 获取地理位置页
  • loc.js ajax提交数据给loc-in.php
  • loc-in.php 将数据写入数据库
  • loc-out10.php 将数据从数据库调出

登录之做了简单的实现,帐号密码就保存在checklogin.php中,靠session判断是否登录。所获取的地理位置无论是PC上浏览器基于HTML5的还是手机上基于GPS的,都是真实地理位置,而非火星地理位置。所以在正版地图中均存在西北方向的偏移,用卫星图看就正常了。关于调出数据库后的数据处理可以参考《html5地理位置示例》,我这里也没写。

源码:loc.7z

后来在使用中发现很有两个很必要功能没有实现:离线保存数据并在有网络时写入数据库、修改数据库内容。不知道有没有空完善一下。

简单信息页网站的建立

公司业务不解释,总之就是想在做两个网页展示和收集一些信息。

  1. 申请域名和空间(如果要免费的请参见在线工具页推荐的,还算稳定),然后等他们绑定好DNS生效。期间可以新建一个数据库,等下要用。
  2. 然后把wordpress的压缩包传到空间,解压,可以用后台的文件管理器进行文件的移动操作比较方便。然后从浏览器安装网站。
  3. 最近玩Attorney主题比较多,所以又装了这个主题进行修改。由于要用到表单,所以还装了个WordPress Form Manager插件。接下来就是添加页面和修改主题了。
  4. Continue reading

给wordpress添加webm视频

提取Chrome缓存中的flv视频

在浏览器中打开需要的视频,待其缓冲完毕,暂停即可。打开终端,运行:

lsof | grep Flash

会得到类似如下信息:

chromium- 3933     zenggl   34u      REG        8,1  5456208   266190 /tmp/FlashXXxS9YsU (deleted)

最后运行下面命令即可得到flv文件:

cat /proc/3933/fd/34 > output.flv

其中“3933”和“34”是根据第一条命令得来的。详细信息可参考:Linux下提取保存浏览器中的视频


Ubuntu下使用Arista进行视频转码

下载解压后按照readme进行安装,然后拖入源文件,选择转码类型,即可完成转码。我试了flv转webm,体积有所增大。


使用MediaElement.js为WordPress添加视频

安装并启用插件。只需在文中插入如下代码即可实现(vide请替换为video):

[vide mp4="http://mysite.com/mymedia.mp4" ogg="http://mysite.com/mymedia.ogg" webm="http://mysite.com/mymedia.webm" poster="http://mysite.com/mymedia.png" preload="true" autoplay="false" width="640" height="264"]

参数根据自已需求进行删减。或参考MediaElement.js官方文档