一句话设计原则

面向对象的可复用设计( Object Oriented Design / OOD)

1. 开闭原则 (Open Closed Principle)

对扩展开放,对修改关闭

2. 里氏代换原则(LSP)

1.可以使用基类的地方,其子类必然也能使用
2.并且原功能不会受到任何影响

-- 经典案例, 正方形是不是长方形的子类?

3.依赖倒转原则(DIP)

依赖抽象,不要依赖具体,面向接口编程

传统过程性设计办法倾向于高层依赖低层,抽象依赖具体
image.png
依赖倒转原则,就是把错误的依赖关系倒转过来
image.png

4.接口隔离原则(ISP)

使用多个专门的接口,比使用单一的接口要好

5.合成、聚合复用原则(CARP)

尽量使用合成,聚合,尽量不使用继承

6.迪米特法则

不跟陌生人说话……

  1. 这是“某人” 的朋友圈, 他与“朋友” 之间是朋友关系
    image.png
  2. 这是“朋友” 与 “陌生人” 组成的朋友圈
    image.png

  3. 迪米特法则建议,“某人” 与 “陌生人” 之间不要进行直接通话,而是通过“朋友”去调用“陌生人”的方法,对于“某人”来说,“陌生人”是不存在的。
    image.png

怎么样才算“朋友”? 也只有患难见真情。

  1. 当前对象本身
  2. 以参量形式传入到当前对象方法中的对象
  3. 当前对象的实例变量引用的对象
  4. 当前对象实例是集合,则集合中的对象是朋友
  5. 当前对象创建的对象

应该是有依赖关系的,就算是“朋友”吧

转载于:https://www.cnblogs.com/DonneZhang/p/10266780.html

### ASP 句话木马的工作原理 ASP 句话木马是种非常简洁的恶意脚本,通常用于远程控制服务器。这类木马的特点在于代码量极少却能实现强大的功能。典型的 ASP 句话木马通过接收来自客户端的请求参数来执行特定的操作,比如读取文件、写入文件或是执行命令等。 例如,段简单的 ASP 句话木马可能如下所示: ```asp <% dim cmd,fso,s set fso=Server.CreateObject("Scripting.FileSystemObject") cmd=request("c") if(cmd<> "")then s=fso.OpenTextFile(Server.MapPath("result.txt"),8,true).Write(execCmd(cmd)) end if %> ``` 这段代码会监听名为 `c` 的 HTTP 请求参数,并将其作为指令传递给操作系统执行[^1]。 ### 检测方法 对于这种类型的攻击,可以采取多种手段来进行检测。常见的做法是在 Web 应用程序防火墙 (WAF) 中配置规则以识别可疑模式;定期扫描网站目录下的所有 .asp 文件查找异常字符序列或结构不正常的代码片段;监控日志文件中的访问记录寻找不符合常规的行为特征。 另外,在应用程序层面也可以加入验证机制防止非法输入被直接传送到危险函数处处理。例如,可以通过正则表达式过滤掉潜在有害的数据流,只允许安全范围内的字符串进入后续逻辑运算环节[^2]。 ### 防御措施 为了有效抵御此类威胁,建议实施以下策略组合: - **最小权限原则**:确保运行 web server 和数据库服务使用的账户具有尽可能低级别的操作许可权; - **及时更新补丁**:保持软件版本处于最新状态以便修复已知漏洞; - **启用输入校验**:严格审查每个外部提交过来的信息单元,拒绝任何不合规格的内容; - **部署入侵防护系统(IPS)**:利用专门设计的安全设备实时拦截未授权活动尝试; - **教育员工提高警惕意识**:培训相关人员掌握基本网络安全常识以及应对突发事件的能力[^3].
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值