Class: AdsenseCrawlerForPrivate::AdsenseCrawlerLoginController

Inherits:
ApplicationController
  • Object
show all
Defined in:
app/controllers/adsense_crawler_for_private/adsense_crawler_login_controller.rb

Instance Method Summary collapse

Instance Method Details

#loginObject



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'app/controllers/adsense_crawler_for_private/adsense_crawler_login_controller.rb', line 7

def 
  unless AdsenseCrawlerForPrivate.crawler_password.blank?

    crawler_name = params[:name]
    crawler_password = params[:password]

    if (AdsenseCrawlerForPrivate.ip_check(request) and
        crawler_name == AdsenseCrawlerForPrivate.crawler_name and
        crawler_password == AdsenseCrawlerForPrivate.crawler_password)

      cookies.signed[AdsenseCrawlerForPrivate.cookie_name] = AdsenseCrawlerForPrivate.cookie_hash(crawler_name, crawler_password, request.remote_ip)

      AdsenseCrawlerForPrivate.logger.warn "login successfully. Crawler_name: #{crawler_name}, crawler_ip: #{request.remote_ip}"

      render :plain => 'crawler login ok', :status => 200
    else
      cookies.delete(AdsenseCrawlerForPrivate.cookie_name, :domain => AdsenseCrawlerForPrivate.cookie_domain)

      AdsenseCrawlerForPrivate.logger.warn "login unsuccessful. Crawler_name: #{crawler_name}, crawler_password: #{crawler_password}, crawler_ip: #{request.remote_ip}"

      render :plain => 'crawler login unsuccessful', :status => 401 # 401 unauthorized
    end

  else
    str = "AdsenseCrawlerForPrivate not configured, no password given."
    AdsenseCrawlerForPrivate.logger.warn(str)
    render :plain => str, :status => 401
  end

end