标准与扩展ACL

  1. 案例1:配置标准ACL
  2. 案例2:配置扩展ACL
  3. 案例3:配置标准命名ACL
  4. 配置扩展命名ACL

1 案例1:配置标准ACL

1.1 问题

络调通后,保证网络是通畅的。同时也很可能出现未经授权的非法访问。企业网络既要解决连连通的问题,还要解决网络安全的问题。

  • 配置标准ACL实现拒绝PC1(IP地址为192.168.1.1)对外问网络192.168.2.1的访问

1.2 方案

访问控制是网络安全防范和保护的主要策略,它的主要任务是保证网络资源不被非法使用和访问。它是保证网络安全最重要的核心策略之一。

访问控制列表(Access Control Lists,ACL)是应用在路由器接口的指令列表。这些指令列表用来告诉路由器哪能些数据包可以收、哪能数据包需要拒绝。至于数据包是被接收还是拒绝,可以由类似于源地址、目的地址、端口号等的特定指示条件来决定。

标准访问控制列表只能根据数据包的源IP地址决定是否允许通过。

网络拓扑如图-1所示:

图-1

1.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:在R1上配置接口IP

  1. tarena-R1(config)#interface f0/0
  2. tarena-R1(config-if)#ip address 192.168.1.254 255.255.255.0
  3. tarena-R1(config-if)#no shutdown
  4. tarena-R1(config-if)#interface f0/1
  5. tarena-R1(config-if)#ip address 192.168.2.254 255.255.255.0
  6. tarena-R1(config-if)#no shutdown

步骤二:测试主机到192.168.2.1的连通性

在实施ACL之前先检查网络是否能够正常通信,因为没有任何限制,网络应该是处于连通状态。

PC1测试如下所示:

  1. PC>ipconfig
  2. FastEthernet0 Connection:(default port)
  3. Link-local IPv6 Address.........: FE80::2E0:F7FF:FED6:54CC
  4. IP Address......................: 192.168.1.1
  5. Subnet Mask.....................: 255.255.255.0
  6. Default Gateway.................: 192.168.1.254
  7. PC>ping 192.168.2.100
  8. Pinging 192.168.2.100 with 32 bytes of data:
  9. Reply from 192.168.2.1: bytes=32 time=0ms TTL=126
  10. Reply from 192.168.2.1: bytes=32 time=0ms TTL=126
  11. Reply from 192.168.2.1: bytes=32 time=0ms TTL=126
  12. Reply from 192.168.2.1: bytes=32 time=0ms TTL=126
  13. Ping statistics for 192.168.2.1:
  14. Packets: Sent = 4, Received = 2, Lost = 2 (50% loss),
  15. Approximate round trip times in milli-seconds:
  16. Minimum = 0ms, Maximum = 0ms, Average = 0ms
  17. PC>

PC2测试如下所示:

  1. PC>ipconfig
  2. FastEthernet0 Connection:(default port)
  3. Link-local IPv6 Address.........: FE80::2D0:BAFF:FE98:9E29
  4. IP Address......................: 192.168.1.2
  5. Subnet Mask.....................: 255.255.255.0
  6. Default Gateway.................: 192.168.1.254
  7. PC>ping 192.168.2.1
  8. Pinging 192.168.2.1 with 32 bytes of data:
  9. Reply from 192.168.2.1: bytes=32 time=2ms TTL=126
  10. Reply from 192.168.2.1: bytes=32 time=0ms TTL=126
  11. Reply from 192.168.2.1: bytes=32 time=0ms TTL=126
  12. Reply from 192.168.2.1: bytes=32 time=0ms TTL=126
  13. Ping statistics for 192.168.2.1:
  14. Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
  15. Approximate round trip times in milli-seconds:
  16. Minimum = 0ms, Maximum = 2ms, Average = 0ms
  17. PC>

步骤三:在R1上配置标准访问控制列表,并应用到Fa0/0端口

ACL的匹配规则中,最后有一条隐含拒绝全部。如果语句中全部是拒绝条目,那么最后必须存在允许语句,否则所有数据通信都将被拒绝。

  1. tarena-R1(config)#access-list 1 deny host 192.168.1.1
  2. tarena-R1(config)#access-list 1 permit 192.168.1.0 0.0.0.255
  3. tarena-R1(config)#interface f0/0
  4. tarena-R1(config-if)#ip access-group 1 in

步骤四:分别在两台主机上测试到192.168.2.1的连通性

PC1测试如下所示:

  1. PC>ipconfig
  2. FastEthernet0 Connection:(default port)
  3. Link-local IPv6 Address.........: FE80::2E0:F7FF:FED6:54CC
  4. IP Address......................: 192.168.1.1
  5. Subnet Mask.....................: 255.255.255.0
  6. Default Gateway.................: 192.168.1.254
  7. PC>ping 192.168.2.1
  8. Pinging 192.168.2.1 with 32 bytes of data:
  9. Reply from 192.168.1.254: Destination host unreachable.
  10. Reply from 192.168.1.254: Destination host unreachable.
  11. Reply from 192.168.1.254: Destination host unreachable.
  12. Reply from 192.168.1.254: Destination host unreachable.
  13. Ping statistics for 192.168.2.1:
  14. Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
  15. PC>

PC2测试如下所示:

  1. PC>ipconfig
  2. FastEthernet0 Connection:(default port)
  3. Link-local IPv6 Address.........: FE80::207:ECFF:FE46:CAC0
  4. IP Address......................: 192.168.1.2
  5. Subnet Mask.....................: 255.255.255.0
  6. Default Gateway.................: 192.168.1.254
  7. PC>ping 192.168.2.1
  8. Pinging 192.168.2.1 with 32 bytes of data:
  9. Reply from 192.168.2.1: bytes=32 time=1ms TTL=127
  10. Reply from 192.168.2.1: bytes=32 time=0ms TTL=127
  11. Reply from 192.168.2.1: bytes=32 time=1ms TTL=127
  12. Reply from 192.168.2.1: bytes=32 time=0ms TTL=127
  13. Ping statistics for 192.168.2.1:
  14. Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
  15. Approximate round trip times in milli-seconds:
  16. Minimum = 0ms, Maximum = 1ms, Average = 0ms
  17. PC>

结果显示PC2(IP地址为192.168.1.2)可以正常访问192.168.2.1,而PC1(IP地址为192.168.1.1)已经被192.168.1.254(R1)拒绝。

步骤五:在R1上查看相关的ACL信息

  1. tarena-R1#show ip access-lists
  2. Standard IP access list 1
  3. 10 deny host 192.168.1.1 (4 match(es))
  4. 20 permit 192.168.1.0 0.0.0.255 (8 match(es)

2 案例2:配置扩展ACL

在网络中很有可能要允许或拒绝的并不是某一个源IP地址,而是根据目标地址或是协议来匹配。但是标准访问控制列表只能根据源IP地址来决定是否允许一个数据包通过。

2.1 问题

配置扩展ACL允许pc1访问pc4的www服务但拒绝访问PC4的其他服务,PC2、PC3无限制。

2.2 方案

为了实现更灵活、列精确的网络控制就需要用到扩展访问控制列表了。

扩展IP访问控制列表比标准IP访问控制列表具有更多的匹配项,包括协议类型、源地址、目的地址、源端口、目的端口、建立连接的和IP优先级等。

网络拓扑如图-2所示:

图-2

2.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:在三台路由器中配置IP、RIP动态路由实现全网互通

  1. tarena-R1(config)#interface fastEthernet 0/0
  2. tarena-R1(config-if)#ip address 192.168.1.254 255.255.255.0
  3. tarena-R1(config-if)#no shutdown
  4. tarena-R1(config-if)#exit
  5. tarena-R1(config)#interface fastEthernet 0/1
  6. tarena-R1(config-if)#ip address 192.168.2.1 255.255.255.0
  7. tarena-R1(config-if)#no shutdown
  8. tarena-R1(config-if)#exit
  9. tarena-R1(config)#router rip
  10. tarena-R1(config-router)#no auto-summary
  11. tarena-R1(config-router)#version
  12. tarena-R1(config-router)#network 192.168.1.0
  13. tarena-R1(config-router)#network 192.168.2.0
  14. tarena-R2(config)#interface fastEthernet 0/1
  15. tarena-R2(config-if)#ip address 192.168.2.2 255.255.255.0
  16. tarena-R2(config-if)#no shutdown
  17. tarena-R2(config-if)#exit
  18. tarena-R2(config)#interface fastEthernet 0/0
  19. tarena-R2(config-if)#ip address 192.168.3.1 255.255.255.0
  20. tarena-R2(config-if)#exit
  21. tarena-R2(config)#router rip
  22. tarena-R2(config-router)#version 2
  23. tarena-R2(config-router)#no auto-summary
  24. tarena-R2(config-router)#network 192.168.2.0
  25. tarena-R2(config-router)#network 192.168.3.0
  26. tarena-R3(config)# interface fastEthernet 0/0
  27. tarena-R3(config-if)#ip add 192.168.3.2 255.255.255.0
  28. tarena-R3(config-if)#no shu
  29. tarena-R3(config-if)#exit
  30. tarena-R3(config)#interface fastEthernet 0/1
  31. tarena-R3(config-if)#ip address 192.168.4.254 255.255.255.0
  32. tarena-R3(config-if)#no shutdown
  33. tarena-R3(config-if)#exit
  34. tarena-R3(config)#router rip
  35. tarena-R3(config-router)#version 2
  36. tarena-R3(config-router)#no auto-summary
  37. tarena-R3(config-router)#network 192.168.3.0
  38. tarena-R3(config-router)#network 192.168.4.0

步骤二:开启192.168.4.1的http服务后在PC1、PC2和PC3上验证到Web Server的HTTP协议访问,均如图3所示:

图-3

在没有配置扩展ACL的时候,主机均可以正常访问到Web Server。

步骤三:R1上配置扩展访问控制列表,PC1仅允许到Web Server的HTTP服务(不允许访问其他服务),PC2、PC3无限制

扩展ACL可以对数据包中的源、目标IP地址以及端口号进行检查,所以可以将该ACL放置在通信路径中的任一位置。但是,如果放到离目标近的地方,每台路由器都要对数据进行处理,会更多的消耗路由器和带宽资源。放到离源最近的路由器端口入方向直接就将拒绝数据丢弃,可以减少其他路由器的资源占用以及带宽占用。

  1. tarena-R1(config)#access-list 100 permit tcp host 192.168.1.1 host 192.168.4.1 eq 80
  2. tarena-R1(config)#access-list 100 deny ip host 192.168.1.1 host 192.168.4.1
  3. tarena-R1(config)#access-list 100 permit ip 192.168.1.0 0.0.0.255 host 192.168.4.1
  4. tarena-R1(config)#interface fastEthernet 0/0
  5. tarena-R1(config-if)#ip access-group 100 in

步骤四:在PC1上验证

  1. PC>ipconfig
  2. FastEthernet0 Connection:(default port)
  3. Link-local IPv6 Address.........: FE80::2E0:F7FF:FED6:54CC
  4. IP Address......................: 192.168.1.1
  5. Subnet Mask.....................: 255.255.255.0
  6. Default Gateway.................: 192.168.1.254
  7. PC>ping 192.168.4.1
  8. Pinging 192.168.4.1 with 32 bytes of data:
  9. Reply from 192.168.1.254: Destination host unreachable.
  10. Reply from 192.168.1.254: Destination host unreachable.
  11. Reply from 192.168.1.254: Destination host unreachable.
  12. Reply from 192.168.1.254: Destination host unreachable.
  13. Ping statistics for 192.168.4.1:
  14. Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
  15. PC>

HTTP协议的验证如图-4所示:

图-4

从输入结果可以验证,PC1到Web Server的http服务访问没有受到影响但不能ping通Web Server。

步骤五:在PC2上进行验证

  1. PC>ipconfig
  2. FastEthernet0 Connection:(default port)
  3. Link-local IPv6 Address.........: FE80::209:7CFF:FED5:B0E4
  4. IP Address......................: 192.168.1.2
  5. Subnet Mask.....................: 255.255.255.0
  6. Default Gateway.................: 192.168.1.254
  7. PC>ping 192.168.4.1
  8. Pinging 192.168.4.1 with 32 bytes of data:
  9. Reply from 192.168.4.1: bytes=32 time=0ms TTL=125
  10. Reply from 192.168.4.1: bytes=32 time=12ms TTL=125
  11. Reply from 192.168.4.1: bytes=32 time=13ms TTL=125
  12. Reply from 192.168.4.1: bytes=32 time=12ms TTL=125
  13. Ping statistics for 192.168.4.1:
  14. Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
  15. Approximate round trip times in milli-seconds:
  16. Minimum = 0ms, Maximum = 13ms, Average = 9ms

HTTP协议的验证,如图-5所示:

图-5

步骤六:在R1上查看相关的ACL信息

  1. tarena-R1#show ip access-lists
  2. Extended IP access list 100
  3. 10 permit tcp host 192.168.1.1 host 192.168.4.1 eq www (5 match(es))
  4. 20 deny ip host 192.168.1.1 host 192.168.4.1 (4 match(es))
  5. 30 permit ip 192.168.1.0 0.0.0.255 host 192.168.4.1 (8 match(es))

3 案例3:配置标准命名ACL

3.1 问题

使用基本编号的ACL没有实际意义,只有通过阅读具体的条目才能得知该ACL的作用。而且ACL的编号有限制,如传统的标准ACL用1~99表示,扩展ACL用100~199表示。

  • 配置标准命名ACL实现192.168.1.0网段拒绝PC1访问外部网络,其他主机无限制。

3.2 方案

命名访问控制列表可以为ACL起一个有意义的名字,通过名称就可以得知该ACL要实现什么功能。同时,因为使用的是名称而不是数字,也就没有了ACL数量上的限制。

网络拓扑如图-6所示:

图-6

3.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:将案例1配置标准ACL中的扩展访问控制列表移除,其他配置保留

  1. tarena-R1(config)#interface f0/0
  2. tarena-R1(config-if)#no ip access-group 1 in
  3. tarena-R1(config-if)#exit
  4. tarena-R1(config)#no access-list 1

步骤二:在R2上配置标准的命名访问控制列表

命名访问控制列表的配置总体上和用数字表示的ACL一样,但是更加灵活。

  1. tarena-R2(config)#ip access-list standard tedu
  2. tarena-R2(config-std-nacl)#deny host 192.168.1.1
  3. tarena-R2(config-std-nacl)#permit 192.168.1.0 0.0.0.255
  4. tarena-R2(config-std-nacl)#exit
  5. tarena-R2(config)#interface f0/0
  6. tarena-R2(config-if)#ip access-group tedu in

步骤三:分别在PC1和PC2上做连通性测试

PC2测试如下所示:

  1. PC>ipconfig
  2. FastEthernet0 Connection:(default port)
  3. Link-local IPv6 Address.........: FE80::2E0:F7FF:FED6:54CC
  4. IP Address......................: 192.168.1.2
  5. Subnet Mask.....................: 255.255.255.0
  6. Default Gateway.................: 192.168.0.1
  7. PC>ping 192.168.4.1
  8. Pinging 192.168.4.1 with 32 bytes of data:
  9. Reply from 192.168.4.1: bytes=32 time=0ms TTL=126
  10. Reply from 192.168.4.1: bytes=32 time=0ms TTL=126
  11. Reply from 192.168.4.1: bytes=32 time=0ms TTL=126
  12. Reply from 192.168.4.1: bytes=32 time=0ms TTL=126
  13. Ping statistics for 192.168.4.1:
  14. Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
  15. Approximate round trip times in milli-seconds:
  16. Minimum = 0ms, Maximum = 0ms, Average = 0ms
  17. PC>

PC1 测试如下所示:

  1. PC>ipconfig
  2. FastEthernet0 Connection:(default port)
  3. Link-local IPv6 Address.........: FE80::2D0:BAFF:FE98:9E29
  4. IP Address......................: 192.168.1.1
  5. Subnet Mask.....................: 255.255.255.0
  6. Default Gateway.................: 192.168.1.254
  7. PC>ping 192.168.4.1
  8. Pinging 192.168.4.1 with 32 bytes of data:
  9. Reply from 192.168.1.254: Destination host unreachable.
  10. Reply from 192.168.1.254: Destination host unreachable.
  11. Reply from 192.168.1.254: Destination host unreachable.
  12. Reply from 192.168.1.254: Destination host unreachable.
  13. Ping statistics for 192.168.4.1:
  14. Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
  15. PC>

输出结果表明,PC1的访问是正常的,而PC2到Web Server的访问被R2(IP地址为192.168.1.2)拒绝。

步骤四:在R1上查看相关的ACL信息

  1. tarena-R2#show ip access-lists
  2. Standard IP access list tedu
  3. 10 deny host 192.168.1.1 (4 match(es))
  4. 20 permit 192.168.1.0 0.0.0.255(4 match(es))

输出结果也表明,来自于PC1的数据包被拦截。

4 配置扩展命名ACL

4.1 问题

使用基本编号的ACL没有实际意义,只有通过阅读具体的条目才能得知该ACL的作用。而且ACL的编号有限制,如传统的标准ACL用1~99表示,扩展ACL用100~199表示。

  • 配置扩展命名ACL允许PC1访问192.168.4.1的www服务但拒绝访问192.168.4.1的其他服务,PC2、PC3无限制。

4.2 方案

命名访问控制列表可以为ACL起一个有意义的名字,通过名称就可以得知该ACL要实现什么功能。同时,因为使用的是名称而不是数字,也就没有了ACL数量上的限制。

网络拓扑如图-7所示:

图-7

4.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:将2配置扩展ACL中的扩展访问控制列表移除,其他配置保留

  1. tarena-R1(config)#no access-list 100 permit tcp host 192.168.1.1 host 192.168.4.1 eq www
  2. tarena-R1(config)#interface fastEthernet 0/0
  3. tarena-R1(config-if)#no ip access-group 100 in

步骤二:在R1上配置扩展命名访问控制列表

命名访问控制列表的配置总体上和用数字表示的ACL一样,但是更加灵活。

  1. tarena-R1(config)#ip access-list extended tarena
  2. tarena-R1(config-ext-nacl)#permit tcp host 192.168.1.1 host 192.168.4.1 eq 80
  3. tarena-R1(config-ext-nacl)#deny ip host 192.168.1.1 host 192.168.4.1
  4. tarena-R1(config-ext-nacl)#permit ip 192.168.1.0 0.0.0.255 host 192.168.4.1
  5. tarena-R1(config)#interface fastEthernet 0/0
  6. tarena-R2(config-if)#ip access-group tarena in

步骤三:在R1上查看相关的ACL信息

  1. tarena-R1#show ip access-lists
  2. Extended IP access list tarena
  3. 10 permit tcp host 192.168.1.1 host 192.168.4.1 eq www
  4. 20 deny ip host 192.168.1.1 host 192.168.4.1
  5. 30 permit ip 192.168.1.0 0.0.0.255 host 192.168.4.1

步骤四:在PC1上验证

  1. PC>ipconfig
  2. FastEthernet0 Connection:(default port)
  3. Link-local IPv6 Address.........: FE80::2E0:F7FF:FED6:54CC
  4. IP Address......................: 192.168.1.1
  5. Subnet Mask.....................: 255.255.255.0
  6. Default Gateway.................: 192.168.1.254
  7. PC>ping 192.168.4.1
  8. Pinging 192.168.4.1 with 32 bytes of data:
  9. Reply from 192.168.1.254: Destination host unreachable.
  10. Reply from 192.168.1.254: Destination host unreachable.
  11. Reply from 192.168.1.254: Destination host unreachable.
  12. Reply from 192.168.1.254: Destination host unreachable.
  13. Ping statistics for 192.168.4.1:
  14. Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
  15. PC>
  16. PC>

HTTP协议的验证如图-8所示:

图-8

从输入结果可以验证,PC1到Web Server的http访问没有受到影响,但不能ping通192.168.4.1。

步骤五:在PC2上进行验证

  1. PC>ipconfig
  2. FastEthernet0 Connection:(default port)
  3. Link-local IPv6 Address.........: FE80::2E0:F7FF:FED6:54CC
  4. IP Address......................: 192.168.1.2
  5. Subnet Mask.....................: 255.255.255.0
  6. Default Gateway.................: 192.168.0.1
  7. PC>ping 192.168.4.1
  8. Pinging 192.168.4.1 with 32 bytes of data:
  9. Reply from 192.168.4.1: bytes=32 time=0ms TTL=126
  10. Reply from 192.168.4.1: bytes=32 time=0ms TTL=126
  11. Reply from 192.168.4.1: bytes=32 time=0ms TTL=126
  12. Reply from 192.168.4.1: bytes=32 time=0ms TTL=126
  13. Ping statistics for 192.168.4.1:
  14. Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
  15. Approximate round trip times in milli-seconds:
  16. Minimum = 0ms, Maximum = 0ms, Average = 0ms
  17. PC>

HTTP协议的验证,如图-9所示:

图-9

标准与扩展ACL的更多相关文章

  1. 标准与扩展ACL实验

    一标准访问控制列表实验: 实验拓扑: 实验目的:掌握标准与扩展ACL的配置 实验要求:拒绝R1到R3的所有流量 实验步骤: 步骤1 按如上拓扑做好底层配置,并检测相邻设备之间的连通性 步骤2起静态路由 ...

  2. 标准ACL、扩展ACL和命名ACL的配置详解

    访问控制列表(ACL)是应用在路由器接口的指令列表(即规则).这些指令列表用来告诉路由器,那些数据包可以接受,那些数据包需要拒绝. 访问控制列表(ACL)的工作原理 ACL使用包过滤技术,在路由器上读 ...

  3. Cisco基础(四):配置标准ACL、配置扩展ACL、配置标准命名ACL、配置扩展命名ACL

    一.配置标准ACL 目标: 络调通后,保证网络是通畅的.同时也很可能出现未经授权的非法访问.企业网络既要解决连连通的问题,还要解决网络安全的问题. 配置标准ACL实现拒绝PC1(IP地址为192.16 ...

  4. 扩展ACL

  5. 网络拓展知识 ACL NAT IPv6

    第1章 ACL 访问控制列表 访问控制表(”位代表精确匹配,而“1“位代表不许匹配. 例如路由器EIGRP的配置中: RouterA(config)#router eigrp 100 RouterA( ...

  6. cisco 的ACL

    搞网络好几年了,怎么说呢,水平一直停留在NA-NP之间,系统的学完NA后,做了不少实验,后来也维护了企业的网络,各种网络设备都玩过(在商汤用的Juniper srx 550 我认为在企业环境,非IDC ...

  7. 网络知识 ACL NAT IPv6

    第1章 ACL 访问控制列表 访问控制表(Access Control List,ACL),又称存取控制串列,是使用以访问控制矩阵为基础的访问控制方法,每一个对象对应一个串列主体. 访问控制表描述每一 ...

  8. ccna 闫辉单臂路由 和 acl access control list

    ccna 闫辉单臂路由 和  acl   access control list 一单臂路由     当前园区网设计很少用到       成本低  小型的.局域网可用         二ACL acc ...

  9. ACL技术(访问控制列表)

    • Access Control List    • 访问控制列表    • 是一种包过滤技术    • ACL基于IP包头的IP地址.四层TCP/UDP头部的端口号.[五层数据]进行过滤    • ...

随机推荐

  1. 关于PHP命名空间的讨论

    什么是命名空间? 根据php.net官方翻译文档描述,命名空间是这样定义的: 什么是命名空间?从广义上来说,命名空间是一种封装事物的方法. 在PHP中,命名空间用来解决在编写类库或应用程序时创建可重用 ...

  2. Fortify Audit Workbench 笔记 Header Manipulation

    Header Manipulation Abstract HTTP 响应头文件中包含未验证的数据会引发 cache-poisoning. cross-site scripting. cross-use ...

  3. Fortify Audit Workbench 笔记 SQL Injection SQL注入

    SQL Injection SQL注入 Abstract 通过不可信来源的输入构建动态 SQL 指令,攻击者就能够修改指令的含义或者执行任意 SQL 命令. Explanation SQL injec ...

  4. django 验证码图片生成视图函数

    def verify_code(request): import random # 定义验证码图片背景颜色 宽和高 bgcolor = (random.randrange(20,180),random ...

  5. redis实现数据库(一)

    转:https://www.cnblogs.com/beiluowuzheng/p/9738159.html 服务器中的数据库 Redis服务器将所有数据库都保存在服务器状态redis.h/redis ...

  6. nuxt.js如何实现同级目录下建多个动态路由,并将链接设置.html后缀

    nuxt.js中如果在同级目录中建两个_xxxx.vue的动态路由文件,那么页面跳转始终是跳的一个页面,如何解决这个问题呢?下面举个栗子: 第一步:新建两个页面文件 第二步:在nuxt.config. ...

  7. 详解分页组件中查count总记录优化

    1 背景 研究mybatis-plus(以下简称MBP),使用其分页功能时.发现了一个JsqlParserCountOptimize的分页优化处理类,官方对其未做详细介绍,网上也未找到分析该类逻辑的只 ...

  8. MVVM相关框架

    Caliburn.Micro PropertyChanged.Fody Prism MVVMLight (未完)

  9. 蓝桥杯vip 字符串对比

    蓝桥杯vip 字符串对比 题目如下 给定两个仅由大写字母或小写字母组成的字符串(长度介于1到10之间),它们之间的关系是以下4中情况之一: 1:两个字符串长度不等.比如 Beijing 和 Hebei ...

  10. Shell 截取字符串方法

    原文链接 方法1 "${varible##*string}" 从左向右截取最后一个string后的字符串 e.g. exampleString="abc//888//ab ...