[Catalyst] JSONP support Catalyst::Controller::DBIC::API

Hartmaier Alexander alexander.hartmaier at t-systems.at
Tue Mar 14 16:48:41 GMT 2017


Looks like a code injection attack vector to me...

Patch + Tests for DBIC::API welcome!


On 2017-03-09 11:05, Rajesh Kumar Mallah wrote:
>
>
>
> For the time being i have modified and solved my issue as below:
>
> sub end : Private {
>       my ( $self, $c ) = @_;
>
>       ##
>       # code for manipulating stash here
>       ##
>
>       $c->forward('serialize');
>
>       my $cb = $c->request->params->{callback} ;
>
>       if ($cb) {
>       my $body = \$c->res->body;
>       $$body = "$cb ($$body);";
>       $c->res->body($$body);
>       }
>
> }
>
>
> regds
> mallah.
>
>
>> Hi ,
>>
>> How to get JSON response body wrapped in a callback function
>> call (a.k.a JSONP) when using Catalyst::Controller::DBIC::API::REST
>>
>> I use Catalyst::Controller::DBIC::API and 'end' function
>> in ControllerBase is like below:
>>
>> sub end : Private {
>>      my ( $self, $c ) = @_;
>>
>>      ##
>>       # code for manipulating stash here
>>      ##
>>
>>      $c->forward('serialize');
>> }
>>
>> =============================================
>> In   Catalyst/Controller/DBIC/API.pm
>>
>> # from Catalyst::Action::Serialize
>> sub serialize : ActionClass('Serialize') { }
>>
>> =============================================
>>
>>
>> My other JSON responses which are rendered via MyApp::View::JSON
>> can be modified as JSONP compatible as i have below in my App config
>>
>> __PACKAGE__->config({
>>        'View::JSON' => {
>>            allow_callback  => 1,    # defaults to 0
>>        },
>> });
>>
>>
>> ===============================================
>>
>>
>> The problem is only with automatically generated rest endpoints
>> from  Catalyst::Controller::DBIC::API.
>>
>> Thanks in anticipation.
>>
>>
>> Regds
>> mallah.
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>
>
>
>
> _______________________________________________
> List: Catalyst at lists.scsys.co.uk
> Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
> Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
> Dev site: http://dev.catalyst.perl.org/



*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*
T-Systems Austria GesmbH Rennweg 97-99, 1030 Wien
Handelsgericht Wien, FN 79340b
*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*
Notice: This e-mail contains information that is confidential and may be privileged.
If you are not the intended recipient, please notify the sender and then
delete this e-mail immediately.
*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*



More information about the Catalyst mailing list