0
我有以下代碼,其中創建了一個對象(rmodal
)。如何以安全的方式使用多態關聯
即類與其他一些類(cmodal
,umodal
,ccmodal
,pmodal
,emodal
)
的rmodal
創建具有帶有隱藏字段,其包括其類型(cmodal
,umodal
的形式的多態關聯等)及其ID(r_id
)
以下代碼是否被充分保護?司閘員目前指出,這條線可能會導致遠程代碼exectuion
@r_type = params[:r].delete :r_type
if (%w(cmodal umodal ccmodal pmodal emodal).include? @r_type)
@rmodal = @r_type.classify.constantize.find(@r_id) rescue nil
我猜測,既然我檢查r_type
是,它是精細可以接受的選擇之一。
這是正確的方式來做到這一點,它足夠安全嗎?