Skip to content

CURL GET

Solved General
2 1 719
  • hello I would like to send data to a server via get via curl and have the response output to me.

    No problem by post, but it doesn’t really work with get. Does somebody has any idea?

    // My url
    $url = "https://mydomain/index.php?packageID=".$response['packageID']."&weight=".$response['weight']."&length=".$response['length']."&width=".$response['width']."&height=".$response['height']."";
    
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_HEADER, true); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    $data = curl_exec($ch);
    
    curl_close($ch);
    
    
    print($data);
    

    I would have to get this back as a response

    {"packageId":"RT000000001AT","sortPath":""}
    
  • is working

    $curl = curl_init($url);
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    
    //for debug only!
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
    
    $resp = curl_exec($curl);
    curl_close($curl);
    
    
    print($resp);
    
  • RiekMediaundefined RiekMedia marked this topic as a question on
  • RiekMediaundefined RiekMedia has marked this topic as solved on

Did this solution help you?
Did you find the suggested solution useful? Support 💗 Sudonix with a coffee
If your organisation needs deeper expertise around infrastructure, security, or technology leadership, learn more about Phenomlab Ltd. Many of the deeper technical guides behind Sudonix are published there.

Related Topics
  • 7 Votes
    6 Posts
    142 Views
    I have an update regarding this. They both said that they are getting used to navigating Fedora and that it is working great for them so far. They said there is still a bit of a learning curve they are going through but overall happy.
  • 3 Votes
    7 Posts
    1k Views
    @phenomlab I will have to test this out in my virtual environment. I have an Arch KDE Plasma install in virtualbox that I am testing a bunch of things out before I actually wipe the hard drive and install linux. I am currently in the process of copying my Arch test web server over to virtualbox on linux to make sure that it works. This is the virtual server that I test updates on before updating the production server. I can’t remember the error I was getting but I think it had to do with the network device. That was on the virtualbox side. So the cloud storage will be the next thing that I test.
  • Email Provider

    General email gmail proton
    9
    5 Votes
    9 Posts
    2k Views
    @phenomlab lol it is a great excuse and sometimes a combination of both haha
  • Virgin Media Pricing

    General virgin media sky
    11
    9 Votes
    11 Posts
    2k Views
    @phenomlab some good savings there Mark. I’ll post mine once my new deal changes over.
  • OKTA offering personal password manager

    General okta password manager
    31
    18 Votes
    31 Posts
    5k Views
    @Madchatthew yes, works well for us.
  • NodeBB v4.0.0

    General nodebb sudonix version 4
    28
    4 Votes
    28 Posts
    3k Views
    @Panda said in NodeBB v4.0.0: the workings of World aren’t intuitive Its not easy to get World populating when a forum is new to it This is a good point and one I’ve considered also. It’s a little confusing to be honest.
  • Securing javascript -> PHP mysql calls on Website

    Solved Security php mysql security
    2
    1 Votes
    2 Posts
    1k Views
    @mike-jones Hi Mike, There are multiple answers to this, so I’m going to provide some of the most important ones here JS is a client side library, so you shouldn’t rely on it solely for validation. Any values collected by JS will need to be passed back to the PHP backend for processing, and will need to be fully sanitised first to ensure that your database is not exposed to SQL injection. In order to pass back those values into PHP, you’ll need to use something like <script> var myvalue = $('#id').val(); $(document).ready(function() { $.ajax({ type: "POST", url: "https://myserver/myfile.php?id=" + myvalue, success: function() { $("#targetdiv").load('myfile.php?id=myvalue #targetdiv', function() {}); }, //error: ajaxError }); return false; }); </script> Then collect that with PHP via a POST / GET request such as <?php $myvalue= $_GET['id']; echo "The value is " . $myvalue; ?> Of course, the above is a basic example, but is fully functional. Here, the risk level is low in the sense that you are not attempting to manipulate data, but simply request it. However, this in itself would still be vulnerable to SQL injection attack if the request is not sent as OOP (Object Orientated Programming). Here’s an example of how to get the data safely <?php function getid($theid) { global $db; $stmt = $db->prepare("SELECT *FROM data where id = ?"); $stmt->execute([$theid]); while ($result= $stmt->fetch(PDO::FETCH_ASSOC)){ $name = $result['name']; $address = $result['address']; $zip = $result['zip']; } return array( 'name' => $name, 'address' => $address, 'zip' => $zip ); } ?> Essentially, using the OOP method, we send placeholders rather than actual values. The job of the function is to check the request and automatically sanitise it to ensure we only return what is being asked for, and nothing else. This prevents typical injections such as “AND 1=1” which of course would land up returning everything which isn’t what you want at all for security reasons. When calling the function, you’d simply use <?php echo getid($myvalue); ?> @mike-jones said in Securing javascript -> PHP mysql calls on Website: i am pretty sure the user could just use the path to the php file and just type a web address into the search bar This is correct, although with no parameters, no data would be returned. You can actually prevent the PHP script from being called directly using something like <?php if(!defined('MyConst')) { die('Direct access not permitted'); } ?> then on the pages that you need to include it <?php define('MyConst', TRUE); ?> Obviously, access requests coming directly are not going via your chosen route, therefore, the connection will die because MyConst does not equal TRUE @mike-jones said in Securing javascript -> PHP mysql calls on Website: Would it be enough to just check if the number are a number 1-100 and if the drop down is one of the 5 specific words and then just not run the rest of the code if it doesn’t fit one of those perameters? In my view, no, as this will expose the PHP file to SQL injection attack without any server side checking. Hope this is of some use to start with. Happy to elaborate if you’d like.
  • Which gets more visitors

    General forum software
    4
    1 Votes
    4 Posts
    929 Views
    @kurulumu-net But when the search feature works, the CPU immediately swells to 100% and the site dies. That sounds very much like a MySQL issue to me. I’m aware that this is an existing issue in Flarum in relation to performance, and clearly, it’s still not fixed. I had no idea that the NodeBB migration could be this expensive. Terrible Yes, exactly that. To me, it would appear that I’d need to finance the development and subsequent build of any package, then they could resell the same thing to someone else without the need for any additional effort on their part = high profit margin. The issue I have with this model is that I’d foot the (somewhat huge) bill for what amounts to a minor upgrade for me, but quite the money spinner for NodeBB. Here the link to that thread https://community.nodebb.org/post/84581