Check out these https://portswigger.net/web-security/cross-site-scripting/cheat-sheet
This is a regular paragraph.
<script>alert('xss');</script>
This is another regular paragraph.
hello <a href="www.google.com">*you*</a>
| # FOR BUSY JOBS | |
| # take the process_id from the /busy page in sidekiq and kill the longest running one. | |
| workers = Sidekiq::Workers.new | |
| long_process_id = 'integration.3:4:71111aaa111' # Eg: 'integration.3:4:71d1d7f4ef5a' | |
| workers.each do |process_id, thread_id, work| | |
| process = Sidekiq::Process.new('identity' => process_id) | |
| process.stop! if process_id == long_process_id | |
| end | |
| # FOR SCHEDULED JOBS |
Check out these https://portswigger.net/web-security/cross-site-scripting/cheat-sheet
This is a regular paragraph.
<script>alert('xss');</script>
This is another regular paragraph.
hello <a href="www.google.com">*you*</a>
I hereby claim:
To claim this, I am signing this object:
| # use this file in the rails app root directory and run it with | |
| # ruby precompile_assets.rb to see if there is any error in your | |
| # js file assets by using Uglifier. This would save you from running | |
| # rake assets:precompile and using production as env var. | |
| require './config/environment' | |
| JS_PATH = 'app/assets/javascripts/**/*.js'.freeze | |
| Dir[JS_PATH].each do |file_name| | |
| puts "\n#{file_name}" | |
| puts Uglifier.compile(File.read(file_name)) |
| it 'tracks and event', verify_partial_doubles: false do | |
| expect_any_instance_of(Analytics).to receive(:track) do |_o, options| | |
| expect(options).to include(event: 'invited user') | |
| expect(options[:properties]).to include(organization: organization.name) | |
| end | |
| post_with owner, :create_invites, params | |
| end |
The solution for the above problem is to have a different gemfile that you run your rails app against. It can be easily done by adding some terminal aliases to use a different gemfile file. I made that in the current configuration and it works well.
| # Some interesting python script: | |
| # https://raw.githubusercontent.com/adafruit/PiTFT_Extras/master/pitft_touch_cal.py | |
| # > sudo add-apt-repository ppa:tias/xinput-calibrator-ppa | |
| > sudo apt-get update && sudo apt-get install xinput-calibrator | |
| > apt-get install xinput | |
| > export DISPLAY=:0.0 | |
| > xinput list-props "EloTouchSystems,Inc Elo TouchSystems 2216 AccuTouch® USB Touchmonitor Interface" | |
| > xinput set-prop "EloTouchSystems,Inc Elo TouchSystems 2216 AccuTouch® USB Touchmonitor Interface" "Evdev Axis Inversion" 0 1 | |
| # here touch the points on the screen in the corners | |
| > xinput_calibrator --output-type xinput |
| namespace :searchkick do | |
| desc "maybe reindex without running out of memory?" | |
| task :altindex, [:start_index, :batch_size, :new_index_name] => :environment do |t, args| | |
| ActiveRecord::Base.logger = Logger.new(STDOUT) | |
| count = Item.count | |
| start = args[:start_index].to_i || 0 | |
| batch_size = args[:batch_size].to_i || 1000 | |
| # we create a new index or take one already present | |
| if args[:new_index_name] |
| # Taken from a rails app using mongoid and activrecord at the same time. | |
| def transfer_mongo_to_sql(collection_name, fields=[]) | |
| ic = Mongoid.default_session.collections.select { |c| c.name==collection_name }.first | |
| total_items = ic.find.count | |
| per_batch = 1000 | |
| 0.step(total_items, per_batch) do |offset| | |
| to_fields = fields.map { |c| c[:to_name] }.join(', ') | |
| insert_raw_sql = "INSERT INTO #{collection_name} (#{to_fields}) VALUES " | |
| before = Time.now |
| @app = angular.module 'myApp', [] | |
| @app.filter "nrFormat", -> | |
| (number) -> | |
| if number!=undefined | |
| console.log number | |
| abs = Math.abs(number) | |
| if abs >= Math.pow(10, 12) | |
| # trillion | |
| number = (number / Math.pow(10, 12)).toFixed(1)+"t" | |
| else if abs < Math.pow(10, 12) and abs >= Math.pow(10, 9) |