标签: whitelist

用设计白名单

我正在使用设计来管理我的rails应用程序中的用户身份验证.设计真的很棒.

但是我对我的应用程序有特殊要求:用户必须先列入白名单才能注册为用户.

因此,有一个管理员可以创建允许的电子邮件列表.用户使用电子邮件注册,如果电子邮件在白名单表中,则他将被注册.但是,如果邮件不在白名单中,则应使用"您尚未被邀请"之类的消息中止注册.

你知道如何用设计解决这个问题吗?

提前致谢.

authentication ruby-on-rails whitelist devise

7
推荐指数
2
解决办法
3384
查看次数

只允许某些IP地址使用mod_rewrite访问网站?

我们的网站上有一个目录,我们只想通过几个IP地址访问.所以我们有这个.htaccess文件来尝试让它工作:

RewriteEngine on
RewriteCond %(REMOTE_ADDR) !^123\.123\.123\.123
RewriteCond %(REMOTE_ADDR) !^124\.124\.124\.124
RewriteCond %{REMOTE_ADDR} !^125\.125\.125\.125
RewriteCond %{REMOTE_ADDR} !^126\.126\.126\.126
RewriteCond %{REMOTE_ADDR} !^127\.127\.127\.127
RewriteCond %{REMOTE_ADDR} !^128\.128\.128\.128

RewriteCond %{HTTP_REFERER} !^http://www\.example\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^http://example\.com/ [NC]

RewriteRule ^.*$ http://www.example.com [R=301,L]
Run Code Online (Sandbox Code Playgroud)

我们希望它做的是,如果请求不是来自我们的一个IP地址(显然在上面的代码中为了示例而改变它们),或者引用者不是来自特定站点,那么将它们重定向到其他地方.

出于一些奇怪的原因,它适用于处于该位置的IP 126.126.126.126,但不适用于其他IP .真的无法弄清楚为什么它会有所不同取决于IP.怎么可能出错?

我知道这会带来安全问题,因为引用者可能会被欺骗,但我们很快就会提出更好的解决方案,这只是一个临时措施.

ip mod-rewrite redirect block whitelist

7
推荐指数
1
解决办法
3万
查看次数

PHPUnit的白名单和黑名单似乎被忽略了

我在一个项目上设置PHPUnit,其结构如下:

- build
- src
    - service # PHP source code files here
- tests
    - php
        - unit # PHP unit tests here
            - bootstrap.php # PHP unit tests here
            - services
                - MyTest.php
                - ...
- vendor
Run Code Online (Sandbox Code Playgroud)

我创建了以下PHPUnit配置文件,该文件位于项目的根目录:

<phpunit
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/4.4/phpunit.xsd"
    bootstrap="tests/php/unit/bootstrap.php"
    verbose="true">

    <testsuites>
        <testsuite name="services">
            <directory>tests/php/unit/services</directory>
        </testsuite>
    </testsuites>

    <filter>
        <whitelist>
            <directory>src/service</directory>
        </whitelist>
    </filter>

    <logging>
        <log type="coverage-html" target="build/php/coverage"/>
        <log type="coverage-clover" target="build/php/coverage.xml"/>
        <log type="junit" target="build/php/test-results.xml"/>
    </logging>
</phpunit>
Run Code Online (Sandbox Code Playgroud)

我想使用白名单,以便PHPUnit不测试项目外的PHP文件,例如vendor目录中的那些......但是看一下代码覆盖率报告,似乎没有考虑白名单:

代码覆盖率

正如在捕获中所看到的那样tests,vendor被写为0%被覆盖,尽管它们不应被分析,因为它们不属于白名单.目录的"2%文件" src对应于我编写的唯一测试,因此代码覆盖率似乎正确.

如何才能src/service …

php phpunit whitelist

7
推荐指数
1
解决办法
7994
查看次数

如何动态更改Cordova白名单?

我们有一个应用程序,为客户端提供多个白标解决方案 - 这意味着它们在自己的域下托管.

我们有一个Cordova应用程序,我们希望用户可以使用此应用程序访问所有这些网站,我不希望每次签署新客户端时重新部署.

  • 有没有办法通过网址或其他东西加载白名单?这意味着我们可以通过我们的数据库动态添加域名.
  • 当您将所有网址列入白名单时,是否存在巨大的安全风险?

https://cordova.apache.org/docs/en/latest/guide/appdev/whitelist/

为了澄清,我希望有一个类似URL的东西,你可以指向它在启动时每次加载的白名单设置.

http://myexampledomain.com/whitelist.config

  <allow-navigation href="*.myexampledomain.com/*" />
  <allow-navigation href="*.subdomain.someclientdomain.com/*" />
  <allow-navigation href="*.subdomain.someclientdomainb.com/" />
  <allow-navigation href="*.subdomain.someclientdomainc.com/" />
Run Code Online (Sandbox Code Playgroud)

...此文件将在启动时自动加载.

创建一个基于JS的插件

如果不是当前的解决方案,是有可能做到这一点安全通过创建(基于JavaScript)科尔多瓦插件?就像我们尝试加载的URL在白名单之外时手动重定向一样?

这意味着我们将Cordova列入白名单并使用我们自己的插件来阻止我们自己的白名单之外的所有内容.

(我知道当我们的数据库被泄露时这不安全,但在这种情况下,我们一般会遇到更大的问题.我们的应用程序是为了好玩而不依赖于关键功能)

dynamic whitelist white-labelling cordova

7
推荐指数
1
解决办法
731
查看次数

6
推荐指数
1
解决办法
3万
查看次数

导出APK后,Phonegap/Cordova白名单跨域SSL请求无效

我创建了一个需要与自签名SSL服务进行通信的phonegap应用程序.

我在res/xml/cordova.xml中将我的URL列入白名单,如下所示:

<access origin="https://www.mydomain.com" subdomains="true" />

当我从eclipse运行和构建时,这工作正常,但如果我然后导出并签署我的应用程序并手动安装APK,那么该应用程序无法与我的Web服务进行通信.

与服务器的通信使用Sencha Touch库进行,如下所示:

Ext.Ajax.request({
        url: 'https://www.mydomain.com',
        method: 'get',          
        success: function(result) {                 
        },
        failure: function(result) {         
        }           
    }); 
Run Code Online (Sandbox Code Playgroud)

任何帮助非常感谢

https android whitelist cordova

6
推荐指数
1
解决办法
8637
查看次数

限制java只执行签名的jar?

Java jar 可以使用 JDK jarsigner 工具进行签名。这与策略工具结合使用,似乎只允许您在运行时向 jar 添加权限。我想要一个默认的“撤销运行访问权限”。是否有可能让java以这样的方式进行白名单,只允许运行由一组特定证书签名的jar文件?

java security code-signing whitelist jar-signing

6
推荐指数
1
解决办法
6112
查看次数

ipSecurity - 如何添加 IP 地址范围

我们需要将来自 WAF 的 IP 地址范围列入白名单,如下所示:

199.83.128.0/21
198.143.32.0/19
149.126.72.0/21
103.28.248.0/22
 45.64.64.0/22
185.11.124.0/22 
192.230.64.0/18
Run Code Online (Sandbox Code Playgroud)

更多详情:

https://incapsula.zendesk.com/hc/en-us/articles/200627570-Restricting-direct-access-to-your-website-Incapsula-s-IP-addresses-

我正在使用 .net ipSecurity部分。但是还没有找到如何添加上述 ip 地址而不必添加所有 ip 地址的示例。

例如

<ipSecurity allowUnlisted="false">
        <!-- this line blocks everybody, except those listed below -->
        <clear/>

        <add ipAddress="xx.xx.xx.xx" allowed="true"/>
      </ipSecurity>
Run Code Online (Sandbox Code Playgroud)

我是子网掩码的新手。

有没有一种优雅的方法来实现这一点?

security asp.net-mvc web-config whitelist cidr

6
推荐指数
1
解决办法
2301
查看次数

MS Azure应用服务出站IP地址多久可以更改一次?

我正在使用Azure App Services调用外部API,该API使用白名单IP地址进行深度防御保护.

我知道我可以在WebApp - >设置 - >属性 - >出站IP地址(显示4个逗号分隔的IP地址的列表)下找到我的应用服务的出站IP地址,该地址可以提供给外部API白名单.据我所知,Microsoft发布了一个定期更新的Azure数据中心IP地址列表,用于我可以列入白名单的出站流量:https://www.microsoft.com/en-us/download/details.aspx? id = 41653

问题是外部API只能处理多个IP地址,而不能处理Azure数据中心IP的完整列表.仅提供4个逗号分隔的IP地址是否安全?有关IP地址动态更改频率或时间的明确Microsoft文档吗?

我试图寻找答案,发现两个外部网站建议它只在移动Azure区域时改变[参考文献2]或者如果你向上/向下扩展(但是缩小/缩小显然很好)[参考文献1].这是正确的信息吗?

在我的情况下,Azure应用服务环境是唯一可行的替代方案吗?

ip whitelist azure outbound azure-web-app-service

6
推荐指数
2
解决办法
2969
查看次数

Rails 5.1 - 允许JSON参数,但仍然在日志中打印为未允许

在Rails 4中,这是关于如何做到这一点的问题.我想知道的是,虽然这有效,但为什么日志还在抱怨?

在Rails 5.1.3中,我有一个JSON列(letterhead)作为我的模型属性之一(并且里面的json是一个具有各种属性的哈希,我不关心白名单).我只是想让列本身允许/列入白名单.

关于Rails的注意事项5.1.4

在5.1.4中有一种Rails方法可以做到这一点,请参阅此提交.有一个相当长的讨论在这里关于这个github上.在Rails 5.1.4中,它只是这样:

def account_params
  params.require(:account).permit(:id, :name, :plan_id, letterhead: {})
end
Run Code Online (Sandbox Code Playgroud)

:letterhead允许该参数,日志中不显示错误,模型保存.但显然它允许在该参数内任意输入,因此请小心使用.

如果您确实想限制在这样的参数中允许哪些哈希键,那么您也可以将这些哈希值列入白名单,例如:

def account_params
  params.require(:account).permit(:id, :name, :plan_id, letterhead: [:address, :logo, :contact_info])
end
Run Code Online (Sandbox Code Playgroud)

这现在可以防止任何其他任意键,:letterhead因为我明确地只允许这些3 -:address, :logo, :contact_info

Rails 5.1.3(及更早版本)

我可以使用以下任一方式允许此列(有关其他可能选项,请参阅链接的讨论):

选项1

def account_params
  params.require(:account).permit(:id, :name, :plan_id, :letterhead).tap do |whitelisted|
    whitelisted[:letterhead] = params[:account].fetch(:letterhead, ActionController::Parameters.new).permit!
  end
end
Run Code Online (Sandbox Code Playgroud)

选项2

def account_params
  params.require(:account).permit(:id, :name, :plan_id, :letterhead).tap do |whitelisted|
    whitelisted[:letterhead] = params[:account][:letterhead].permit!
  end
end …
Run Code Online (Sandbox Code Playgroud)

parameters json ruby-on-rails whitelist

6
推荐指数
1
解决办法
570
查看次数