2012-12-26 11 views
6

सत्यापित नहीं कर सकता, मैं इस का समाधान कैसे इसरेल 3: जब मैं अपने बाकी क्लाइंट के माध्यम से डेटा पोस्ट करने की कोशिश CSRF टोकन प्रामाणिकता

Warning :Can't verify CSRF token authenticity. 

समान एक चेतावनी हो रही है।

+0

कि याद एक नज़र में: http://stackoverflow.com/questions/7203304/warning -कंट-सत्यापित-सीएसआरएफ-टोकन-प्रामाणिकता-रेल – Chetane

उत्तर

7

मुझे विश्वास है कि आप से POST बनाने का प्रयास कर रहे हैं। डिफ़ॉल्ट रूप से linksPOST अनुरोध नहीं करना चाहिए, केवल GET वाले। तो जब आप अपने सर्वर से कनेक्शन बनाने का प्रयास करते हैं, तो Rails आपको इसके बारे में चेतावनी देता है।
इस तरह के व्यवहार को बाईपास करने का एक तरीका है link का उपयोग करने के बजाय, form का उपयोग करें। तो आप सर्वर पर उचित POST अनुरोध कर सकते हैं।
वैकल्पिक रूप से, आप protect_from_forgery लाइन को अपने application_controller से हटा सकते हैं, इसलिए Rails इस तरह के सत्यापन नहीं करता है, लेकिन इसकी अत्यधिक अनुशंसा नहीं की जाती है।

1

आप ऐसा कर सकता है, (लेकिन नहीं की सिफारिश की :)), जालसाजी संरक्षण को छोड़

उदाहरण के लिए: आप => कार्रवाई

class PostsController < ApplicationController 

    before_filter :protect_from_forgery, :except => [:create] 

    def create 
     #your method 
    end 
end 

बनाएं PostController करने के लिए डेटा पोस्ट कर रहे हैं लेकिन कहा कि, मैं होने मीटर यकीन है कि वहाँ क्या आप क्या करना चाहते करने के लिए एक बेहतर तरीका हो सकता है, इसलिए यदि आप समझा सकता है कि आप क्या करना चाहते हैं, किसी की मदद कर सकता है

HTH

+0

मैंने इसे ऊपर उठाया क्योंकि मैं जानना चाहता था कि इस चेतावनी को कैसे संभालना है, क्योंकि मैं इसे छोड़ना नहीं चाहता था। फर्जी सुरक्षा मत छोड़ो! – Ziggy

0

nop

मैं अपने application.js

//= require jquery_ujs 

मैं इसे और उसके काम करने की जगह में निम्नलिखित पंक्ति ..

संबंधित मुद्दे