小编Chr*_*ris的帖子

C# 的替代加密安全伪随机数生成器

在所有这些 NSA 的东西之后,我只是想知道是否有人知道 .NET 中 System.Security.Cryptography.RNGCryptoServiceProvider() 的替代方案 - 也许是一个开源解决方案?

我试图寻找它,但并没有真正成功,所以我希望社区中的任何人都有一个想法?

谢谢

c# cryptography prng

5
推荐指数
1
解决办法
2806
查看次数

在CherryPy中停止请求处理并从工具返回200响应

我的问题

我正在寻找一种方法来停止工具中的请求处理,而不会引发异常.换句话说:我想停止请求它到达指定的控制器并返回2xx状态代码?

背景

我们希望我们的应用程序支持CORS,因此支持预检请求.想法是写一个挂钩的工具before_handler.如果发出OPTIONS请求,则返回相关的CORS标头并退出.

问题是,我没有找到办法阻止执行流程.这意味着将处理原始URL,如果正常请求将处理.关键是:这可能会导致安全问题,因为始终会进行预检请求.这是我到目前为止:

class CORSTool(cherrypy.Tool):
    def __init__(self):
        cherrypy.Tool.__init__(self, 'before_handler', self.insert_cors_header, priority=40)
        cherrypy.request.hooks.attach('before_handler', self.insert_cors_header, priority=40)

    def _setup(self):
        cherrypy.Tool._setup(self)

    def insert_cors_header(self):
        """
        Inserts the relevant CORS-Headers:
        - Access-Control-Allow-Origin: <from-config>
        - Access-Control-Allow-Methods: POST, GET, OPTIONS
        - Access-Control-Max-Age: 86400
        """
        if cherrypy.config.get('enable_cors') is True:
            if cherrypy.request.method.upper() == "OPTIONS":
                cherrypy.response.headers['Access-Control-Allow-Origin'] = cherrypy.config.get('cors_domains')
                cherrypy.response.headers['Access-Control-Allow-Methods'] = 'POST, GET, OPTIONS'
                cherrypy.response.headers['Access-Control-Max-Age'] = '86400'

                # Stop execution
                cherrypy.response.body = None
                cherrypy.response.status = 200
                cherrypy.response.finalize()

                # And NOW stop doing anything else...
Run Code Online (Sandbox Code Playgroud)

替代品可能无效

我知道有一个cherrypy-cors插件,但从源头上我看不出这是如何阻止执行的. …

python cherrypy cors

5
推荐指数
1
解决办法
693
查看次数

Django:与= =单独模型的多对多关系

我只是想知道为什么你需要使用通过的多对多关系,如果你只是可以使用一个单独的模型?

例如:

class Test(models.Model):
    name = models.CharField(max_length=100)
    description = models.TextField()

class Indicator(models.Model):
    name = models.CharField(max_length=100)
    target_value = models.IntegerField()

class TestResult(models.Model):
    test = models.ForeignKey(Test)
    indicator = models.ForeignKey(Indicator)
    actual_value = models.IntegerField()
    timestamp = models.DateTimeField(auto_now_add=True)
Run Code Online (Sandbox Code Playgroud)

我为什么要定义多对多关系?谢谢

django django-models django-orm

4
推荐指数
1
解决办法
440
查看次数

标签 统计

c# ×1

cherrypy ×1

cors ×1

cryptography ×1

django ×1

django-models ×1

django-orm ×1

prng ×1

python ×1