Archive for the ‘php’ Category

PHP为你的Web表单增加Captcha验证码保护

Tuesday, July 14th, 2009

如何防止别人通过群发程序在你的网站上提交垃圾消息?这里将告诉你怎样用一个php表单做到这一点。 你需要使用Captcha,它是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机和人的公共全自动程序。 网上有很多PHP库文件你可以使用。我推荐reCAPTCHA PHP库文件,让你很容易就让你的PHP表单使用上CAPTCHA。通过调用reCAPTCHA API,你的表单可以让群发程序停止发垃圾信息了。 第一步: 获取reCAPTCHA API 在reCAPTCHA网站注册一个API key(免费)。并记录下你的private key和 public key。 第二步: 下载并安装reCAPTCHA PHP 从Google code上下载reCAPTCHA 库文件: $ cd /tmp $ wget http://recaptcha.googlecode.com/files/recaptcha-php-1.10.zip 解压recaptcha-php-1.10.zip, 回车: $ unzip recaptcha-php-1.10.zip 最后, 将recaptchalib.php复制到你表单所在目录下面。 例如, 如果你的contact.php在/var/www/html目录下面, 像下面这样去复制recaptchalib.php: $ cp /tmp/recaptcha-php-1.10/recaptchalib.php /var/www/html 第三步: 测试 创建一个php文件如下: 简单的Email表单 function checkForm() { if (document.forms.myphpform.elements['yname'].value.length == 0) { alert('请输入姓名'); ...

Amazon S3 出错信息:requires a valid Date or x-amz-date-header

Friday, February 22nd, 2008

春节回来,发现Magpic上有很多图片出现红叉叉。 打开firefox,使用S3 Fox浏览照片文件,生成的杂志封面照片并没有上传。 由于我使用的amazon-s3-php-class,打开调试参数,然后上传一张照片测试,得到如下错误信息: AWS authentication requires a valid Date or x-amz-date header 意思应该是生成的文件没有有效的日期或x-amz-date文件头。后来在查到原来是amazon-s3-php-class中的定义的常量DATE_RFC822和PHP5里面的常量相冲突,gmdate函数没有获得正确的时间,从而导致生成的文件头中没有带有标准的时间。 解决方法: 将amazon-s3-php-class所有常量DATE_RFC822替换为S3_DATE_RFC822。