python:url acl (preliminary study)

#!/usr/bin/python

import re

# ALLOW TEST
ACL_ALLOW_1 =[
  '.+'
]
ACL_ALLOW_2 =[
  '.*\/user.*'
]


# DENY TEST
ACL_DENY_1  =[
  '.+\/admin.*'
]
# TEST URL
URL =[
   'http://hoge.com/'
  ,'http://hoge.com/user'
  ,'http://hoge.com/admin'
]

CASE =[]

def init():
  global  CASE
  CASE=[
       (ACL_ALLOW_1,ACL_DENY_1,URL)
      ,(ACL_ALLOW_2,ACL_DENY_1,URL)
  ]
def is_authorized(u,allow,deny):
  ok=False
  for r in allow:
    if None != re.search(r,u):
      ok = True

  if ok == False:
    return False

  for r in deny:
    if None != re.search(r,u):
      return False

  return ok
def main():
  init()

  for t in CASE:
    print '------------------------'
    for u in t[2]:
      print u , is_authorized(u,t[0],t[1] )

if __name__ == '__main__':
  main()	

 

image

カテゴリー: 未分類 パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中