Do I need to use strong params if action doesn't affect models?2019 Community Moderator Electionassociation in rails 3 associate 1 survey to 1 userStrong Params and MassAssignmentSecurity ErrorsHow can I get this unit test on mass-assignment to fail? (railstutorial.org Exercise 9.6.1)rspec testing strong params and building a modelStrong params and action mailer issuesStruggling with strong param conflictStrong Params in Rails modelBinding custom params to strong paramsTypeahead.js to search through Users with Ruby on Railsstrong params issue with attr_accessor

Hacking a Safe Lock after 3 tries

If I can solve Sudoku can I solve Travelling Salesman Problem(TSP)? If yes, how?

Define, (actually define) the "stability" and "energy" of a compound

Look at your watch and tell me what time is it. vs Look at your watch and tell me what time it is

Are there verbs that are neither telic, or atelic?

Does Mathematica reuse previous computations?

Why is the President allowed to veto a cancellation of emergency powers?

Welcoming 2019 Pi day: How to draw the letter π?

How to simplify this time periods definition interface?

Is it true that good novels will automatically sell themselves on Amazon (and so on) and there is no need for one to waste time promoting?

Interplanetary conflict, some disease destroys the ability to understand or appreciate music

how to draw discrete time diagram in tikz

An inequality of matrix norm

How to create the Curved texte?

What are substitutions for coconut in curry?

Property of summation

Are ETF trackers fundamentally better than individual stocks?

Sailing the cryptic seas

In a future war, an old lady is trying to raise a boy but one of the weapons has made everyone deaf

A link redirect to http instead of https: how critical is it?

What's the meaning of “spike” in the context of “adrenaline spike”?

How difficult is it to simply disable/disengage the MCAS on Boeing 737 Max 8 & 9 Aircraft?

What approach do we need to follow for projects without a test environment?

Recruiter wants very extensive technical details about all of my previous work



Do I need to use strong params if action doesn't affect models?



2019 Community Moderator Electionassociation in rails 3 associate 1 survey to 1 userStrong Params and MassAssignmentSecurity ErrorsHow can I get this unit test on mass-assignment to fail? (railstutorial.org Exercise 9.6.1)rspec testing strong params and building a modelStrong params and action mailer issuesStruggling with strong param conflictStrong Params in Rails modelBinding custom params to strong paramsTypeahead.js to search through Users with Ruby on Railsstrong params issue with attr_accessor










0















I'm 80% sure the answer is "no", but I need affirmation.



Case scenario



For controller looking like this:



class CatController < ApplicationController
def search_cats
render json: HTTPClient.new.get('https://api.example.com', search_cats_params)
end

private

def search_cats_params
params.permit(:breed, :ownership, :vaccination, foo: [ :bar, :baz ])
end
end


Would it be safe to just pass the params forward like this?



class CatController < ApplicationController
def search_cats
render json: HTTPClient.new.get('https://api.example.com', params.to_h)
end
end


Wouldn't user be able to flood server with enormous query, for example?



Documentation only says strong params exist to protect models from malicious mass assignment.



https://edgeapi.rubyonrails.org/classes/ActionController/StrongParameters.html










share|improve this question

















  • 1





    IMO it would still be best to limit what is sent to a third party API, especially if you pay to use the API or the API has any kind of acceptable use policy. Passing params straight through could result in you being banned from the API because you have 1 malicious user that ruins it for you and everyone else.

    – engineersmnky
    Mar 7 at 14:34












  • internet is scary place i always prefer to use strong params in my controllers.

    – user3775217
    Mar 8 at 10:16















0















I'm 80% sure the answer is "no", but I need affirmation.



Case scenario



For controller looking like this:



class CatController < ApplicationController
def search_cats
render json: HTTPClient.new.get('https://api.example.com', search_cats_params)
end

private

def search_cats_params
params.permit(:breed, :ownership, :vaccination, foo: [ :bar, :baz ])
end
end


Would it be safe to just pass the params forward like this?



class CatController < ApplicationController
def search_cats
render json: HTTPClient.new.get('https://api.example.com', params.to_h)
end
end


Wouldn't user be able to flood server with enormous query, for example?



Documentation only says strong params exist to protect models from malicious mass assignment.



https://edgeapi.rubyonrails.org/classes/ActionController/StrongParameters.html










share|improve this question

















  • 1





    IMO it would still be best to limit what is sent to a third party API, especially if you pay to use the API or the API has any kind of acceptable use policy. Passing params straight through could result in you being banned from the API because you have 1 malicious user that ruins it for you and everyone else.

    – engineersmnky
    Mar 7 at 14:34












  • internet is scary place i always prefer to use strong params in my controllers.

    – user3775217
    Mar 8 at 10:16













0












0








0








I'm 80% sure the answer is "no", but I need affirmation.



Case scenario



For controller looking like this:



class CatController < ApplicationController
def search_cats
render json: HTTPClient.new.get('https://api.example.com', search_cats_params)
end

private

def search_cats_params
params.permit(:breed, :ownership, :vaccination, foo: [ :bar, :baz ])
end
end


Would it be safe to just pass the params forward like this?



class CatController < ApplicationController
def search_cats
render json: HTTPClient.new.get('https://api.example.com', params.to_h)
end
end


Wouldn't user be able to flood server with enormous query, for example?



Documentation only says strong params exist to protect models from malicious mass assignment.



https://edgeapi.rubyonrails.org/classes/ActionController/StrongParameters.html










share|improve this question














I'm 80% sure the answer is "no", but I need affirmation.



Case scenario



For controller looking like this:



class CatController < ApplicationController
def search_cats
render json: HTTPClient.new.get('https://api.example.com', search_cats_params)
end

private

def search_cats_params
params.permit(:breed, :ownership, :vaccination, foo: [ :bar, :baz ])
end
end


Would it be safe to just pass the params forward like this?



class CatController < ApplicationController
def search_cats
render json: HTTPClient.new.get('https://api.example.com', params.to_h)
end
end


Wouldn't user be able to flood server with enormous query, for example?



Documentation only says strong params exist to protect models from malicious mass assignment.



https://edgeapi.rubyonrails.org/classes/ActionController/StrongParameters.html







ruby-on-rails






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Mar 7 at 14:04









Steve RedkaSteve Redka

34




34







  • 1





    IMO it would still be best to limit what is sent to a third party API, especially if you pay to use the API or the API has any kind of acceptable use policy. Passing params straight through could result in you being banned from the API because you have 1 malicious user that ruins it for you and everyone else.

    – engineersmnky
    Mar 7 at 14:34












  • internet is scary place i always prefer to use strong params in my controllers.

    – user3775217
    Mar 8 at 10:16












  • 1





    IMO it would still be best to limit what is sent to a third party API, especially if you pay to use the API or the API has any kind of acceptable use policy. Passing params straight through could result in you being banned from the API because you have 1 malicious user that ruins it for you and everyone else.

    – engineersmnky
    Mar 7 at 14:34












  • internet is scary place i always prefer to use strong params in my controllers.

    – user3775217
    Mar 8 at 10:16







1




1





IMO it would still be best to limit what is sent to a third party API, especially if you pay to use the API or the API has any kind of acceptable use policy. Passing params straight through could result in you being banned from the API because you have 1 malicious user that ruins it for you and everyone else.

– engineersmnky
Mar 7 at 14:34






IMO it would still be best to limit what is sent to a third party API, especially if you pay to use the API or the API has any kind of acceptable use policy. Passing params straight through could result in you being banned from the API because you have 1 malicious user that ruins it for you and everyone else.

– engineersmnky
Mar 7 at 14:34














internet is scary place i always prefer to use strong params in my controllers.

– user3775217
Mar 8 at 10:16





internet is scary place i always prefer to use strong params in my controllers.

– user3775217
Mar 8 at 10:16












0






active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");

StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55045686%2fdo-i-need-to-use-strong-params-if-action-doesnt-affect-models%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes















draft saved

draft discarded
















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55045686%2fdo-i-need-to-use-strong-params-if-action-doesnt-affect-models%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

How to get text form Clipboard with JavaScript in Firefox 56?How to validate an email address in JavaScript?How do JavaScript closures work?How do I remove a property from a JavaScript object?How do you get a timestamp in JavaScript?How do I copy to the clipboard in JavaScript?How do I include a JavaScript file in another JavaScript file?Get the current URL with JavaScript?How to replace all occurrences of a string in JavaScriptHow to check whether a string contains a substring in JavaScript?How do I remove a particular element from an array in JavaScript?

Can't initialize raids on a new ASUS Prime B360M-A motherboard2019 Community Moderator ElectionSimilar to RAID config yet more like mirroring solution?Can't get motherboard serial numberWhy does the BIOS entry point start with a WBINVD instruction?UEFI performance Asus Maximus V Extreme

List of MPs elected to the English parliament in 1640 (April) Contents List of constituencies and members See also Notes References Navigation menueNational Archives – The Glynde Place ArchivesCobbett's Parliamentary history of England, from the Norman Conquest in 1066 to the year 1803'Aldermen in Parliament', The Aldermen of the City of London: Temp. Henry III – 1912onepage&q&f&#61, false 229