分页: 50/196 第一页 上页 45 46 47 48 49 50 51 52 53 54 下页 最后页 [ 显示模式: 摘要 | 列表 ]
Apr 10
zen cart 1.38a 中文版集成了 Ultimate SEO URLs,由于该模块很久没有更新,虽然基本功能尚可,但是会出现很多意想不到的问题,并且所有链接都位于根目录,目录层次不够清晰,不能够满足我们的seo要求.ceon_uri_mapping_3.2.4_for_zc是个很好的选择,那么怎么才能卸载掉Ultimate SEO URLs呢?
Removing Ultimate SEO URLs
INSTRUCTIONS
In Zen Cart administration – Tools – Install SQL Patches paste and execute following SQL queries (optional):
DELETE FROM `configuration_group` WHERE `configuration_group_title` LIKE ‘%SEO%’; DELETE FROM `configuration` WHERE `configuration_key` LIKE ‘%SEO%’; DROP TABLE IF EXISTS seo_cache;
Restore following files from ZenCart installation package:
admin/categories.php  
admin/product.php  
includes/functions/html_output.php
Remove/delete following files:
admin/includes/reset_seo_cache.php  
admin/includes/extra_datafiles/seo.php  
admin/includes/functions/extra_functions/seo.php  
includes/auto_loaders/config.ultimate_seo.php  
includes/classes/seo.install.php  
includes/classes/seo.url.php  
includes/extra_datafiles/seo.php
Ultimate SEO URLs were removed.
简单说明一下,首先在后台工具-–安装sql脚本 中执行上述语句,然后比较替换掉以下三个文件:
admin/categories.php          
admin/product.php          
includes/functions/html_output.php  
然后再把以下7个文件删除:
admin/includes/reset_seo_cache.php      
admin/includes/extra_datafiles/seo.php    
admin/includes/functions/extra_functions/seo.php    
includes/auto_loaders/config.ultimate_seo.php    
includes/classes/seo.install.php    
includes/classes/seo.url.php  
includes/extra_datafiles/seo.php   这样Ultimate SEO URLs就被卸载了。
Tags:
Apr 10
一、使用YUM安装telnet:

yum install telnet telnet-server -y


安装之后修改/etc/xinetd.d/telnet文件,把disable那一行改为disable = no,[注:如果是CentOS7请忽略这一步]
vi /etc/xinetd.d/telnet

# default: on
# description: The telnet server serves telnet sessions; it uses \
#       unencrypted username/password pairs for authentication.
service telnet
{
        flags           = REUSE
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/sbin/in.telnetd
        log_on_failure  += USERID
        disable         = no
}


修改完之后,保存并退出

#CentOS上启动telnet服务并设置开机启动
service xinetd start
chkconfig telnet on
chkconfig xinetd on

#CentOS 7上:
systemctl start telnet.socket
systemctl enable telnet.socket

#CentOS默认防火墙没有开放23端口,所以我们要根据需要允许23端口
vi /etc/sysconfig/iptables
加入一条“-A INPUT -p tcp -m state --state NEW --dport 23 -j ACCEPT”

# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW --dport 23 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

保存并退出,然后重新启动iptables服务
service iptables restart

也可以输入以下命令:
iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 23 -j ACCEPT
立即生效,然后输入 service iptables save 保存当前防火墙规则。

#CentOS 7中防火墙配置:
firewall-cmd --permanent --add-port=23/tcp
firewall-cmd --reload
现在telnet服务已经可以使用了,下面我们来测试一下:
创建一个测试用户,并设置用户密码:
useradd telnettest
passwd telnettest

客户端配置,首先安装telnet客户端
yum install telnet
客户端安装完成之后,输入
telnet 199.99.99.189
输入上面创建的telnettest用户和密码登录

Trying 199.99.99.189...
Connected to 199.99.99.189.
Escape character is '^]'.

Kernel 3.10.0-123.13.2.el7.x86_64 on an x86_64
web2 login: telnettest
Password:
[telnettest@web2 ~]$


windows用户,安装了telnet客户端,同样也可以连接上服务器,当然很多其他telnet ssh软件也可以,如:SecureCRT、Putty等等
Tags: ,
Jan 6
目录
一 应用背景
二 应用环境
三 安装配置
四 FAQ

一 应用背景
随着互联网应用的普及以及人们对互联网的要求也越来越高,在流量增加的同时,要求速度快,在线时间长或出故障的时间短或故障后能及时恢复等等。为了解决这些问题,各种负载均衡及集群技术应运而生
其中,LVS便是一个解决大流量分流很好的解决方案
详细请参考 http://www.linuxvirtualserver.org/zh/lvs1.html
HA(High Availability),则是高可用的意思,也可以说是双机热备双机等的应用。如在一些在线时间有特别的要求或是在故障后要在很短的时间内恢复,就有必要应用到这个ha了
本文的应用,由两台机组成的一个LVS及HA,主要是解决分流及单点故障。
如A,B机,正常情况下,A机为LVS转分机,同时又是提供web的服务机,当A机有问题时,B机接管A机的服务,同时自己也是一个web服务机。由于本文的应用中,机器数量有限,所以,将ha,lvs,realserver都放在一起了。在机器允许的情况下,最好分开,如:
LVS转发为独立一台机,再在这转发机上配置HA避免转发机故障,再用一台机来做转发及HA的备机,当主转发机故障时就可接管服务

二 应用环境
机器两台
系统为CentOS 5.4 x86_64版
heartbeat + ldirectord + lvs

结构如下:
VIP:192.168.1.90
Wd1 192.168.1.91
Wd2 192.168.1.92

三 安装
1 可以用源码安装,也可以用yum安装,用源码安装,定制性强一点,但用yum安装,很方便,如:
yum install -y heartbeat
yum install -y heartbeat-ldirectord
即可完成

2 配置(本例的配置文件沿用1.X的风格,2.X以上的功能很强大,也较复杂)
主要的配置文件有以下几个:
Authkeys
ha.cf
ldirectord.cf
haresources

文件内容
# cat authkeys
auth 1
1 crc

# cat ha.cf
#test conf
debugfile /var/log/ha-debug
logfile /var/log/ha-log
logfacility local0
keepalive 8
deadtime 60
warntime 60
initdead 120
udpport 694
ucast eth0 192.168.1.92
auto_failback on
node wd1
node wd2
respawn hacluster /usr/lib/heartbeat/ipfail
apiauth ipfail gid=haclient uid=hacluster

# cat ldirectord.cf
#test conf
checktimeout=10
checkinterval=8
fallback=127.0.0.1:80
autoreload=yes
logfile="/var/log/ldirectord.log"
logfile="local0"
quiescent=no

virtual=192.168.1.90:80
real=192.168.1.91:80 gate
real=192.168.1.92:80 gate
fallback=127.0.0.1:80 gate
service=http
request="lt.html"
receive="Test Page"
scheduler=wrr
persistent=30
protocol=tcp
checktype=negotiate
checkport=80

# cat haresources
Wd1 lvs IPaddr::192.168.1.90/24/eth0:0 ldirectord

wd2上的lvs脚本文件
# cat /etc/rc.d/init.d/lvs
#!/bin/bash
/sbin/ipvsadm --set 10 10 10

Wd2上的lvs脚本文件
# cat /etc/rc.d/init.d/lvs
#!/bin/bash
# test
VIP=192.168.1.90
/etc/rc.d/init.d/functions
/sbin/ipvsadm --set 10 10 10
case "$1" in
start)
/sbin/ifconfig lo:0 down
/sbin/ifconfig eth0:0 $VIP broadcast $VIP netmask 255.255.255.255 up
/sbin/route add -host $VIP dev eth0:0
;;
stop)
/sbin/ifconfig eth0:0 down
/sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
/sbin/route add -host $VIP dev lo:0
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac

#cat /etc/hosts
192.168.1.91 wd1
192.168.1.92 wd2
cat /etc/sysctl.conf
net.ipv4.ip_forward = 1
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2

在iptables 增加一个对方IP的访问,否则在切换时会有问题
Jan 6
memcached的API使用三十二位元的循环冗余校验(CRC-32)计算键值后,将资料分散在不同的机器上。当表格满了以后,接下来新增的资料会以LRU机制替换掉。由于memcached通常只是当作快取系统使用,所以使用memcached的应用程式在写回较慢的系统时(像是后端的数据库)需要额外的程式码更新memcached内的资料。memcached具有多种语言的客户端开发包,包括:Perl/PHP/JAVA/C/Python/Ruby/C#/MySQL/客户端包的下载地址是:http://www.danga.com/memcached/apis.bml

下载和安装
memcache服务端安装
wget http://www.monkey.org/~provos/libevent-1.4.14b-stable.tar.gz
wget http://memcached.googlecode.com/files/memcached-1.4.5.tar.gz

tar zxvf libevent-1.4.14b-stable.tar.gz
cd libevent-1.4.14b-stable
./configure --prefix=/usr
make & make install

tar zxvf memcached-1.4.5.tar.gz
cd memcached-1.4.5
./configure --prefix=/usr/local/memcache/ --with-libevent=/usr
make & make install
安装完成,启动
/usr/local/memcache/bin/memcached -d -m 512 -u apache -p 11211 -c 25600
-d 以守护进程方式启动
-m 512 是指分配512M内存
-u apache 是用apache用户启动
-p 11211 使用11211端口
-c 25600 最大的迸发连接数

PHP扩展(也就是客户端),也就是让PHP支持memcache
下载安装
wget http://pecl.php.net/get/memcache-2.2.6.tgz
tar zxvf memcache-2.2.6.tgz
cd memcache-2.2.6
phpize
./configure --with-php-config=/usr/bin/php-config --with-zlib-dir=/usr/ --enable-memcache
make & make install
完成之后在/etc/php.d里面创建一个memcache.ini里面加入extension=memcache.so
重启apache
service httpd restart

memcache状态web界面接口,复制memcache.php到网站的根目录,如
cp memcache.php /www/
修改用户密码,如下
vi memcache.php
define('ADMIN_USERNAME','test');     // Admin Username
define('ADMIN_PASSWORD','password');    // Admin Password

然后用IE浏览器打开 http://192.168.1.168/memcache.php,即可查看相关状态信息

打开phpinfo检查,如
http://192.168.1.168/phpinfo.php
能看如下图的信息,表示安装成功,也就是你的PHP已经支持memcache了

在你的PHP程序里,就可以使用memcache这个缓存数据库了

PHP测试实例


< ?php
//连接
$mem = new Memcache;
$mem->connect("127.0.0.1", 11211);
//保存数据
$mem->set('key1', 'This is first value', 0, 60);
$val = $mem->get('key1');
echo "Get key1 value: " . $val ."<br />";

//替换数据
$mem->replace('key1', 'This is replace value', 0, 60);
$val = $mem->get('key1');
echo "Get key1 value: " . $val . "<br />";

//保存数组
$arr = array('aaa', 'bbb', 'ccc', 'ddd');
$mem->set('key2', $arr, 0, 60);
$val2 = $mem->get('key2');
echo "Get key2 value: ";
print_r($val2);
echo "<br />";

//删除数据
$mem->delete('key1');
$val = $mem->get('key1');
echo "Get key1 value: " . $val . "<br />";

//清除所有数据
$mem->flush();
$val2 = $mem->get('key2');
echo "Get key2 value: ";
print_r($val2);
echo "<br />";

//关闭连接
$mem->close();
?>
Jan 5
准备工作:
所需软件:Libnet   官方网站:http://libnet.sourceforge.net/
               下载地址:http://sourceforge.net/project/showfiles.php?group_id=4223
               arpoison官方网站:http://www.arpoison.net/
               下载地址:http://www.arpoison.net/arpoison-0.6.tar.gz
安装方法(FC下成功,其他发行版可参考):
先安装libnet
tar -xvzf libnet.tar.gz
cd libnet
./configure
make
make install
安装arpoison
tar -xvzf arpoison-0.6.tar.gz
cd arpoison
gcc arpoison.c /usr/lib/libnet.a -o arpoison
mv arpoison /usr/sbin

用法:
Usage: -i device -d dest_IP -s src_IP -t target_MAC -r src_MAC [-a] [-w time between packets] [-n number to send]
示例:arpoison -i eth0 -d 172.16.18.254 -s 172.16.18.19 -t ff:ff:ff:ff:ff:ff -r 00:11:09:E8:78:DD  

-i eth0 指定发送arp包的网卡接口eth0
-d 172.16.18.254 指定目的ip为172.16.18.254
-s 172.16.18.19  指定源ip为172.16.18.19
-t ff:ff:ff:ff:ff:ff 指定目的mac地址为ff:ff:ff:ff:ff:ff(arp广播地址)
-r 00:11:09:E8:C8:ED  指定源mac地址为00:11:09:E8:C8:ED

wireshark截图如下:
点击在新窗口中浏览此图片

写了一个小脚本,根据注释,相信聪明智慧的各位可以搞定linux下的arp攻击了:

#!bash
#arpDefend.sh
#######
#yk103#
#######
#网关mac地址
GATEWAY_MAC=00:D0:F8:FF:4A:23
#目的mac地址
DEST_MAC=ff:ff:ff:ff:ff:ff
#目的ip地址
DEST_IP=172.16.18.254
#本地网卡接口
INTERFACE=eth0
#$INTERFACE的mac地址
MY_MAC=00:11:09:E8:78:DD
#$INTERFACE的ip地址
MY_IP=172.16.18.19
#在本机建立静态ip/mac入口
$DEST_IP--$GATEWAY_MAC
arp -s $DEST_IP $GATEWAY_MAC
#发送arp reply ,使$DEST_IP更新$MY_IP的mac地址为$MY_MAC
arpoison -i $INTERFACE -d $DEST_IP -s $MY_IP -t $DEST_MAC -r $MY_MAC 1>/dev/null &

结束语:
arpoison需要root权限运行
arpoison需要libnet的支持
arpoison很好的解决了arp攻击的问题
Tags: ,
分页: 50/196 第一页 上页 45 46 47 48 49 50 51 52 53 54 下页 最后页 [ 显示模式: 摘要 | 列表 ]