Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

Re: Format script output to jQuery ajax call

by Your Mother (Archbishop)
on Mar 11, 2016 at 13:12 UTC ( [id://1157429]=note: print w/replies, xml ) Need Help??


in reply to Format script out in JSON for webpage

All right, I read your OP this time. :P Your original code is not quite right. You've probably adjusted it to work on your box but what you posted is both broken and dangerous if not fixed properly. Always use strict.

You get $string from the CGI parameters but then use $domain in the dig call. You also pass user input directly to the shell with the backticks (``). This is about as serious a security mistake as there is. Also, there is no JSON in your code or implied in your jQuery code, so drop the use statement.

Adjusted, and simplified a little for ease of testing, with non-OO CGI and shell quoting capture of the command. You will probably have to install Capture::Tiny but it may be the easiest way to make the call to dig safe from exploits.

#!/usr/bin/env perl use strict; use warnings; use CGI ":standard"; use Capture::Tiny "capture_merged"; my $domain = param("s") || "example.org"; my $dig = capture_merged { system "dig", $domain }; print header(), escapeHTML($dig);

Your display problem has two possible solutions. Either fix the style of the #result div or jQ =~ s/text/html/

<div id="result" style="white-space:pre"></div>
# CGI change print header(), pre(escapeHTML($dig)); # plus JS change $("#result").html(res);

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1157429]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others chanting in the Monastery: (3)
As of 2024-04-24 18:52 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found