Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Use highline for secure data entry |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
04f262a3dffb0a5cb63792e009dcd298 |
User & Date: | atomicules 2015-07-21 08:51:48 |
Context
2015-07-21
| ||
09:26 | Report out available balance as well check-in: dae330504e user: atomicules tags: trunk | |
08:51 | Use highline for secure data entry check-in: 04f262a3df user: atomicules tags: trunk | |
2015-07-10
| ||
22:40 | Fixes as a result of merge check-in: 35fcf527ec user: atomicules tags: trunk | |
Changes
Changes to smile.rb.
1 2 3 4 5 6 7 8 9 10 | require 'optparse' require 'mechanize' require 'nokogiri' optparse = OptionParser.new do |opts| opts.on('-d', '--date DATE', "Date") { |d| Date_back = d } end optparse.parse! class Smile | > | 1 2 3 4 5 6 7 8 9 10 11 | require 'optparse' require 'mechanize' require 'nokogiri' require 'highline/import' optparse = OptionParser.new do |opts| opts.on('-d', '--date DATE', "Date") { |d| Date_back = d } end optparse.parse! class Smile |
︙ | ︙ | |||
27 28 29 30 31 32 33 | #All these private def logon_start page = @a.get("https://banking.smile.co.uk/SmileWeb/start.do") #Since dealing with sensitive logon data don't want to get it from anywhere apart from keyboard input #Sortcode and Account number login | | < < | < | < | < | | 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | #All these private def logon_start page = @a.get("https://banking.smile.co.uk/SmileWeb/start.do") #Since dealing with sensitive logon data don't want to get it from anywhere apart from keyboard input #Sortcode and Account number login sortCode = ask("Enter sortcode") { |a| a.echo = "*" } accountNumber = ask("Enter Account number") { |a| a.echo = "*" } page.form.sortCode = sortCode page.form.accountNumber = accountNumber page = page.form.submit end def logon_passcode #Requires page = logon_start #Passcode login doc = Nokogiri::HTML(page.body) page.form.firstPassCodeDigit = ask(doc.xpath("//label")[0].text) { |a| a.echo = "*" } page.form.secondPassCodeDigit = ask(doc.xpath("//label")[1].text) { |a| a.echo = "*" } page = page.form.submit end def logon_other #requires page = logon_passcode #Other logon details page.form.fields.each do |field| unless field.type == "hidden" field.value = ask(field.name) { |a| a.echo = "*" } end end page = page.form.submit end def logon_bulletin |
︙ | ︙ |