网页禁止右键查看源码和右键复制功能

document.onkeydown=function(){

document.onkeydown=function(){

    var e = window.event||arguments[0];

    if(e.keyCode==123){

        alert('请尊重劳动成果!www.baidu.com');

            return false;

    }else if((e.ctrlKey)&&(e.shiftKey)&&(e.keyCode==73)){

        alert('请尊重劳动成果!www.baidu.com');

            return false;

    }else if((e.ctrlKey)&&(e.keyCode==85)){

            alert('请尊重劳动成果!www.baidu.com');

            return false;

    }else if((e.ctrlKey)&&(e.keyCode==83)){

           alert('请尊重劳动成果!www.baidu.com');

           return false;

    }

}

document.oncontextmenu=function(){

    alert('请尊重劳动成果!www.baiducom');

    return false;

}

Centos7服务器拨号上网之动态IP拨号脚本(所有客户端断开的情况才可以重拨)

一.新建restart_pppoe.sh文件

一.新建restart_pppoe.sh文件

#!/usr/bin/env bash

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin

export PATH

CONF="/usr/local/shadowsocks-go/shadowsocks-go.conf"

LOG="my-monitor.log"

COUNTNUM=0

FLAG=false

#读取配置文件

Read_config(){

    [[ ! -e ${CONF} ]] && echo -e "${Error} Shadowsocks 配置文件不存在 !" && exit 1

    port=$(cat ${CONF}|grep 'PORT = '|awk -F 'PORT = ' '{print $NF}')

    password=$(cat ${CONF}|grep 'PASSWORD = '|awk -F 'PASSWORD = ' '{print $NF}')

    cipher=$(cat ${CONF}|grep 'CIPHER = '|awk -F 'CIPHER = ' '{print $NF}')

    verbose=$(cat ${CONF}|grep 'VERBOSE = '|awk -F 'VERBOSE = ' '{print $NF}')

}

# 处理重新拨号逻辑

reconnect_ppoe(){

    echo -e "`date +'%Y-%m-%d %H:%M:%S'`: COUNTNUM="${COUNTNUM} >> $LOG

    echo -e "`date +'%Y-%m-%d %H:%M:%S'`: `curl myip.ipip.net`" >> $LOG

    #读取配置文件

    Read_config

    #获取当前连接IP

    user_IP=$(ss state connected sport = :${port} -tn|sed '1d'|awk '{print $NF}'|awk -F ':' '{print $(NF-1)}'|sort -u)

    #所有客户端断开时,重新拨号

    msg=""

    if [[ -z ${user_IP} ]]; then

        msg="`date +'%Y-%m-%d %H:%M:%S'`: 当前暂时没有链接的客户端IP"

        #避免拨号太频繁有可能会造客户端链接不上服务端,加入休眠时间60s

        if [[ "${FLAG}" = true ]]; then

            FLAG=false

            #重新PPPOE拨号

            /sbin/pppoe-stop

            /sbin/pppoe-start

            echo -e "`date +'%Y-%m-%d %H:%M:%S'`: 重新拨号完成–`curl myip.ipip.net`" >> $LOG

            #更新ArDNSPod动态DDNS

            /usr/local/ArDNSPod-master/ddnspod.sh

            #更新CloudXNS

            /usr/local/cloudxns/cloudxns_ddns.sh

        fi

    else

        FLAG=true

        user_IP=$(echo -e "\n${user_IP}")

        msg="`date +'%Y-%m-%d %H:%M:%S'`: 当前链接IP: "${user_IP}"\n"

    fi

    #写日志到文件

    echo -e ${msg} >> $LOG

    #清理日志内容

    if [[ ${COUNTNUM} -ge 60 ]]; then

        echo "" > my-monitor.log

        COUNTNUM=0

    fi

    #清空user_IP变量

    user_IP=""

}

#调用函数,设置为后台服务运行

#1.后台服务运行

# nohup /root/.script/restart_pppoe.sh 2>&1 > /dev/null &

#2.确认每秒执行

# tail -f /root/.script/my-monitor.log

#3. 停止脚本运行进程

#  kill -s 9 `ps -aux | grep restart_pppoe.sh | awk '{print $2}'`

#查询出口IP

# curl ipinfo.io 或  curl myip.ipip.net

while [ true ]; do

    let COUNTNUM++

    /bin/sleep 1

    reconnect_ppoe

done

二.新建start_server.sh文件

#!/usr/bin/env bash

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin

export PATH

kill -s 9 `ps -aux | grep restart_pppoe.sh | awk '{print $2}'`

nohup /root/.script/restart_pppoe.sh 2>&1 > /dev/null &

三.为start_server.sh文件授权执行权限

chmod +x /root/.script/start_server.sh

四.安装ArDNSPode

官网: https://github.com/anrip/ArDNSPod

1.下载文件

2.上传解压

3.修改配置 dns.conf文件

mv  dns.conf.example dns.conf

vim dns.conf

#修改内容如下所示

利用注册表修改计算机名(不需要重启)

@echo off
echo AppLife.Net
set /p name=请输您的计算机名:
reg add “HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ActiveComputerName” /v ComputerName /t reg_sz /d %name% /f >nul 2>nul
reg add “HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters” /v “NV Hostname” /t reg_sz /d %name% /f >nul 2>nul
reg add “HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters” /v Hostname /t reg_sz /d %name% /f >nul 2>nul
echo.
echo 修改计算机名完毕
echo.
echo AppLife.Net
set /p work1=请输入您的工作组名:
wmic computersystem where Name=”%COMPUTERNAME%” call JoinDomainOrWorkgroup Name=”%work1%”
echo 修改工作组完毕
pause>nul
echo.

用js实现竖线分割字符串并自动填充相应的输入框

前段时间,有个朋友说,想用js实现输入一段字符串,这个字符用竖线分割成三段,当光标离开input输入框时,自动填充到对应的三个input中,让我想下实现方式。下面是我自己的写的脚本;比较粗糙,大家不要介意。下面是脚本代码:

新建一个静态html文件test.html

<script>
function myFunction(){
var a=document.getElementById(“address”);
var b=document.getElementById(“river”);
var c=document.getElementById(“time”);
var splits = a.value.split(“\|”);
//console.log(splits);
a.value=splits[0];
b.value=splits[1];
c.value=splits[2];
}
</script>
</head>
<body>
地点:<input type=”text” id=”address” onchange=”myFunction()”/>
河段:<input type=”text” id=”river” />
时间:<input type=”text” id=”time” />
</body>

保存,直接双击运行即可。

常用的dos命令

1.目录切换

1).进入根目录

cd  \

2).返回上一级

cd  ..

3).进入具体某个盘,如E:

cd  E:

4).直接用pushd定位,如定到pushd F:\Oracle

pushd F:\Oracle

2.查看系统版本

ver

3.文件操作

1).创建文件夹

mkdir F:\abc

echo

2).删除文件夹

rd F:\abc

3).创建一个新文件

echo “abc” >>F:\test123.txt

4).用more查看文件内容

more F:\test123.txt

5).用type查看文件内容

type F:\test123.txt

6).用tree查看目录结构

tree F:

7).用del删除文件

del F:/test123.txt

4.查看和停用服务

1).查看所有系统服务

net start

2).停止服务,如停止MySQL服务

net stop MySQL

3).启动服务,如启动MySQL服务

net start MySQL

5.查看网络连接

1).查看本地端口开放情况

netstat -an

2).查看本地端口开放情况及可执行组件

netstat -anb

3).查看本地端口开放情况及加接的相关进ID

netstat -ano

6.系统账号管理

1).查看系统所有用户

net  user

2).查看管理员账户信息,包括权限和登录时间

net  user adminstrator

3).创建一个名为sbtest账户

net  user sbtest 123456  /add

4).查看本地用户组

net localgroup

5).提升sbtest用户至管理员权限

net localgroup Administrators sbtest  /add

6).删除sb123 用户

net user sb123 /del

7).激活用户账号sbtest

net user sbtest  /active:yes

8).停用户账号sbtest

net user sbtest  /active:no

9).修改用户sbtest密码为sbtest

net user sbtest sbtest

7.网络命令

1).ping命令:域名或IP;如ping百度

ping  www.baidu.com

2).查看本地网卡

ipconfig  /all

3).内网渗透命令

net view

4).telnet查看端口连通或远程登录

telnet 127.0.0.1 80

telnet 192.168.10.100

8.查看用户权限

whoami

9.路由跟踪

tracert  www.baidu.com

10.注册表操作

1).导出注册表

regedit /e E:\software\1.reg “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp”

2).导入注册表

regedit /s E:\software\1.reg

11.查看当前用户

query user

12.注销登录用户格式:logoff 用户ID号

logoff  1

13.打开远程登录桌面窗口

mstsc/console

14.查看系统进程提供的服务

tasklist/svc

15.强制杀掉指定进程

taskkill/pid 进程pid号  /f

如:taskkill/pid 5604 /f

16.查找服务安装路径,如查找MySQL服务的安装路径

sc  qc “MySQL”

17.用regsvr32命令注册与反注册

参数: /u 为卸载   /s 为安静模式

如:

regsvr32  WSHom.Ocx/u  卸载wscript.shell对象

regsvr32  scrrun.dll/u  卸载FOS对象

regsvr32  shell32.dll/s/u  安静模式卸载FOS对象

如何利用Python脚本实现邮件发送

用python编写邮件发送功能,代码少,也比较简。可分为http方式默认25端口发送和https方式默认465端口发送。

一..本机发送

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import smtplib
from email.mime.text import MIMEText
from email.header import Header

sender = 'zabbix@qq.com'
receivers = ['lao@qq.com']  # 接收邮件,可设置为你的QQ邮箱或者其他邮箱

# 三个参数:第一个为文本内容,第二个 plain 设置文本格式,第三个 utf-8 设置编码
message = MIMEText('zabbix邮件发送测试...', 'plain', 'utf-8')
message['From'] = Header("zabbix邮件发送测试", 'utf-8')
message['To'] = Header("测试01", 'utf-8')

subject = 'Python SMTP 邮件测试01'
message['Subject'] = Header(subject, 'utf-8')

try:
    smtpObj = smtplib.SMTP('smtp.qq.com')
    smtpObj.sendmail(sender, receivers, message.as_string())
    print "邮件发送成功"
except smtplib.SMTPException:
    print "Error: 无法发送邮件"

 

二.用25端口方式

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import smtplib
from email.mime.text import MIMEText
from email.header import Header

# 第三方 SMTP 服务
mail_host = "smtp.qq.com"  # 设置服务器
mail_user = "zabbix"  # 用户名
mail_pass = "123456"  # 口令

sender = 'zabbix@qq.com'
receivers = ['lao@qq.com']  # 接收邮件,可设置为你的QQ邮箱或者其他邮箱

message = MIMEText('zabbix邮件发送测试...', 'plain', 'utf-8')
message['From'] = Header("zabbix邮件发送测试", 'utf-8')
message['To'] = Header("测试", 'utf-8')

subject = 'Python SMTP 邮件测试'
message['Subject'] = Header(subject, 'utf-8')

try:
    smtpObj = smtplib.SMTP()
    smtpObj.connect(mail_host, 25)  # 25 为 SMTP 端口号
    smtpObj.login(mail_user, mail_pass)
    smtpObj.sendmail(sender, receivers, message.as_string())
    print "邮件发送成功"
except smtplib.SMTPException:
    print "Error: 无法发送邮件"

 

三.利用465端口方式

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import smtplib
from email.mime.text import MIMEText
from email.header import Header

# 第三方 SMTP 服务
mail_host = "smtp.qq.com"  # 设置服务器
mail_user = "zabbix"  # 用户名
mail_pass = "123456"  # 口令

sender = 'zabbix@qq.com'
receivers = ['lao@qq.com']  # 接收邮件,可设置为你的QQ邮箱或者其他邮箱

message = MIMEText('zabbix告警邮件发送测试...', 'plain', 'utf-8')
message['From'] = Header("zabbix告警邮件发送测试", 'utf-8')
message['To'] = Header("zabbix告警邮件发送测试", 'utf-8')

subject = 'Python zabbix告警邮件发送测试'
message['Subject'] = Header(subject, 'utf-8')

try:
    smtpObj = smtplib.SMTP_SSL()
    smtpObj.connect(mail_host, 465)  # 465 为 SMTP 端口号
    smtpObj.login(mail_user, mail_pass)
    smtpObj.sendmail(sender, receivers, message.as_string())
    print "邮件发送成功"
except smtplib.SMTPException:
    print "Error: 无法发送邮件"