কীভাবে এএসপি.নেট এমভিসি ডিফল্ট এইচটিটিপি হেডারগুলি সরিয়ে ফেলবেন?


176

আমি যে এমভিসি অ্যাপ্লিকেশনটির সাথে কাজ করছি তার প্রতিটি পৃষ্ঠা এই HTTP শিরোনামকে প্রতিক্রিয়া হিসাবে সেট করে:

X-Powered-By: ASP.NET
X-AspNet-Version: 2.0.50727
X-AspNetMvc-Version: 2.0

আমি কীভাবে এগুলি প্রদর্শিত হতে বাধা দেব?


2
এই নিবন্ধটি চেক করুন আইআইএস এবং এএসপি.নেট মধ্যে অপ্রয়োজনীয় HTTP শিরোনামগুলি সরানো, এটি আপনার সমস্ত তালিকাবদ্ধ শিরোনামগুলি কীভাবে সরিয়ে ফেলতে হবে তা বর্ণনা করে।
পাভেল মোর্শেনিয়ুক

@ পাভেলমোরশেন্যুক আমাকে ক্ষমা করবেন, আপনি কি সার্ভারের নামও সরিয়ে দেওয়ার কোনও উপায় খুঁজে পেয়েছেন? গৃহীত উত্তরটি সার্ভারটি সরিয়ে দেয় না
নেদা ডেরখশেশ

উত্তর:


285

X-Powered-Byআইআইএসের একটি কাস্টম শিরোনাম। আইআইএস 7-এর পর থেকে, আপনি নিম্নলিখিতগুলিতে আপনার যোগ করে এটি সরিয়ে ফেলতে পারেন web.config:

<system.webServer>
  <httpProtocol>
    <customHeaders>
      <remove name="X-Powered-By" />
    </customHeaders>
  </httpProtocol>
</system.webServer>

এই শিরোনামটি আপনার প্রয়োজন অনুসারেও পরিবর্তন করা যেতে পারে, আরও তথ্যের জন্য http://www.iis.net/ConfigReferences/system.webServer/httpProtocol/customHeedia দেখুন


এই যোগ করার web.configপরিত্রাণ পেতে X-AspNet-Versionশিরোলেখ:

<system.web>
  <httpRuntime enableVersionHeader="false" />
</system.web>

পরিশেষে, ইভেন্টে নিম্নলিখিতগুলি সরিয়ে X-AspNetMvc-Version, সম্পাদনা করতে Global.asax.csএবং যুক্ত করতে Application_Start:

protected void Application_Start()
{
    MvcHandler.DisableMvcResponseHeader = true;
}

আপনি Application_PreSendRequestHeadersইভেন্টের মাধ্যমে রানটাইমে হেডারগুলিও সংশোধন করতে পারেন Global.asax.cs। আপনার শিরোনামের মানগুলি গতিশীল হলে এটি দরকারী:

protected void Application_PreSendRequestHeaders(object source, EventArgs e)
{
      Response.Headers.Remove("foo");
      Response.Headers.Add("bar", "quux");
}

4
+1 - স্বার্থের জন্য, 1) আপনি কেন করবেন? 2) এটির কোনও বিরূপ প্রভাব আছে?
ব্রিটিশ ডেভেলপার

69
আপনি আপনার ওয়েব পৃষ্ঠাগুলি উত্পন্ন করতে কোন প্রযুক্তি ব্যবহার করেন তা সুরক্ষিত করার জন্য সুরক্ষা কারণে আপনি এটি করেন। এটি হ্যাকারদেরকে আরও কঠোরভাবে কাজ করতে বাধ্য করে।
রেডফিল্টার

20
@ ব্রিটিশ ডেফলার এটি একটি সুপারিশ যা একটি সুরক্ষা পর্যালোচনা থেকে বেরিয়ে এসেছিল। আপনার প্রযুক্তি স্ট্যাকের বিজ্ঞাপন না দেওয়ার এটি আমার সেরা অনুশীলন, কারণ হ্যাকাররা সেই প্ল্যাটফর্মের সাথে নির্দিষ্ট দুর্বলতাগুলিকে লক্ষ্য করতে সহায়তা করে।
পল ফায়ার 21

1
@ রেডফিল্টার আপনার দ্রুত এবং বিস্তারিত উত্তরের জন্য আপনাকে ধন্যবাদ!
পল ফ্রায়ার

6
আইআইএস 8 এ এটি শিরোনামটি সরাবে না X-Powered-By। এটি কীভাবে অর্জন করা যায় সে সম্পর্কে অন্যান্য উত্তরগুলি দেখুন web.config
ক্ল্যানিস

105

আপনি আপনার Global.asax ফাইলে কোড যুক্ত করে এগুলি সরাতে পারেন:

 protected void Application_PreSendRequestHeaders(object sender, EventArgs e)
 {
   HttpContext.Current.Response.Headers.Remove("X-Powered-By");
   HttpContext.Current.Response.Headers.Remove("X-AspNet-Version");
   HttpContext.Current.Response.Headers.Remove("X-AspNetMvc-Version");
   HttpContext.Current.Response.Headers.Remove("Server");
 }

29
আমার ক্ষেত্রে কেবলমাত্র শেষ তিনটি কাজ করেছিল, "এক্স-পাওয়ার-বাই" এর জন্য আমার এখনও দরকার ছিল<system.webServer> <httpProtocol> <customHeaders> <remove name="X-Powered-By" /> </customHeaders> <redirectHeaders> <clear /> </redirectHeaders> </httpProtocol> </system.webServer>
ফ্র্যাঙ্ক ভ্যান আইকেলেন

2
আমার ক্ষেত্রে উপরের কোনও শিরোনাম সরানো হয়নি। আমি। নেট 4.0 এবং আইআইএস 7 ব্যবহার করছি এই থ্রেডের অন্যান্য মন্তব্যে ধন্যবাদ। আমি "সার্ভার" ব্যতীত সমস্ত অযাচিত শিরোলেখ অপসারণ করতে সক্ষম হয়েছি যা সবচেয়ে খারাপ পরিস্থিতি।
ফরজাদ

2
এটি কি আপনার সামগ্রীর ফাইলগুলি / চিত্রগুলি / ইত্যাদির বিরুদ্ধে কাজ করে যা কোড পথে চলে না?
সোয়ুল

"সার্ভার" এ আপনি কী রেখেছিলেন? এটা কি এরকম হওয়া উচিত? প্রতিক্রিয়া.হিডার্স.সামোভ ("সার্ভার: মাইক্রোসফ্ট-আইআইএস / 7.0"); ? নাকি এটি "সার্ভার" হওয়া উচিত? দয়া করে সহায়তা করুন
নেদা দেরখেশেশ

অন্য কারও কাছে কি অদ্ভুত যে "PreSendRequestHeaders" আসলে প্রতিক্রিয়া শিরোনাম প্রেরণ?
জেডিপেকহ্যাম

50

আমি এই কনফিগারেশনটি আমার মধ্যে পেয়েছি web.configযা New Web Site...ভিজ্যুয়াল স্টুডিওতে তৈরির জন্য ছিল (এর বিপরীতে New Project...)। যেহেতু প্রশ্নটিতে একটি এএসপি.নেট এমভিসি অ্যাপ্লিকেশন রয়েছে, হিসাবে প্রাসঙ্গিক নয়, তবে এখনও একটি বিকল্প।

<system.webServer>
  <httpProtocol>
    <customHeaders>
      <clear />
      <remove name="X-Powered-By" />
    </customHeaders>
   </httpProtocol>
</system.webServer>

আপডেট : এছাড়াও, ট্রয় হান্টের শাহ্ শীর্ষক একটি নিবন্ধ রয়েছে ... আপনার প্রতিক্রিয়া শিরোনামগুলি এই শিরোনামগুলি সরিয়ে নেওয়ার বিষয়ে বিস্তারিত পদক্ষেপের সাথে সাথে তাদের এবং অন্যান্য সুরক্ষা কনফিগারেশনের জন্য স্ক্যান করার জন্য তার আসফা ওয়েবে সরঞ্জামের একটি লিঙ্কের সাথে খুব জোরে কথা বলতে দেবেন না


5
সবচেয়ে ভাল বিকল্প কিন্তু iis7 প্রয়োজন + আপনি না দরকার নেই <স্পষ্ট /> তাদের ... অপসারণ যথেষ্ট .. এছাড়াও আপনি অন্য দুর্বলতার মুছে ফেলার জন্য system.webserver এই যোগ করতে চান করতে পারেন: code <নিরাপত্তা> <requestFiltering> <ক্রিয়া> <= ক্রিয়া যোগ "অপশন" অনুমোদিত = "ভুয়া" /> <<<<<<<quilfilters> </ সুরক্ষা>code
felickz

আমি মনে করি <স্পষ্ট /> উপাদানটি 'এক্স-পাওয়ারের্ড বাই দ্বারা' সহ সমস্ত শিরোনাম সাফ করে, সুতরাং <অপসারণ /> উপাদানটি অনর্থক।
জানুয়ারী এইচ

33

.NET কোর

প্রোগ্রামের ফাইলের মধ্যে সার্ভার শিরোলেখ অপসারণ করতে নিম্নলিখিত বিকল্পটি যুক্ত করুন:

.UseKestrel(opt => opt.AddServerHeader = false)

ডট নেট কোর 1 এর জন্য .UseKestrel () কলটির ভিতরে বিকল্পটি যুক্ত করুন। ডট নেট কোর 2 এর জন্য ইউজস্টার্টআপ () এর পরে লাইন যুক্ত করুন।

এক্স-পাওয়ার-বাই শিরোলেখ অপসারণ করতে , যদি আইআইএস-এ স্থাপন করা হয়, আপনার ওয়েবকনফিগ সম্পাদনা করুন এবং সিস্টেমের ভিতরে নিম্নলিখিত বিভাগটি যুক্ত করুন we ওয়েবে সার্ভার ট্যাগ:

<httpProtocol>
    <customHeaders>
        <remove name="X-Powered-By" />
    </customHeaders>
</httpProtocol>

.NET 4.5.2

সার্ভার শিরোলেখ অপসারণ করতে , আপনার Global.asax ফাইলের মধ্যে নিম্নলিখিতটি যুক্ত করুন:

    protected void Application_BeginRequest(object sender, EventArgs e)
    {
        string[] headers = { "Server", "X-AspNet-Version" };

        if (!Response.HeadersWritten)
        {
            Response.AddOnSendingHeaders((c) =>
            {
                if (c != null && c.Response != null && c.Response.Headers != null)
                {
                    foreach (string header in headers)
                    {
                        if (c.Response.Headers[header] != null)
                        {
                            c.Response.Headers.Remove(header);
                        }
                    }
                }
            });
        }

    }

প্রাক .NET 4.5.2

আপনার প্রকল্পে নিম্নলিখিত সি # শ্রেণি যুক্ত করুন:

public class RemoveServerHeaderModule : IHttpModule
{
    public void Init(HttpApplication context)
    {
        context.PreSendRequestHeaders += OnPreSendRequestHeaders;
    }

    public void Dispose() { }

    void OnPreSendRequestHeaders(object sender, EventArgs e)
    {
        HttpContext.Current.Response.Headers.Remove("Server");
    }
}

এবং তারপরে আপনার ওয়েব.কমফিগের মধ্যে নিম্নলিখিত << মডিউল> বিভাগটি যুক্ত করুন:

<system.webServer>
    ....
 <modules>
    <add name="RemoveServerHeaderModule" type="MyNamespace.RemoveServerHeaderModule" />
 </modules>

তবে আমার একটি সমস্যা ছিল যেখানে উপ-প্রকল্পগুলি এই মডিউলটি সন্ধান করতে পারেনি। মজা না.

এক্স-অ্যাসপনেটএমভিসি-সংস্করণ শিরোনাম সরানো হচ্ছে

.NET- এর যে কোনও সংস্করণের জন্য '' X-AspNetMvc-Version '' ট্যাগটি সরাতে আপনার '' ওয়েবকনফিগ '' ফাইলটি অন্তর্ভুক্ত করুন:

<system.web>
...
   <httpRuntime enableVersionHeader="false" />
...
</system.web>

অবিশ্বাস্যরূপে এটিকে কঠিন করার জন্য মাইক্রোসফ্টকে ধন্যবাদ। বা সম্ভবত এটি ছিল আপনার উদ্দেশ্য যাতে আপনি বিশ্বজুড়ে আইআইএস এবং এমভিসি ইনস্টলগুলি ট্র্যাক করতে পারেন ...


3
এই দিন এবং যুগে এটি একটি "সবচেয়ে খারাপ অনুশীলন" হিসাবে বিবেচিত হয় এবং এটি বিশ্বাস করা শক্ত যে মাইক্রোসফ্ট এখনও "অনিরাপদ "টিকে ডিফল্ট এবং" সুরক্ষিত "হিসাবে বেছে নেওয়ার পক্ষে এতো জটিল। এটি আমাকে উইন্ডোজ ডিফল্টরূপে সাধারণ ফাইল এক্সটেনশানগুলি কীভাবে গোপন করে তা স্মরণ করিয়ে দেয় যাতে সন্দেহাতীত ব্যবহারকারীরা ভাইরাসগুলিতে ক্লিক করবেন। আমি 2003 সালে বিল গেটসকে "ডিফল্ট দ্বারা সুরক্ষিত" ঘোষণা করার কথা মনে করি - এই ধারণার ফলে যা ঘটেছিল?
মাইক নেলসন

2
@ মিকেনেলসন যদি এটি আপনাকে আরও ভাল বোধ করে, এনগিনেক্সে সার্ভার ট্যাগটি সরিয়ে ফেলা চেষ্টা ঠিক ততটাই কঠিন - আমি আসল উত্স কোডটি নিজেই হ্যাক করে শেষ করেছি।
রক্লান

আমাদের সম্পর্কে RemoveServerHeaderModuleএটা WebApi প্রকল্পে কাজ করবেনা।
Krypru

32

আইআইএস on- তে আপনার এএসপি.নেট এমভিসি ওয়েব অ্যাপ্লিকেশনটি ক্লোকিংয়ে বর্ণিত হিসাবে আপনি নিম্নলিখিত ওয়েব কনফিগটিতে নিম্নলিখিত কনফিগারেশন বিভাগটি প্রয়োগ করে এক্স-এস্পনেট-সংস্করণ শিরোনামটি বন্ধ করতে পারেন:

<system.web> 
  <httpRuntime enableVersionHeader="false"/> 
</system.web>

এবং নিম্নলিখিত হিসাবে আপনার Global.asax.cs পরিবর্তন করে এক্স- AspNetMvc- সংস্করণ শিরোনাম সরান:

protected void Application_Start() 
{ 
    MvcHandler.DisableMvcResponseHeader = true; 
}

কাস্টম শিরোনামে বর্ণিত হিসাবে আপনি নীচের কনফিগারেশন বিভাগটি আপনার ওয়েবকনফাইগে প্রয়োগ করে "এক্স-পাওয়ার-বাই" শিরোনামটি সরাতে পারেন:

<system.webServer>
   <httpProtocol>
      <customHeaders>
         <clear />
      </customHeaders>
   </httpProtocol>
</system.webServer>

কনফিগারেশনের মাধ্যমে "সার্ভার" প্রতিক্রিয়া শিরোনাম সরানোর কোনও সহজ উপায় নেই, তবে আপনি আইআইএস 7 তে আপনার এএসপি.নেট এমভিসি ওয়েব অ্যাপ্লিকেশনটি ক্লোকিংয়ে এবং কীভাবে কীভাবে অপসারণ-সার্ভার- এ সরানো হবে সে সম্পর্কেHttpModule বর্ণিত নির্দিষ্ট HTTP শিরোনামগুলি সরিয়ে ফেলতে একটি প্রয়োগ করতে পারেন- এক্স-অ্যাসনেট-সংস্করণ-এক্স-এস্পনেটভিভি-সংস্করণ-এবং-এক্স-পাওয়ার-দ্বারা-রেসপন্স-হেডার-ইন-আইআইএস 7


বিকাড উত্তর ব্যবহার করে আমি "সার্ভার" শিরোনাম সরাতে সক্ষম am আইআইএস 8.
tmorell

বিকাড উত্তরটি ঠিক আছে, তবে এর কোডিং দরকার, সুতরাং এটির কনফিগারেশন ভিত্তিক যেহেতু আমি বর্ণনা করেছি সেটিকে আরও সুবিধাজনক হিসাবে আমি বর্ণনা করেছি।
রনিকে

8

উইন্ডোজ আজুর ওয়েব সাইট পৃষ্ঠায় স্ট্যান্ডার্ড সার্ভার শিরোনামগুলি সরানোর সময় দেখানো হয়েছে , আপনি নিম্নলিখিতগুলি সহ শিরোনামগুলি সরাতে পারেন:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <httpProtocol>
      <customHeaders>
        <clear />
      </customHeaders>
    </httpProtocol>
    <security>
      <requestFiltering removeServerHeader="true"/>
    </security>
  </system.webServer>
  <system.web>
    <httpRuntime enableVersionHeader="false" />
  </system.web>
</configuration>

এটি সার্ভার শিরোলেখ এবং এক্স-শিরোনামগুলি সরিয়ে দেয়।

এটি ভিজ্যুয়াল স্টুডিও 2015 এর আমার পরীক্ষাগুলিতে স্থানীয়ভাবে কাজ করেছে।


6
অপসারণের সার্ভারহাইডার যোগ করা = "সত্য" আমাকে আমার
এএসপি.নেট

4
@ ল্যাচলানবি এটি আইআইএস 10-এ যুক্ত করা হয়েছিল: আইআইএস 10.0 দূরবর্তী ক্লায়েন্টগুলিতে এইচটিটিপি সার্ভার শিরোনাম পাঠানো দমন করতে রিমুভ সার্ভারহাইডার বৈশিষ্ট্য যুক্ত করেছে। সূত্র: iis.net/configreferences/system.webserver/security/…
SynerCoder

1
আমি পছন্দ করি যে অ্যাজুরে পৃষ্ঠা কোড ব্লকের পরিবর্তে স্ক্রিনশট সরবরাহ করে । এগুলি অপ্রয়োজনীয় এবং সম্ভাব্য বিপজ্জনক ট্যাগগুলি যতটা সম্ভব মুছে ফেলার জন্য তারা আক্ষরিকভাবে যা কিছু করতে পারে তার সবগুলি করে। এছাড়াও, আমি বিশ্বাস করতে পারি না যে আমি এই সমস্যাটি সংশোধন করার জন্য একটি তিন বছরের পুরানো এসও প্রশ্নটি উল্লেখ করছি, যা সংশোধন হওয়ার কোনও লক্ষণ দেখায় না।
কিল্লা-বাইট

1
আমি মনে করি এই ওয়েবকনফিগটি এক্স-অ্যাসপনেটএমভিসি-সংস্করণ শিরোনামটি সরিয়ে দেয় না। যে এক আমরা Global.asax কিছু যোগ করতে হবে সরাতে stackoverflow.com/a/20739875/1678525
জানুয়ারী এইচ

8

Asp.Net Core এ আপনি ওয়েবকনফিগ ফাইলগুলি এর মতো সম্পাদনা করতে পারেন:

<httpProtocol>
  <customHeaders>
    <remove name="X-Powered-By" />
  </customHeaders>
</httpProtocol>

আপনি কেষ্টরেল বিকল্পগুলিতে সার্ভার শিরোলেখ অপসারণ করতে পারেন:

            .UseKestrel(c =>
            {
                // removes the server header
                c.AddServerHeader = false;
            }) 

5

এই ব্লগটি পরীক্ষা করে শিরোনামগুলি সরাতে কোড ব্যবহার করবেন না। মাইক্রোসফ্ট অনুসারে এটি অস্থির

আমার এই গ্রহণ:

<system.webServer>          
    <httpProtocol>
    <!-- Security Hardening of HTTP response headers -->
    <customHeaders>
        <!--Sending the new X-Content-Type-Options response header with the value 'nosniff' will prevent 
                Internet Explorer from MIME-sniffing a response away from the declared content-type. -->
        <add name="X-Content-Type-Options" value="nosniff" />

        <!-- X-Frame-Options tells the browser whether you want to allow your site to be framed or not. 
                 By preventing a browser from framing your site you can defend against attacks like clickjacking. 
                 Recommended value "x-frame-options: SAMEORIGIN" -->
        <add name="X-Frame-Options" value="SAMEORIGIN" />

        <!-- Setting X-Permitted-Cross-Domain-Policies header to “master-only” will instruct Flash and PDF files that 
                 they should only read the master crossdomain.xml file from the root of the website. 
                 https://www.adobe.com/devnet/articles/crossdomain_policy_file_spec.html -->
        <add name="X-Permitted-Cross-Domain-Policies" value="master-only" />

        <!-- X-XSS-Protection sets the configuration for the cross-site scripting filter built into most browsers. 
                 Recommended value "X-XSS-Protection: 1; mode=block". -->
        <add name="X-Xss-Protection" value="1; mode=block" />

        <!-- Referrer-Policy allows a site to control how much information the browser includes with navigations away from a document and should be set by all sites. 
                 If you have sensitive information in your URLs, you don't want to forward to other domains 
                 https://scotthelme.co.uk/a-new-security-header-referrer-policy/ -->
        <add name="Referrer-Policy" value="no-referrer-when-downgrade" />

        <!-- Remove x-powered-by in the response header, required by OWASP A5:2017 - Do not disclose web server configuration -->
        <remove name="X-Powered-By" />

        <!-- Ensure the cache-control is public, some browser won't set expiration without that  -->
        <add name="Cache-Control" value="public" />
    </customHeaders>
</httpProtocol>

<!-- Prerequisite for the <rewrite> section
            Install the URL Rewrite Module on the Web Server https://www.iis.net/downloads/microsoft/url-rewrite -->
<rewrite>
    <!-- Remove Server response headers (OWASP Security Measure) -->
    <outboundRules rewriteBeforeCache="true">
        <rule name="Remove Server header">
            <match serverVariable="RESPONSE_Server" pattern=".+" />

            <!-- Use custom value for the Server info -->
            <action type="Rewrite" value="Your Custom Value Here." />
        </rule>
    </outboundRules>
</rewrite>
</system.webServer>

4

সম্পূর্ণতার স্বার্থে Server, রিজেডিট ব্যবহার করে শিরোলেখ অপসারণ করার আরও একটি উপায় রয়েছে ।

এই এমএসডিএন ব্লগটি দেখুন

নিম্নলিখিত রেজিস্ট্রি কীতে DisableServerHeader নামে একটি DWORD এন্ট্রি তৈরি করুন এবং মানটি 1 এ সেট করুন।

HKLM \ সিস্টেম \ CurrentControlSet \ সার্ভিস \ HTTP- র \ পরামিতি

আমি বরং ওয়েবকনফিগ ব্যবহার করে একটি সঠিক সমাধান খুঁজে পেতে চাইছি, তবে ব্যবহার <rewrite>করা ভাল নয় কারণ এটি পুনর্লিখনের মডিউলটি ইনস্টল করা প্রয়োজন এবং তারপরেও এটি সত্যিকারের শিরোনামটি সরাবে না, কেবল এটি খালি করুন।


এটি যদি কাজ করে তবে এটি আমার মামলার জন্য ভাল সমাধান বলে মনে হচ্ছে। নেট এর বিভিন্ন সংস্করণে আমার কাছে 30 টি ওয়েবসাইট রয়েছে এবং তাই এই সমস্ত সাইটগুলিতে শিরোলেখগুলি অপসারণ এবং কোড আপডেট করার জন্য 3 টি বিভিন্ন উপায় প্রয়োজন। আমি কোড পরিবর্তন করার চেয়ে কনফিগার সেটিংস বা রেজিস্ট্রি চাইতাম।
মাইক নেলসন

আমি এটি সফলভাবে দুটি দিন আগে প্রয়োগ করেছি, দুর্দান্ত কাজ করে।
রুডি 20

2

আপনি যে কোন হেডার কিছু পরিবর্তন করতে পারেন Application_EndRequest()এই চেষ্টা

protected void Application_EndRequest()
{
    // removing excessive headers. They don't need to see this.
    Response.Headers.Remove("header_name");
}

1

এক্স-পাওয়ার-বাই শিরোনামটি আইআইএস দ্বারা এইচটিটিপি প্রতিক্রিয়াতে যুক্ত করা হয়েছে, তাই আপনি এটি আইআইএস ম্যানেজারের মাধ্যমে সার্ভার স্তরেও সরিয়ে ফেলতে পারেন:

আপনি সরাসরি ওয়েবকনফিগ ব্যবহার করতে পারেন:

<system.webServer>
   <httpProtocol>
     <customHeaders>
       <remove name="X-Powered-By" />
     </customHeaders>
   </httpProtocol>
</system.webServer>
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.