Hello Duc,
you need to move to a multi area OSPF design to be able to implement route filtering.
Given the link state nature of OSPF distribute-list doesn't change the OSPF database contents but only the capability of the local node to install the route in the routing table.
At area border an ABR can filter routes using
router ospf 10
area x filter-list out
only prefixes permitted by prefix-list are sent into area 0 if x is a non-zero area
Hope to help
Giuseppe