mac下mcrypt扩展解决

如果使用php自带的加密算法,其中需要这个mcrypt扩展,各种编译通不过。。后来干脆下在一个

点击下载mcrypt.so

然后修改

sudo vi /etc/php.ini

添加:(记住把你下载那个so放在这个目录里面!)

extension_dir=”/usr/lib/php/extensions/no-debug-non-zts-20090626/”
extension=mcrypt.so

然后重启apache即可

Mac OS X安装php工作环境

1.安装Apche

Sudo apachectl start

2.开启php支持

sudo vi /etc/apache2/httpd.conf

找到LoadModule php5_module libexec/apache2/libphp5.so 去掉前面的#

3.编辑PHP.ini

sudo cp /etc/php.ini.default /etc/php.ini

4.重启Aache测试环境

sudo apachectl restart

编写文件 sudo vi /Library/WebServer/Document/i.php内容是

<?php

echo phpinfo();

?>

5.配置网站根目录到/var/www(注意这里的www是我自己建立的,因为我习惯使用这个目录)

sudo vim /etc/apache2/httpd.conf

文档最后添加:

NameVirtualHost *:80

<VirtualHost *:80>

DocumentRoot /var/www

ServerName localhost

<Directory />

Options FollowSymLinks

AllowOverride All

</Directory>

<Directory /var/www>

Options Indexes FollowSymLinks

AllowOverride All

Order allow,deny

allow from all

</Directory>

</VirtualHost>

6.安装mysql

http://www.mysql.com/downloads/mysql/

下载dmg的可以直接安装

安装教程http://www.cnblogs.com/macro-cheng/archive/2011/10/25/mysql-001.html

安装之后mysqlroot密码貌似是空的

需要使用/usr/local/mysql/bin/mysqladmin -u root password “mypass”;

7.安装zendstudi教程http://www.evget.com/zh-CN/Info/catalog/18264.html

备注:使用PHP连接MySQL可能会报错“Can’t connect to local MySQL server through socket ‘/var/mysql/mysql.sock’”,或者使用localhost无法连接MySQL而需要127.0.0.1,原因是连接时候php默认去找/var/mysql/mysql.sock了,但是MAC版本的MYSQL改动了文件的位置,放在/tmp下了。处理办法是按如下修改php.ini:

mysql.default_socket = /tmp/mysql.sock

mysql管理工具使用MySQL Workbench的安装

或者使用phpmyadmin或者使用navaicat

如果phpmyadmin提示2002错误,修改confin.inc.php

将$cfg[‘Servers’][$i][‘host’] = ‘localhost’;
改为$cfg[‘Servers’][$i][‘host’] = ‘127.0.0.1’;

ubuntu完善环境满足zendframework开发

1.安装环境
http://www.0377joyous.com/archives/87.html
2.完善环境
开启rewrite
a2enmod rewrite
开启pdo以及pdo_mysql扩展
3.为了方便开发安装zf命令
apt-get install zend-framework-bin
4.测试环境
在var/www目录下使用
zf create project study
然后把你下载的zf框架的library目录拷贝到study目录中。这样就可以运行了~~
(当然你可以配置include_path来吧zf加入到你的系统中,这里不在赘述)

以后将在ubuntu用zednframework开发php程序了~Joyous开始吧!加油!谢谢大家的关注,我会一如既往的编程学习

服务器出现500错误,排查总结

今天刚刚建立的web服务器,访问的时候出现500错误。

错误代码详解:http://www.0377joyous.com/archives/572.html

首先要看得系统日志message

我用的centos6.2搭建的,用命令gedit /var/log/message

日志没有我想要的信息,我就考虑去看apache日志。apache日志查看

# gedit /var/log/httpd/error_log

这个我看到一个关键的

[Sat Aug 18 16:07:30 2012] [error] [client 192.168.81.120] PHP Parse error:  syntax error, unexpected T_VARIABLE in /var/www/html/index.php on line 3

这样就发现程序出错了,有人问了,为何网页不自动提示呢?

这都需配置php.ini配置了。请参考:php.ini配置详解http://www.0377joyous.com/archives/873.html

总结:如果出现错误,不要慌张要淡定的处理问题,发现问题所在才是王道,比如查看网络/防火墙/selinux/日志/配置文件

手把手教你,隐藏apache以及php版本信息

玩过linxu的筒子都知道这个命令

curl –head www.0377joyous.com

[root@Joyous ~]# curl –head www.0377joyous.com
HTTP/1.1 200 OK
Date: Thu, 09 Aug 2012 11:27:47 GMT
Server: Apache/2
X-Powered-By: PHP/5.2.17
X-Pingback: http://www.0377joyous.com/xmlrpc.php
Vary: Accept-Encoding,User-Agent
Content-Type: text/html; charset=UTF-8

这样可以看到服务器用apache以及php是5.2.17

当然你觉得没有必要隐藏这些信息,那就别向下看了~~

Continue reading

xss攻击

xss攻击简介:

XSS攻击:跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆。故将跨站脚本攻击缩写为XSS。XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。比如这些代码包括HTML代码和客户端脚本。攻击者利用XSS漏洞旁路掉访问控制——例如同源策略(same origin policy)。这种类型的漏洞由于被骇客用来编写危害性更大的phishing攻击而变得广为人知。对于跨站脚本攻击,黑客界共识是:跨站脚本攻击是新型的“缓冲区溢出攻击“,而JavaScript是新型的“ShellCode”。

写一个简单的例子(当然这个不算是攻击,只能算是恶作剧罢了)

比如:做了一个表单

<form action=”” method=”post”>
内容:<input name=”te” type=”text”><br>
<input name=”sub” value=”提交” type=”submit”>
</form>

然后在下面获取到提交的内容

php代码我们一般这样写:

if(isset($_POST)){
$a=$_POST[‘te’];
echo $a;//或者存入数据库
}

这样如果在表单中提交这样的代码(<script>window.alert(‘弹出,弹出’);</script>)

是不能提交的!!可是我们需要存入数据库啊!!不能提交怎么办?如果你数据库中直接存入这样数据~~~你输出出来看看~~

第一:先解决存入数据库的问题

将提交的数据经过$a=htmlspecialchars($_POST[“te”]);处理,这样的数据就可以存入数据库中!!

第二:我就想把数据库中存入<script>window.alert(‘弹出,弹出’);</script>这样的数据库,你看怎么办!!!

解决办法:前面我总结过html处理函数中htmlspecialchars对应的一个函数htmlspecialchars_decode

附:存入数据库的函数需要经过htmlspecialchars处理!

Apache配置403和404留住用户

1、如果你的服务器支持htaccess文件

在htaccess配置添加:

ErrorDocument 403 /error/403.html#当然,你必须要确定error以及403和404页面存在

ErrorDocument 404 /404.html#当然你也可以写http://www.03377joyous.com/404.html

注意:千万不要直接把404或者403跳转成首页(这样会有可能会让蜘蛛丢掉你的首页抓取

htaccess功能不仅如此,还可以加上文件夹禁止访问以及密码保护等。慢慢摸索去吧~

2、在虚拟主机中配置

<Directory /web/docs>
ErrorDocument 404 /404.htm
</Directory> #说明这个是配置web/docs目录下404返回,你问是不是不同的文件夹可以定制不同的404?明确的回答你,是可以的

有人又问了,那为何要配置403和404页面呢?

seo中404的作用

nginx编译参数详解

Nginx 使用 liunx/Unix 下常用的 ‘./configure && make && make install’ 过程来编译安装。

configure 脚本确定系统所具有一些特性,特别是 nginx 用来处理连接的方法。然后,它创建 Makefile 文件。

configure 支持下面的选项:

–prefix=<path> – Nginx安装路径。如果没有指定,默认为 /usr/local/nginx。
Continue reading