分类: 网页开发

  • 文章禁止转载的破解思路

    一、问题描述

    在部分网站复制文章时,会显示”禁止转载”提示,无法完成复制。


    二、问题原因

    1. JavaScript层限制

    网站通过 JavaScript 事件监听实现禁止转载,主要是拦截用户复制内容的各种操作。下面是常见的技术实现方式:

    • 禁用文本选择:监听selectstart事件
    • 禁用复制/剪切:监听copycut事件
    • 禁用右键菜单:监听contextmenu事件
    • 禁用拖拽:监听dragstart事件

    三、解决方案

    1. 通过开发者工具禁用JavaScript

    • F12(或Fn+F12)打开开发者工具
    • F1(或Fn+F1)或点击右上角齿轮图标打开设置
    • 左侧菜单选择Preferences
    • 向下滚动找到Debugger
    • 勾选Disable JavaScript
  • WP忘记密码的查询思路

    一、问题描述

    忘记了WordPress的账户名和密码


    二、解决方案

    1. 通过指令查询WordPress的账户名和密码

    使用SSH工具远程连接服务器,执行以下命令

    sudo cat /root/applications.auth
  • WP无法访问的解决思路

    一、问题描述

    网页显示Briefly unavailable for scheduled maintenance. Check back in a minute.(因计划维护暂时无法使用,请稍后再试)


    二、问题原因

    在更新核心软件、主题或插件时,WordPress会在网站的根目录下创建一个临时的.maintenance文件,使网站进入维护模式。此时访问网站的用户会看到提示消息:

    Briefly unavailable for scheduled maintenance. Check back in a minute.

    正常情况下,更新完成后,WordPress会自动删除.maintenance文件,维护提示页面便会消失,网站恢复正常访问

    然而,如果更新进程因故中断,.maintenance文件可能无法被自动删除,导致网站陷入维护模式而无法正常访问

    可能原因如下:

    • 更新时网络异常或更新过程中关闭浏览器
    • 批量更新插件导致更新队列冲突
    • 服务器响应超时或内存不足
    • .maintenance文件残留

    三、解决方案

    1. 通过指令删除.maintenance文件

    使用SSH工具远程连接服务器,执行以下命令,删除.maintenance文件

    rm -f .maintenance

    2. 通过宝塔面板删除.maintenance文件

    在宝塔面板的文件中选择根目录,选中.maintenance文件,右键点击删除。

  • 服务器端口安全策略

    一、端口是什么

    端口分为物理端口虚拟端口(逻辑端口)

    物理端口是用于连接物理设备之间的接口,如路由器上用于连接其他网络设备的接口。
    虚拟端口是操作系统为网络通信分配的虚拟通道。端口是通过端口号来标记的,端口号范围是从0到65535


    1. 虚拟端口的类型

    1.1 周知端口

    周知端口,也称为公认端口或常用端口,范围是0到1023​。周知端口通常与互联网的基础服务绑定,如80端口用于HTTP网页服务,21端口用于FTP文件传输。


    1.2 注册端口

    注册端口的范围是1024到49151​。注册端口通常与应用程序或用户进程绑定,如3306端口用于MySQL数据库服务 。


    1.3 动态端口

    动态端口,也称为私有端口或短暂端口,范围是49152到65535​。动态端口一般不固定分配给任何特定服务​。其主要用于两个方面:程序的临时连接请求或一些私有或非标准服务。


    二、修改默认端口的原因

    1. 规避自动化攻击

    黑客会使用自动化工具持续扫描互联网上开放端口的设备,尝试暴力破解利用已知漏洞入侵。修改端口后,攻击者无法通过默认端口快速定位目标,从而发起攻击。


    2. 增加攻击成本

    攻击者通常先进行端口扫描,快速检测目标服务器的开放端口。如果服务在默认端口上运行,攻击者识别后可以立刻开始攻击

    修改默认端口后,攻击者的快速扫描策略就会失效,需要启动全端口扫描。全端口扫描需要依次检查所有的端口(65536个),其耗时比快速扫描高出数个数量级,显著提高了攻击的复杂度和时间成本


    3. 避免端口冲突

    不同的网络服务可能使用相同的默认端口,导致产生端口冲突。端口冲突会导致服务无法正常运行,从而影响系统的稳定性和可用性。


    三、常用的默认端口

    端口范围

    8888​:宝塔面板访问端口(建议修改)

    22​:SSH远程连接端口(建议修改)

    80​:网站HTTP服务端口(通常默认)

    443​:网站HTTPS服务端口(通常默认)

    3306​:MySQL数据库端口(建议限制访问)

    888​:phpMyAdmin工具端口(建议修改)

    21​:FTP服务端口(通常不启用)


    四、端口修改步骤

    1. 查看放行的端口

    1.1 通过指令进行查看

    使用SSH工具远程连接服务器,执行以下命令,查看使用的端口

    ss -tuln

    1.2 通过服务器面板进行查看

    阿里云的服务器面板用于管理外网访问权限

    在服务器防火墙/安全组中查看其规则列表中的端口,具体操作请查看服务器提供商的官方文档。


    1.3 通过宝塔面板进行查看

    宝塔面板用于查看服务器本地状态

    在宝塔面板的安全>系统防火墙中选择入站选项,查看其端口信息。


    2. 端口修改方法

    端口修改的原则是先添新,再改服务,后删旧

    先在服务器防火墙/安全组为新端口添加规则,然后在宝塔面板修改端口设置,最后再禁用/删除旧的端口规则。


    2.1 修改SSH远程服务端口

    在服务器防火墙/安全组的规则列表中选择添加规则
    应用类型选择自定义
    协议选择TCP
    端口范围在1024到65535中自定义
    来源IP默认0.0.0.0/0或填写单个IP地址

    在宝塔面板的安全>系统防火墙中选择添加端口规则
    协议默认TCP
    端口输入自定义的端口号
    来源默认所有IP
    策略默认放行
    方向默认入站

    在安全面板中选择SSH管理页面,修改SSH端口,输入之前自定义的端口号。

    使用SSH工具远程连接服务器,修改当前登录端口。
    确认新端口可用后,禁用服务器和宝塔面板中原来的SSH远程服务端口


    2.2 修改宝塔面板访问端口

    在服务器防火墙/安全组的规则列表中选择添加规则
    应用类型选择自定义
    协议选择TCP
    端口范围在8888到65535中自定义
    来源IP默认0.0.0.0/0或填写单个IP地址

    在宝塔面板的安全>系统防火墙中选择添加端口规则
    协议默认TCP
    端口输入自定义的端口号
    来源默认所有IP
    策略默认放行
    方向默认入站

    在宝塔面板中选择面板设置>安全设置,修改面板端口,输入之前自定义的端口号。

    在浏览器中使用宝塔面板的新网址进行访问。
    确认新网址可用后,禁用服务器和宝塔面板中原来的宝塔面板访问端口

  • 虚拟内存的技术应用

    一、虚拟内存是什么

    虚拟内存技术是将物理内存(RAM)硬盘空间(Linux中Swap分区或Windows中页面文件)相结合,扩展了系统的可用内存空间


    二、虚拟内存的作用

    1. 扩展可用内存

    当物理内存不足时,Linux系统将不活跃的数据移动到硬盘空间中,为程序腾出内存空间。这使服务器能够运行比物理内存更大的应用程序或处理更多的并发任务


    2. 优化内存管理

    物理内存充足时,Linux系统也会将不活跃的数据移至硬盘空间中,以提高物理内存的利用效率


    3. 提升系统稳定性

    虚拟内存为每个进程提供了独立的、连续的虚拟地址空间,这使得进程之间相互隔离。一个进程的错误不会影响到其他进程或操作系统内核,从而提升了系统的稳定性


    三、如何设置虚拟内存

    1. 虚拟内存设置建议

    • 物理内存≤2GB:设置为RAM的1.5-2倍
    • 物理内存为2GB-8GB​:设置为RAM的1倍
    • 物理内存为8GB-64GB​:设置为RAM的0.5-1倍
    • 物理内存≥64GB​:设置为4GB或根据具体需求而定

    2. 查询虚拟内存大小

    使用SSH工具远程连接服务器,执行以下命令,查看物理内存和虚拟内存的使用概况

    free -h

    3. 虚拟内存设置方法

    1. 通过指令设置虚拟内存

    # 创建一个2GB的Swap文件
    sudo fallocate -l 2G /swapfile
    
    # 设置安全权限,仅允许root用户读写
    sudo chmod 600 /swapfile
    
    # 格式化Swap空间
    sudo mkswap /swapfile
    
    # 启用Swap文件
    sudo swapon /swapfile
    
    # 配置自动挂载,确保系统重启后自动生效
    echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

    2. 通过宝塔面板设置虚拟内存

    在宝塔面板的软件商店中搜索Linux工具箱并安装。选择Linux工具箱的设置>Swap/虚拟内存,输入合适的虚拟内存大小,最后点击确定。