标签 密码 下的文章

PHP生成随机密码

使用PHP生成16位随机密码,要求必需同时包含大写字母、小写字母、数字、特殊符号,且第一位必需大写

<?php
function generatePassword() {
    // 定义字符集
    $uppercase = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $lowercase = 'abcdefghijklmnopqrstuvwxyz';
    $numbers = '0123456789';
    $specialChars = '!@#$%^&*()_+-=[]{}|;:,.<>?';

    // 确保每种字符至少出现一次
    $password = $uppercase[random_int(0, strlen($uppercase) - 1)]; // 第一位是大写字母
    $password .= $lowercase[random_int(0, strlen($lowercase) - 1)]; // 第二位是小写字母
    $password .= $numbers[random_int(0, strlen($numbers) - 1)]; // 第三位是数字
    $password .= $specialChars[random_int(0, strlen($specialChars) - 1)]; // 第四位是特殊符号

    // 剩余的12位随机字符
    $allChars = $uppercase . $lowercase . $numbers . $specialChars;
    for ($i = 4; $i < 16; $i++) {
        $password .= $allChars[random_int(0, strlen($allChars) - 1)];
    }

    // 将密码转换为数组,方便操作
    $passwordArray = str_split($password);

    // 打乱除第一位之外的字符
    $shuffledPart = array_slice($passwordArray, 1);
    shuffle($shuffledPart);

    // 重新组合密码,确保第一位是大写字母
    $password = $passwordArray[0] . implode('', $shuffledPart);

    return $password;
}

// 生成并输出密码
echo generatePassword();
?>

SeaCMS自定义Redis缓存服务器配置

如果您的Redis缓存服务使用了密码,或者需要修改Redis服务器地址和端口,需要修改下面两个文件:
文件1:/include/common.redis.func.php(共5处修改)
文件2:/admin/admin_ajax.php(共1处修改,admin请对应实际后台目录)

修改服务器地址和端口:

$redis->connect('127.0.0.1', 6379);

如有密码,则在$redis->connect('127.0.0.1', 6379);下增加一行:

$auth = $redis->auth('密码');

CentOS7安装Fail2ban阻止暴力破解SSH密码

之前介绍了使用DenyHosts阻止ssh密码暴力破解, 经菜包子了解到Fail2ban比较好用。
简单来说Fail2ban的功能就是防止暴力破解。工作的原理是通过分析一定时间内的相关服务日志,将满足动作的相关IP利用iptables加入到dorp列表一定时间。

安装:

wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -ivh epel-release-latest-7.noarch.rpm
yum install fail2ban

设置开机启动:

systemctl enable fail2ban

Fail2ban的配置文件位于/etc/fail2ban目录

- 阅读剩余部分 -

deluge忘记WebUI密码后的重置方法

首先需要停止WebUI

killall deluged
killall deluge-web

然后可以通过删除deluge配置目录下的web.conf文件来重置密码,该文件的默认位置:

~/.config/deluge/

注意:删除该文件后,WebUI上的设置也将初始化。

当然,你也可以通过下面的脚本来重设密码:

#!/usr/bin/env python
# Changes the password for Deluge's WebUI

from deluge.config import Config
import hashlib
import os.path
import sys

if len(sys.argv) == 2:
    deluge_dir = os.path.expanduser(sys.argv[1])

    if os.path.isdir(deluge_dir):
        try:
            config = Config("web.conf", config_dir=deluge_dir)
        except IOError, e:
            print "Can't open web ui config file: ", e
        else:
            password = raw_input("Enter new password: ")
            s = hashlib.sha1()
            s.update(config['pwd_salt'])
            s.update(password)
            config['pwd_sha1'] = s.hexdigest()
            try:
                config.save()
            except IOError, e:
                print "Couldn't save new password: ", e
            else:
                print "New password successfully set!"
    else:
        print "%s is not a directory!" % deluge_dir
else:
    print "Usage: %s <deluge config dir>" % (os.path.basename(sys.argv[0]))

现在启动deluge和webui

deluged
deluge-web --fork

重置后的密码为 deluge

修改rutorrent密码的方法

首先需要安装二个软件:

apt-get install apache2-utils mini-httpd

然后需要找到rutorrent密码管理的文件:

find / -name rutorrent_passwd

这是在整个系统中查找 rutorrent_passwd 文件。我这里查找到的路径是:

/etc/apache2/rutorrent_passwd

然后执行修改密码命令:

htpasswd /etc/apache2/rutorrent_passwd 2dan

上面的 2dan 就是你登录rutorrent的用户名
根据提示输入新密码并确认新密码,然后就可以了。