Rails 3 提供了 match 方法供我们自定义 routes,然而我们要小心使用它以避免“跨站脚本攻击”(XSS Attack)。比如像这样的 routes:
注:(r3 代表 Rails 3,r4 代表 Rails 4)
# routes.rb| ; Comments start with semicolons. | |
| ; Clojure is written in "forms", which are just | |
| ; lists of things inside parentheses, separated by whitespace. | |
| ; | |
| ; The clojure reader assumes that the first thing is a | |
| ; function or macro to call, and the rest are arguments. | |
| ; | |
| ; Here's a function that sets the current namespace: | |
| (ns test) |
| class Dragon; end | |
| # 使用 def 定義 class method | |
| Dragon.instance_eval do | |
| def foo | |
| puts "bar" | |
| end | |
| end | |
| Dragon.foo # bar |
In August 2007 a hacker found a way to expose the PHP source code on facebook.com. He retrieved two files and then emailed them to me, and I wrote about the issue:
http://techcrunch.com/2007/08/11/facebook-source-code-leaked/
It became a big deal:
http://www.techmeme.com/070812/p1#a070812p1
The two files are index.php (the homepage) and search.php (the search page)
| class ApplicationController < ActionController::Base | |
| ... | |
| #Problem: | |
| #In rails 3.0.1+ it is no longer possible to do this anymore; | |
| # rescue_from ActionController::RoutingError, :with => :render_not_found | |
| # | |
| #The ActionController::RoutingError thrown is not caught by rescue_from. | |
| #The alternative is to to set a catch-all route to catch all unmatched routes and send them to a method which renders an error | |
| #As in http://techoctave.com/c7/posts/36-rails-3-0-rescue-from-routing-error-solution |
| ### Install OpenJDK | |
| cd ~ | |
| sudo apt-get update | |
| sudo apt-get install openjdk-7-jre-headless -y | |
| ### Download and Install ElasticSearch | |
| ### Check http://www.elasticsearch.org/download/ for latest version of ElasticSearch and replace wget link below | |
| wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.3.1.deb | |
| sudo dpkg -i elasticsearch-1.3.1.deb |
| 1xx Informational | |
| 100 Continue :continue | |
| 101 Switching Protocols :switching_protocols | |
| 102 Processing :processing | |
| 2xx Success | |
| 200 OK :ok |