How to prvent XSS attack in html output tag? [duplicate]

I’m new to html, and I’m trying to prvent XSS attack in html output tag like

.
for example here is a some simple html code to text XSS hacking

<!DOCTYPE html>
<html>
  <head>
    <link rel="icon" type="image/x-icon" href="icon.png">
  </head>
<body>
  <style>
    
    #edit {
      position: absolute;
      left: 50%;
      top: 90%;
      transform: translate(-50%, -50%);
      width: 250px;
      height: 50px;
      background-color: #34495E;
      font-size: 18px;
      color: white;
      
    }

    #texta {
      height: 90%;
      width: 100%;
    }
  </style>
  
  <?php
  $myfile = fopen("text", "r+") or die("Unable to open file!");
  if (filesize("text") == 0) {
      $con = null ;
  } else {
      $con = fread($myfile,filesize("text"));
  }
  
  ?>
  <p><?php echo$con; ?></p>

  <form action="save.php" method="post">
    <textarea id="texta" name="txt" rows="30" cols="150"><?php echo $con; ?></textarea>

    <input type="Submit" id= "edit" value="Save">
  </form>
  

</body>
</html>

and here is the save.php which save the text in textarea.

<?php

$text = $_POST["txt"];
$file = fopen("text", "w+");
fwrite($file, $text);
fclose($file);
header("location: index.php");
die();
?>

I hacked it with XSS so easly, what should I add to the code to prevent XSS hack?

Use JavaScript Code to run Puppeteer from Laravel Controller

I am using Puppeteer to launch a browser from a laravel controller, however i don’t know how to run the JavaScript code from the controller

My function looks like this:

$script = <<<SCRIPT
    const puppeteer = require('puppeteer');
    (async () => {
        const browser = await puppeteer.launch({headless: false});
        const page = await browser.newPage();
        await page.goto('http://my-url.com');
        const button = await page.$('button#button');
        await button.evaluate( button => button.click() );
        await page.waitForTimeout(5000);
        ...
        await browser.close();
    })();
    SCRIPT;
$process = new Process(['node', '-e', $script]);
$process->run();
$output = $process->getOutput();

When i try to run just this part of the code in the node shell:

const puppeteer = require('puppeteer');
(async () => {
    const browser = await puppeteer.launch({headless: false});     
    const page = await browser.newPage();
    await page.goto('http://my-url.com');
    const button = await page.$('button#button');
    await button.evaluate( button => button.click() );
    await page.waitForTimeout(5000);
    ...
    await browser.close();
})();

it works fine and I can also see a browser being opened. When I try to run the whole function it doesn’t work. SO I presume that the way i’m running the JS code in the controller is wrong.

White square in header HTML boostrap 5

Im having issues with one webstie that Im creating. It is a form created by Boostrap 5. Im trying to make it responsive as I can

The big problem that Im having is that I cant change the white corner of the next picture when I make the screen smaller.

Image 1

I know that my code is not perfect but I need to understound what is going on here. Thanks for all

HTML:

    <!DOCTYPE html>
    <!-- saved from url=(0031)https://payments.idiomasgc.com/ -->
    <html lang="es"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>Bootstrap demo</title>
        <link href="./Form_academia_files/bootstrap.min.css" rel="stylesheet" integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65" crossorigin="anonymous">
        <!-- Custom styles for this template -->
        <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
        <link href="/Formulario_COPIA/Formulario/style_form.css" rel="stylesheet">
        <script src="comp.js"></script>
      </head>
    
    
    
    
      <body class="bg-light">
        
        <header class="p-3 text" style="background-color: #0f6796; height: 100%;">
          <div class="container">
            <div class="d-flex flex-wrap align-items-center justify-content-center justify-content-lg-start">
              <a href="https://payments.idiomasgc.com/" class="d-flex align-items-center mb-2 mb-lg-0 text-white text-decoration-none">
                <img class="img" src="/Formulario_COPIA/images/Logo_Academia.png">
              </a>
            </div>
          </div>
        </header>
    
    
        <div class="container formulario">
          <form method="POST" action="/Formulario_COPIA/Generar_Pago/generar_pago.php" onsubmit="return validarFormulario()">
              <div class="row g-3">
                <div class="col-md-6">
    
                  <div class="nombre">
                      <label class="texto" for="nombre" class="form-label">Nombre</label>
                    <input type="text" class="form-control" id="nombre" name="nombre" placeholder="" required>
                    <div class="invalid-feedback">
                      Se requiero un nombre válido.
                    </div>
                  </div>
    
                  <div class="email">
                    <label pattern="/^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-][email protected][a-zA-Z0-9-]+(?:.[a-zA-Z0-9-]+)*$/"
                    required class="texto" for="email" class="form-label">Email</label>
                    <input type="email" class="form-control" id="email" name="email" placeholder="[email protected]" required>
                    <div class="invalid-feedback">
                      Se requiere un email válido.
                    </div>
                  </div>
    
                  <div>
                    <label class="texto" for="referencia" class="form-label">Referencia</label>
                    <input type="text" class="form-control" id="referencia" name="referencia" placeholder="R2556554" required="">
                    <div class="invalid-feedback">
                      Se requiere una referencia.
                    </div>
                  </div>
    
                </div>
    
                <div class="col-md-6">
                  <div class="apellidos">
                      <label class="texto" for="apellidos" class="form-label">Apellidos</label>
                      <input type="text" class="form-control" id="apellidos" name="apellidos" placeholder="" required="">
                      <div class="invalid-feedback">
                        Se requiere un apellido válido.
                      </div>
                  </div>
    
                  <div class="telefono">
                    <label class="texto" for="telefono" class="form-label">Teléfono</label>
                    <input type="text" class="form-control" id="telefono" name="telefono" placeholder="612345678" required="">
                    <div class="invalid-feedback">
                      Se requiere un teléfono válido.
                    </div>
                  </div>
    
                  <div>
                    <label class="texto" for="importe" class="form-label">Importe</label>
                    <input type="text" class="form-control" id="importe" name="importe" placeholder="100.65" required="">
                    <div class="invalid-feedback">
                      Se requiere un importe.
                    </div>
                  </div>
    
                </div>
                  
              </div>
    
              <hr class="my-4 barra">
    
              <div class="row">
                <div class="col-sm-4">
                
                </div>
                <div class="col-md-3">
                  <button class="boton btn btn-primary btn-lg" type="submit" >CONTINUAR</button>
                </div>
                <div class="col-sm-4">
                  
                </div>
              </div>
    
              
                  
          </form>
            <script src="./Form_academia_files/bootstrap.bundle.min.js.descarga" integrity="sha384-kenU1KFdBIe4zVF0s0G1M5b4hcpxyD9F7jL+jjXkk+Q2h455rYXK/7HAuoJl+0I4" crossorigin="anonymous"></script>
        </div>
     
      </body>
    
    </html>

CSS:

    *{
        padding: 0;
        margin: 0;
        box-sizing: border-box;
    }
    
    .texto{
        font-size: 25px;
        padding: 10px;
        margin-left: -10px;
    }
    .form-control{
        width: 60%;
    }
    header{
        height: 90px;
    }
    .barra{
        margin-right: 20%;
    }
    .formulario{
        margin: 0 auto;
        margin-top: 5%;
        margin-right: 5%;
    
        
    }
    .boton{
       
        margin: 0 auto;
        margin-left: -13%;
        height: 100%;
        width: 80%;
    
        background-color: #54b0df;
        border: 0px;
        border-radius: 100px;
    
        line-height: 1;
        letter-spacing: 1px;
        font-weight: 500;
    
       
    }
    .row{
        max-width: 100%;
    }
    .boton:hover{
       background-color: #f4bc27;
    }
    @media screen and (max-width: 760px) {
        .formulario {
          margin-left: 100px;
        }
        .barra{
            margin-right: 
            40%;
        }
        .boton{
            margin-left: 0%;
            width: 60%;
        }
      }

esle condition not work in foreach loop php

my code:

$customers='[
 {
  "id": 1,
  "name": "sara",
  "phone": 1100,
  "mobile": 1111
 },
 {
  "id": 2,
  "name": "ben",
  "phone": 2200,
  "mobile": 2222
 }
]';
$data = json_decode($customers, true);
foreach($data as $a){
    if($a['name'] == 'sara'){
        $phone = $a['phone'];
        $mobile = $a['mobile'];
        echo "sara's phone is $phone";
        echo "sara's mobile is $mobile";
    }
    else{
    echo "No customer found with this name";
    }
    }

my problem is:
just else part is working and if condition is not working but when i remove else part, if part is working good.
can you help me??

How can I fix my ussd from looping in php (Mtn-Comviva) [closed]

I am developing a ussd code with mahindra comviva http pull service interface. I got connected with the server. When anyone send a request by add ussd, recieve response with menu option. But there is no input box to add the option in USSD popup on mobile.

In document it says we need to use ‘freeflow:FC’ to continue but it is not working. A little help would be appreciated. My menus on the other hand keep looping.your text

<?php header('freeflow:FC'); echo $response;

Normal flow in the menus

Issue in update data using php

in my case I am working on CRUD Project in php. now i have problem in edit query when I select database and get id which data ia want to edit and try to get that data at that time its shaw an error of undefine value

This is my php code

if(isset($_GET['id']))
        $eid=$_GET['id'];
        
$query = "SELECT *FROM `form_data` WHERE id=$eid";
$exQuery=mysqli_query($conn,$query);

$fname=$row['firstname'];
echo $fname;

it’s shaw an error

0xc00ce556 error when reading XML in an external app?

I am creating XML in PHP 8 which is read by an external app. As you can see on,

enter image description here

there are some strange characters right before the XML. I have no idea where they are coming from and displaying the XML in a browser works.

Any idea what those chars mean and where they might come from?

Thanks!

Method IlluminateValidationValidator::validateExists.types, does not exist

<?php

namespace AppHttpRequests;

use IlluminateFoundationHttpFormRequest;
use IlluminateSupportFacadesAuth;

class ItemRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return Auth::check();
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array<string, mixed>
     */

    //  validasi data
    public function rules()
    {
        return [
            'nama' => 'required|string|max:255',
            'type_id' => 'required|integer|exists.types,'.$this->id,
            'brand_id' => 'required|integer|exists.brands,'.$this->id,
            'photos' => 'nullable|array',
            'photos.*' => 'nulable|image|mimes:jpeg,png,jpg|max:2048',
            'features' => 'nullable|string',
            'price' => 'required|numeric',
            'star' => 'nullable|numeric',
            'review' => 'nullable|numeric'
        ];
    }
}

I have a problem in my Request. In validation data exists.types does not exist.
How to solve this error?
Thank you.

How to remove double slash after domain by htaccess?

This is my .htaccess.

DirectorySlash Off

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /.*.php HTTP/
RewriteRule ^(.*).php$ /$1 [R=301,L]

# Ensure www. and https
RewriteCond %{HTTP_HOST} !^www. [OR]
RewriteCond %{HTTP:X-Forwarded-Proto} !https [OR]
RewriteCond %{HTTPS} off
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# Rewrite the URL to append a trailing slash to directories (internally)
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule (.*[^/])$ $1/ [L]

While this seems to be working properly while surfing on the web browser,the problem appears when our SEO Team Crawls using third party tools like Screaming Frog.
Urls appear as following:

*.mywebsite.com
*.mywebsite.com/blogs
*.mywebsite.com/blogs/blog-1
*.mywebsite.com/about-us
....
*.mywebsite.com//
*.mywebsite.com//blogs
*.mywebsite.com//blogs/blog-1
*.mywebsite.com//about-us
....

I do not want the urls with two slash after domain. I tried many solutions available on internet but none of them worked.

Struggling to merge and display two arrays (result of two query) into one

I am using an old version of PHP symfony MVC framework. In the controller I have written two different query

$query1 = FrontGateModelsEvents::query(); 
$query2 = SELECT Events.ID, count(EventTicket.ID) as NumOfTickets from EventTicket INNER JOIN Event On Event.ID = EventTicket.EventId where ..

The first query is a database model query. The result of first query is like following.

            Array   (
                [0] => Array
                    (
                        [name] => ID
                        [table] => Events
                    )

                [1] => Array
                    (
                        [name] => Name
                        [table] => Events
                    )

            )

In the twig template I have displayed the result of first query like following.

{% for event in Events %}
          <tr>
                <td>
                    <label class="stack-label">Name</label>

                     {{ event.ID }}
                </td>
                <td>
                    <label class="stack-label">Name</label>

                     {{ event.Name }}
                </td>
    </tr>


{% endfor %}

enter image description here

Now I want to put the data of second query in a third column of the above table . That column will be number of tickets. The second query is a simple select query. Result of 2nd Query is

Array
(
    [0] => Array
        (
            [ID] => 1
            [NumberOfTickets] => 21
        )
    [1] => Array
        (
            [ID] => 2
            [NumberOfTickets] => 12
)

What Shall I do or how can i bring the value of Number of tickets (from the second query result ) in the relevant row.

enter image description here

Completly stuck, code works locally but not on the server [closed]

Last weeks i’ve been working on a website that works perfectly locally however upon uploading the files to the server i get alot of errors in the console and things like adding items in the database to autosuggesting in the search bar that no longer work. I can’t seem to identify (probably because to my knowledge it should work).

All i can think of doing ahead of time without sharing 50 files of php/javascript is just stating the errors i see in the console first, and if anyone could help that’d be much appreciated (I know it’s a bit of a hassle to help me with it like this but I have no clue what to do anymore)

Even just suggestions on how to go about finding the problem would probably help me alot.

On index.php

index.php:82 Uncaught TypeError: Cannot read properties of null (reading 'addEventListener')
    at index.php:82:10

This error is found on every page :

util.js:68 Uncaught TypeError: Cannot read properties of undefined (reading 'fn')
    at util.js:68:7
    at util.js:10:15
    at bootstrap.min.js:6:200
    at bootstrap.min.js:6:236

The auto suggesting search feature :

jquery-3.6.4.min.js:2          POST http://removedforprivacyreasons(itiscorrect)/rsflips/rsflips1/includes/searchItems.php 500 (Internal Server Error)
send @ jquery-3.6.4.min.js:2
ajax @ jquery-3.6.4.min.js:2
(anonymous) @ handlerSearchInput.js:8
dispatch @ jquery-3.6.4.min.js:2
y.handle @ jquery-3.6.4.min.js:2
handlerSearchInput.js:72 Error: Internal Server Error

So far that seem to be the only errors so less than i remember there being from yesterday but i’m still lost. Thanks in advance everyone!

php / symfony : set an id while keeping the autoincrement [duplicate]

I want to set the id of a new object with a specific value (that does not already exist in the database) without removing the auto-increment option of the field.

The id declaration :

#[ORMId]
#[ORMGeneratedValue]
#[ORMColumn(type: Types::INTEGER, options: ['unsigned' => true])]
protected ?int $id = null;

What I want to do :

$newObject->setId(92183); // The id does not already exist in the db

Any idea how can I do that without removing the auto-increment please ?

How i can i run laravel dusk test cases on front-end?

My current situation is like i have a button when i click on that a single particular test case which was created using laravel dusk should run and it’s log should display in browser like Passed/Failed how much time taken etc.

I tried exec() and shell_exec() for execute a dusk command but it shows me error ‘FacebookWebDriverExceptionInternalWebDriverCurlException: Curl error thrown for http POST to /session/bf290732b699eca73947777aa65c56f0/url with params: {“url”:”http://localhost:8000/enterprise/login”}
‘ error.
I had also tried Artisan::call(‘dusk’) but it says ‘dusk command not found’.
Laravel dusk liabrary is installed in my local system and when i execute this command on command prompt it works as expected but didn’t work through PHP code.

Is there any way to achieve my desired solution??
Any help will be appreciated..

Getting some unnecessary and unwanted code in Gmail content email by html and php

Attaching snap of what other person is getting if are sending mail:
enter image description here

Here is the html of that email – I request you to please help me identify the issue behind it. may be i am not providing you the full info or something else for that i am apologising in advance. I will be very thankful for your suggestions.

using this html:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>

<head>
    <META http-equiv="Content-Type" content="text/html; charset=utf-8">
    <style>
        body {
            margin: 0;
            background-color: #E1E2E3;
        }

        p,
        ul,
        li,
        strong {
            color: #000 !important;
        }

        a {
            color: #1C509D !important;
        }

        table {
            border-spacing: 0;
        }

        td {
            padding: 0;
        }

        .main {
            background-color: #FEF1E8;
            max-width: 670px;
            margin: 0 auto;
            width: 100%;
            border-spacing: 0;
        }

        .para-content {
            font-family: 'Arial', sans-serif;
            font-style: normal;
            font-weight: normal;
            font-size: 14px;
            line-height: 19.6px;
            margin-top: 0;
            margin-bottom: 0;
            padding-top: 10px;
            color: rgba(0, 0, 0, 0.6);
            mix-blend-mode: normal;
        }

        hr {
            border: 0;
            border-top: 1px dashed rgba(0, 0, 0, 0.25);
            margin: 0;
        }

        .small {
            font-family: 'Arial', sans-serif;
            font-style: normal;
            font-weight: normal;
            font-size: 14px;
            line-height: 19.6px;
            margin-top: 0;
            margin-bottom: 0;
            color: rgba(0, 0, 0, 0.6);
            mix-blend-mode: normal;
        }

        .heading-small {
            font-family: 'Tahoma';
            font-style: normal;
            font-weight: 400;
            font-size: 20px;
            line-height: 120%;
            margin: 30px 0 0;
        }

        .text {
            text-decoration: none;
            padding: 5px;
            color: #1C509D;
        }

        .border {
            border: 0;
            border-top: 3px solid #000000;
            margin-top: 0;
            margin-bottom: 0;
        }

        .table {
            text-align: center;
            padding-top: 50px;
        }

        .body-text {
            font-family: 'Georgia';
            margin: 10px 0;
            font-size: 16px;
            line-height: 150%;
            color: #000 !important;
        }

        .main-date {
            font-family: 'Arial', sans-serif;
            font-style: normal;
            font-weight: normal;
            font-size: 14px;
            line-height: 19.6px;
            margin-top: 0;
            margin-bottom: 0;
            color: rgba(0, 0, 0, 0.6);
            mix-blend-mode: normal;
            padding-top: 50px;
            text-align: right;
        }

        .logo {
            padding-top: 3.125rem;
        }

        .button {
            margin-top: 24px;
            font-family: 'Arial', sans-serif;
            font-weight: 700;
            background-color: #1C509D;
            border: none;
            color: white;
            padding: 10px 15px;
            text-align: center;
            text-decoration: none;
            display: inline-block;
            font-size: 14px;
        }

        @media (max-width:768px) {
            .main {
                padding: 0 15px;
            }

            .main-mob {
                padding: 0;
                margin-bottom: 15px !important;
            }

            .mob-dots {
                padding-left: 15px !important;
            }

            .main tr,
            .main td {
                margin-left: auto;
                margin-right: auto;
                display: block;
            }

            .logo {
                padding-top: 1.875rem !important;
            }

            .small {
                text-align: left;
            }

            .table {
                padding-top: 30px;
            }

            .main-date {
                padding-top: 15px !important;
                text-align: left !important;
            }

            .button {
                margin-top: 20px !important;
            }

            table {
                width: 100%;
            }

            .p-mob-30 {
                padding-top: 30px !important;
                padding-bottom: 30px !important;
            }

            .main-logo {
                width: 270px;
            }

            .logo-align {
                text-align: center !important;
            }
        }
    </style>
</head>

<body>
    <center>
        <table border="0" cellpadding="0" cellspacing="0" width="670"
            style=" border-collapse: separate;mso-table-lspace: 0;mso-table-rspace: 0;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%; border: 1px solid #DDDDDD;border-radius: 4px;">
            <tbody>
                <tr>
                    <td
                        style="mso-table-lspace: 0;mso-table-rspace: 0;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
                        <table align="center" border="0" cellpadding="0" cellspacing="0" class="main" width="670"
                            style="background-color: #FEF1E8;border-collapse: separate;mso-table-lspace: 0;mso-table-rspace: 0;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
                            <tr>
                                <td
                                    style="mso-table-lspace: 0;mso-table-rspace: 0;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
                                    <table width="50"
                                        style="border-collapse: separate;mso-table-lspace: 0;mso-table-rspace: 0;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
                                        <tr>
                                            <td width="100%"></td>
                                        </tr>
                                    </table>
                                </td>
                                <td
                                    style="mso-table-lspace: 0;mso-table-rspace: 0;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
                                    <table border="0" cellpadding="0" cellspacing="0" align="center" width="570"
                                        style="background-color: #FEF1E8;width:100%;border-collapse: separate;mso-table-lspace: 0;mso-table-rspace: 0;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
                                        <tr>
                                            <td style="mso-table-lspace: 0;mso-table-rspace: 0;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;"
                                                class="logo-align">
                                                <a href="#" class="logo" style="display:block;padding-top:40px"><img
                                                        src="https://www.demoonline.com/assets/images/demoonline-mobile.png"
                                                        width="330" alt="" class="main-logo"></a>
                                            </td>
                                        </tr>
                                        <tr>
                                            <td colspan="2"
                                                style="mso-table-lspace: 0;mso-table-rspace: 0;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
                                                <div class="p-mob-30" style="padding-top:30px;padding-bottom: 30px;">
                                                    <hr class="border"
                                                        style="border:0; border-top:3px solid #000000;margin-top:0;margin-bottom:0;">
                                                </div>
                                            </td>
                                        </tr>
                                    </table>
                                    <table align="center" border="0" cellpadding="0" cellspacing="0"
                                        class="main main-mob" width="670"
                                        style="background-color: #FEF1E8;border-collapse: separate;mso-table-lspace: 0;mso-table-rspace: 0;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;margin-bottom: 60px; font-size: 16px; font-family:Georgia, 'Times New Roman', Times, serif; font-weight: normal;">
                                        <tr>
                                            <td
                                                style="mso-table-lspace: 0;mso-table-rspace: 0;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
                                                <p style="margin-top: 0;" class="body-text">Dear
                                                    {contactfield=fullname|Subscriber},
                                                </p>
                                                <p style="margin-bottom: 0;margin-top: 20px" class="body-text">The April
                                                    2023 issue of Mutual Fund Insight has been published
                                                </p>
                                            </td>
                                        </tr>
                                        <tr>
                                            <td
                                                style="mso-table-lspace: 0;mso-table-rspace: 0;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
                                                <p class="body-text">Here's what we are covering-
                                                </p>
                                            </td>
                                        </tr>
                                        <tr>
                                            <td
                                                style="mso-table-lspace: 0;mso-table-rspace: 0;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
                                                <p class="body-text"><strong>Cover Story - </strong><strong>India’s
                                                        great growth story: Invest in it, grow with it.</strong>
                                                </p>
                                            </td>
                                        </tr>
                                        <tr>
                                            <td
                                                style="mso-table-lspace: 0;mso-table-rspace: 0;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
                                                <p class="body-text">Did you miss the bus when we splashed 'Equity
                                                    Without Fear' on our magazine cover 20 years back?
                                                </p>
                                                <p class="body-text">Don't feel bad, 90%+ Indians failed to capitalise
                                                    on it.
                                                </p>
                                                <p class="body-text">The good news is that there's still time. With an
                                                    unprecedented transformation
                                                    in the history of the country, India's financial markets are giving
                                                    you a second chance to right your wrongs.
                                                </p>
                                                <p class="body-text">In this month's cover story, we tell you how and
                                                    why India has hit the highway to growth -
                                                    and will continue to remain there. (Some of the numbers in the story
                                                    will definitely wow you!)
                                                </p>
                                            </td>
                                        </tr>
                                        <tr>
                                            <td
                                                style="mso-table-lspace: 0;mso-table-rspace: 0;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
                                                <p class="body-text"><strong>Other Stories:</strong>
                                                </p>
                                                <ul style="padding-left: 1.5rem;">
                                                    <li style="margin-bottom: 0.5rem;">Pessimists sound smart but
                                                        optimists make money: First Page column by Dhirendra Kumar</li>
                                                    <li style="margin-bottom: 0.5rem;">A 2023 roadmap for international
                                                        investors</li>
                                                    <li style="margin-bottom: 0.5rem;">Municipal bonds: The new kid on
                                                        the block</li>
                                                    <li style="margin-bottom: 0.5rem;">Knocking on US bonds’ door</li>
                                                    <li style="margin-bottom: 0.5rem;">The curious case of Quant</li>
                                                    <li style="margin-bottom: 0.5rem;">The Adani saga exposes a glitch
                                                        in passive funds</li>
                                                    <li style="margin-bottom: 0.5rem;">Spotlight I Interview with Rahul
                                                        Singh- Chief Investment Officer - Equities, Tata Asset
                                                        Management</li>
                                                </ul>
                                                <p class="body-text">And like every month, we are carrying special
                                                    columns, newsmakers, answers to your saving and investment-related
                                                    queries, the most comprehensive fund scorecard, and more.</p>
                                                <p class="body-text">Now available in print and digital format.</p>
                                                <p class="body-text"><a
                                                        href="https://www.demoonline.com/store/emag/mfi/2023-04/?utm_source=email_mfi_apr_subs&utm_medium=subscriber_email&utm_campaign=mfi_aprissue_announcement">Click
                                                        here to download</a>
                                                    your April 2023 Mutual Fund Insight issue.</p>
                                                <p class="body-text">Happy Reading!</p>
                                            </td>
                                        </tr>
                                        <tr>
                                            <td
                                                style="mso-table-lspace: 0;mso-table-rspace: 0;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
                                                <p class="body-text">Regards,<br />Subscription Team</p>
                                            </td>
                                        </tr>
                                    </table>
                                </td>
                                <td
                                    style="mso-table-lspace: 0;mso-table-rspace: 0;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
                                    <table width="50"
                                        style=" border-collapse: separate;mso-table-lspace: 0;mso-table-rspace: 0;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
                                        <tr>
                                            <td width="100%"></td>
                                        </tr>
                                    </table>
                                </td>
                            </tr>
                        </table>
                    </td>
                </tr>
            </tbody>
        </table>
    </center>

</body>

</html>

I tried to find any reason by analysing html, I want to confirm if it from html side or is it generation from php side?