小编tdk*_*dkr的帖子

Heroku的环境变量是存储敏感数据的安全方法吗?

我使用Heroku部署Rails应用程序。我将敏感数据(例如API密钥和密码)存储在Heroku的环境变量中,然后在利用各种AP​​I的rake任务中使用这些数据。

我只是想知道Heroku的环境变量有多安全?有什么方法可以散列这些变量,同时保留以某种方式在后台使用它们的功能?

我在这里遇到了上一个线程:将密码作为环境变量(而不是纯文本)存储在配置文件中是否安全?

但是当我仍然需要散列密码来执行重要的后台任务时,它并不能完全涵盖实例。

ruby ruby-on-rails heroku

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

如何重构此代码以使其更简洁?

我正在使用Python从Google Analytics Core Reporting API中提取一些数据.我已经设法使用函数来对API进行不同的调用(下面只是两个例子)但是我想知道如何重构它以使其更短?还有很多重复的代码.

def get_pvs(service, profile_id, start_date, end_date, type, data):
    if type == "url":
        return service.data().ga().get(
            ids = 'ga:' + profile_id,
            start_date = start_date,
            end_date = end_date, 
            metrics = 'ga:pageviews', 
            dimensions = 'ga:pagePath',   
            filters = 'ga:pageviews!=0',
            sort = '-ga:pageviews',
            max_results = '10000').execute()
    elif type == "author":
        return service.data().ga().get(
            ids = 'ga:' + profile_id,
            start_date = start_date,
            end_date = end_date, 
            metrics = 'ga:pageviews', 
            # Post Author
            dimensions = 'ga:dimension2',
            sort = '-ga:pageviews',
            max_results = '100').execute()   
Run Code Online (Sandbox Code Playgroud)

python google-analytics google-analytics-api python-2.7

2
推荐指数
1
解决办法
85
查看次数

RailsAdmin配置中的重定向失败

如果用户不是管理员,我将RailsAdmin设置为重定向到主页.但是,重定向失败.这是我收到的错误消息:

ActionController::UrlGenerationError in RailsAdmin::MainController#dashboard
No route matches {:controller=>"home", :action=>"index"} missing required keys: []
Run Code Online (Sandbox Code Playgroud)

rails_admin.rb中的代码如下所示.在配置文件的顶部:

ADMIN_EMAILS= ['my@email.com']
Run Code Online (Sandbox Code Playgroud)

以下是限制访问管理员的其余代码:

  config.authorize_with do 
    is_admin = ADMIN_EMAILS.include?(current_user.email) 
    if current_user
      redirect_to root_path unless is_admin 
    end
  end
Run Code Online (Sandbox Code Playgroud)

这是完整的堆栈跟踪:

actionpack (4.0.0) lib/action_dispatch/journey/formatter.rb:35:in `generate'
actionpack (4.0.0) lib/action_dispatch/routing/route_set.rb:576:in `generate'
actionpack (4.0.0) lib/action_dispatch/routing/route_set.rb:606:in `generate'
actionpack (4.0.0) lib/action_dispatch/routing/route_set.rb:642:in `url_for'
actionpack (4.0.0) lib/action_dispatch/routing/url_for.rb:155:in `url_for'
actionpack (4.0.0) lib/action_dispatch/routing/route_set.rb:209:in `call'
actionpack (4.0.0) lib/action_dispatch/routing/route_set.rb:178:in `call'
actionpack (4.0.0) lib/action_dispatch/routing/route_set.rb:249:in `block (2 levels) in define_url_helper'
config/initializers/rails_admin.rb:17:in `block (2 levels) in <top (required)>'
rails_admin (0.6.1) app/controllers/rails_admin/application_controller.rb:47:in `instance_eval'
rails_admin (0.6.1) …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails devise

0
推荐指数
1
解决办法
806
查看次数