nginx – php-fpm “Cannot modify header information” error

I have two docker containers linked by a docker network. One is running nginxinc/nginx-unprivileged and the other is running php:fpm. I have linked them together so that the php:fpm container handles running the php, however when the php tried to update the page I get a header error (shown below).

I saw a suggestion to check the output_buffering parameter inside php.ini, however mine is already set to 4096.

Does anyone have any idea where I may be missing something here?

This is the error I receive in the web browser:

Array ( (fullname) => dsd (suggestion) => da )
Warning: Cannot modify header information - headers already sent by (output started at /usr/share/nginx/html/action.php:17) in /usr/share/nginx/html/action.php on line 33

Here are my dockerfiles:

nginx:

# Rootless Webserver Dockerfile

FROM nginxinc/nginx-unprivileged:1.19-alpine

USER root

# Create a group and user
RUN addgroup -S apache && adduser -S apache -G apache

RUN addgroup nginx www-data

RUN apk add php7 
    php7-fpm 
    php7-mysqlnd 
    nano

USER nginx
COPY webfiles/ /usr/share/nginx/html

USER root
COPY configfiles/nginx.conf     /etc/nginx/nginx.conf
# COPY configfiles/nginx2.conf     /etc/nginx//nginx2.conf
COPY configfiles/php.ini        /etc/php7/php.ini
COPY configfiles/www.conf       /etc/php7/php-fpm.d/www.conf
COPY configfiles/php-fpm.conf   /etc/php7/php-fpm.conf
# COPY configfiles/supervisord.conf /etc/supervisord.conf

# RUN rm -f /usr/share/nginx/html/index.html && 
#   chmod +x /docker-entrypoint.sh

RUN mkdir -p /usr/sbin/php-fpm

EXPOSE 8080

USER nginx

php:

FROM php:fpm

RUN mkdir -p /usr/share/nginx/html
RUN docker-php-ext-install mysqli

COPY index.php /usr/share/nginx/html/index.php
COPY action.php /usr/share/nginx/html/action.php

EXPOSE 9000

And here is my nginx.conf:

server {
        listen       8080 default_server;
        listen       (::):8080 default_server;
        index        index.php;
        server_name  web.cyber.test;
        root         /usr/share/nginx/html;

    error_log /var/log/nginx/error.log;

        # Load configuration files for the default server block.
        # include /etc/nginx/default.d/*.conf;

        location / {
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
        
    location ~ .php$ {
        try_files $uri =404;
        fastcgi_pass 203.0.113.100:9000;
        fastcgi_index index.php;
        # fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html/$fastcgi_script_name;
        include fastcgi_params;
        }

search – I need help clearing history on a computer that I don’t have the google information for

search – I need help clearing history on a computer that I don’t have the google information for – Super User

log analysis – How to source training data in ML for information security?

The domain problems in cybersecurity are too-narrow to willy nilly try to apply AIML or DL to.

Not saying to throw data science out the window. Saying you need way more domain expertise to make it go.

One excellent application of data science to the cybersecurity field is to understand the indicators, or IOCs, and how they are sighted (last seen, etc) in memory, on disks, and in network traffic (and positioned where in the network traffic relative to the sources, destinations, and passthroughs — just like any dataflow). Instead of levering ML or DL, I would instead suggest to focus first on graph algorithms. Understand the relationships of these indicators and their interpretation as time series data

  • A File “Hash” (e.g., a SHA256 checksum of a file or a section of memory or network traffic of a process). Here is an example of the domain problems associated with cybersecurity. The way the our signatures (e.g., Yara rules) work on-disk vs. in-memory vs. in network traffic are obviously different code and data, and code and data paths. Parameters or arguments to processes also matter especially for script code
  • an IPv4, IPv6 address or path, and its associated network attributes such as BGP-4 ASN if registered with a Regional Internet Registry (RIR). There is often a history associated with these objects and narrowing into them may require understanding complex RWhois and SWIP registration processes
  • an FQDN, or Fully-Qualified Domain Name — sometimes hostname and with Windows Server Forest/Domain bits, perhaps older namestays such as NetBIOS or MS-RPC Named Pipes. Cloud stacks such as Azure AD are changing this nomenclature as well, moving to tenants, subscriptions, resources, et al. A set of Whois records identifying each unique Internet Domain Name can come with its own set of relationships including a rich history of timestamps, owners, name servers, and email addresses
  • A credential, often an email address, e.g., bertrand.russell@math.onmicrosoft.com but also a cred user/pass pair, i.e., bertrand:MathIsK00lB00ksRul3 if known (often if compromised)

As a hint of what would be possible, check out the work here — https://threathunterplaybook.com/introduction.html — which pivots nicely off of the fields (and parsing languages) from Azure Sentinel and M365/Azure data models

customs and immigration – Which information is stored in European Passports other than what is written in it?


Your privacy


By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.




information – How to display quotas to my user without using currency?

Sorry if the tagging is bad that’s my first question here I don’t know what tag I could use.

I’m part of the development team of a GIS (geographic information system) cloud platform (https://sepal.io),. We provide to our user access to storage and supercomputer for free. To avoid that they overload the service we provide we set up a quota system that prevent a regular user to use all our resources ( because of course in the end WE pay for the AWS machines). If a advanced user require more computation we gladely increase it’s quota.

At the moment the quotas is displayed as foolowed to the user :

enter image description here

Some of our user complained that we use the $ sylbol and unit to measure quotas as it make them think that they will need to pay.

How could we display such an information without making people think that we are asking for money ?

note

We cannot move directly to “%” because the “budget d’instance” is not consumed at the same speed with respect to the size of the computer you’re using each machine will use your budget at a different speed:

enter image description here

Shannon information problem

Given a discrete distribution $P(X_1,X_2)$, is it possible to build $P(X_1,X_2,Y)$ such that
$$
I(X_1;X_2) = I(Y;X_1,X_2)
$$

where $I$ is Shannon’s mutual information?

ffmpeg removes mp3 meta information error->error message:mjpeg: invalid TIFF header in EXIF data


Your privacy


By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.




magento2 – Magento 2 how to send information from Knockout Js to Js component?

I’m trying to send an array of data from a Knockout Js component to a JS file so I can do an ajax request there.

Here is what I’m doing:

phtml:

<div class="container">
  <div class="notification">
    <div id="portability-conversion" data-bind="scope:'portabilityconversion'">
    <!-- ko template: getTemplate() --><!-- /ko -->
    <script type="text/x-magento-init">
    {
        "#portability-conversion": {
            "Magento_Ui/js/core/app": {
               "components": {
                    "portabilityconversion": {
                        "component": "Vendor_GetQuote/js/quote",
                        "quote_data": <?php /* @escapeNotVerified */ echo $data ?>,
                        "employee_quote": <?php /* @escapeNotVerified */ echo $employee ?>
                    }
                }
            }
        }
    }
    </script>
    </div>
  </div>
      <div class="buttons">
        <button class="button is-link common-place-order" style="margin:auto">Add to Cart</button>
      </div>
</div>

<script type="text/x-magento-init">
    {
        "*": {
            "Magento_Ui/js/core/app": {
               "components": {
                    "ajaxrequest": {
                        "component": "Vendor_GetQuote/js/ajax-request"
                    }
                }
            }
        }
    }
  </script>

On quote.js I work with data dinamically, so I can update and push this data to an observable array called data.

define(('jquery', 'uiComponent', 'ko'), function ($, Component, ko) {
    'use strict';
    return Component.extend({
        defaults: {
            template: 'Transom_GetQuote/portability',
            template2: 'Transom_GetQuote/conversion-life',
            data:  ko.observableArray(()),
            employee:  ko.observableArray(())
        },
        
        initialize: function () {
            this._super();
            this.employee.push({
                EMP_NOM:this.employee_quote.EMP_NOM,
                EE_basic_amount_original:this.employee_quote.EE_basic_amount_original,
                EE_basic_amount:this.employee_quote.EE_basic_amount,
                EE_supp_amount:this.employee_quote.EE_supp_amount,
                EE_supp_amount_original:this.employee_quote.EE_supp_amount_original,

            })
            console.log(this.quote_data);
            console.log(this.employee_quote);
            var coverageData = function (name, value){
                this.Name = name;
                this.Value   = value;
            };

            this.coverages = ko.observableArray((
                new coverageData("100%",1),
                new coverageData("75%",0.75),
                new coverageData("50%",0.50),
            ));
    
            this.child_basic_coverage = ko.observable();
            this.child_supp_coverage = ko.observable();
            this.employee_basic_coverage = ko.observable();
            this.employee_supp_coverage = ko.observable();

            var self = this;
            self.basicChange = function() {
                if (typeof this.EMP_NOM !== 'undefined') {
                    this.EE_basic_amount = this.EE_basic_amount_original*self.employee_basic_coverage();
                    self.employee(());
                    self.employee(this);
                }
                else if(typeof this.SP_FIRST_NAME !== 'undefined'){
                    alert("It's an Spouse");
                }
                else if(typeof this.child_FIRST_NAME !== 'undefined'){
                    alert("It's a Children");
                }
            }

            self.suppChange = function() {
                if (typeof this.EMP_NOM !== 'undefined') {
                    this.EE_supp_amount = this.EE_supp_amount_original*self.employee_supp_coverage();
                    self.employee(());
                    self.employee(this);
                }
                else if(typeof this.SP_FIRST_NAME !== 'undefined'){
                    alert("It's an Spouse SUPP");
                }
                else if(typeof this.child_FIRST_NAME !== 'undefined'){
                    alert("It's a Children SUPP");
                }
            }

            // this.children = ko.observableArray(());
            this.displayChildrenTable = ko.observable(false);
            // this.spouse = ko.observableArray(());
             this.loadChildren(this.quote_data(0).childs) == true ? this.displayChildrenTable(true) : this.displayChildrenTable(false);
        
        },

        loadChildren: function (children_data) {
            if(children_data.length > 0){
                for(var i = 0; i < children_data.length; i++){
                    this.data.push(children_data(i));
                }
                return true;
            }
            else{
                return false;
            }
        },
        
        getChildren: function () {
            return this.quote_data(0).childs;
        },

        getSpouse: function () {
            return this.quote_data(0).wife;
        },

        getEmployee: function () {
            return this.employee;
        }
    });
}
);

Finally on ajax-request.js I wan’t to get the property data.

define(
(
‘jquery’,
‘ko’,
‘uiComponent’,
‘Vendor_GetQuote/js/quote’
),
function(
$,
ko,
Component,
portconv
) {
‘use strict’;

    $(document).on('click', '.common-place-order', function (event) {
        var data = portconv.call().data; //here quote.js component is loaded
        console.log(data);
    });
}

);

Result:

Error, because knockout js quote.js is trying to load everything from the beginning, all data. So logically it’s null because I’m not sending that data again to that component.

I don’t know how to deal with this, I’m not very skilled on Magento frontend. I was thinking in not creating a knockout js, but just functions for returning data, however it will be the same result, because data is empty.

Greetings!

spam – virtual credit cards information disclosure

I own a website and I am a vendor of some digital products. I also have a free trial set for users to try and test my products, and in case they like it and want to purchase, we wait confirmation from them and charge their credit card. Before giving the free trial we take their credit card and check if it is valid to avoid fraud. I want to talk about virtual credit cards.

Virtual credit cards can be cancelled and readded by the owners and it changes the all card information. I want to ask how to prevent this kind of a spam? For example i know that microsoft azure gives free trial with the same way, they also ask for the phone number(extra security). But do they have a way to check if two different virtual credit cards are owned by the same account ? I want to implement same security.

Can the vendors see any information about the owner etc of the virtual credit card?

Erase history change history lose information replace information algorithm as a person

We cannot change the history of a person because we cannot travel back in time. Suppose that the person were a computer algorithm. Suppose there were a computer matrix, like a noncommutative math matrix. Is the Cloud like that? Could we completely delete and erase something in the algorithm, and by doing so erase its history, and then replace it with an alternative history? Can information be permanently lost? Can lost information be replaced by new information put in its place?

DreamProxies - Cheapest USA Elite Private Proxies 100 Private Proxies 200 Private Proxies 400 Private Proxies 1000 Private Proxies 2000 Private Proxies ExtraProxies.com - Buy Cheap Private Proxies Buy 50 Private Proxies Buy 100 Private Proxies Buy 200 Private Proxies Buy 500 Private Proxies Buy 1000 Private Proxies Buy 2000 Private Proxies ProxiesLive Proxies-free.com New Proxy Lists Every Day Proxies123