Verify the Facebook parameter signature
These 10 lines of Ruby (on Rails) will verify the integrity of a Facebook canvas page request.
require "md5"
before_filter :verify_fb_signature
def verify_fb_signature
teststr = params.collect do |k,v|
next unless k[0..6] == "fb_sig_"
"#\{k[7..-1]\}=#\{v\}"
end
teststr = teststr.compact.sort.join("")
if MD5::md5(teststr+ MY_APP_SECRET).to_s != params[:fb_sig]
#there is something wrong in paradise...
end
end