If tutorials available on this website are helpful for you, please whitelist this website in your ad blocker😭 or Donate to help us ❤️ pay for the web hosting to keep the website running.
Cross-Site Scripting (XSS
) एक common vulnerability है जो web applications को target करती है। XSS attacks के through attackers malicious scripts inject करते हैं जो unsuspecting users के browsers में execute होते हैं।
यह attack sensitive data चोरी करने, session hijacking, और और भी बहुत सारी चीजें करने के लिए use होता है। इस blog में हम XSS prevention के techniques को समझेंगे, जैसे user input को properly sanitize और validate करना।
XSS एक ऐसा vulnerability है जिसमे attacker malicious scripts को किसी vulnerable website पर inject
करता है। जब भी कोई user वो page access करता है, तो वो script browser में execute होता है। इससे attacker user के cookies, session data, और sensitive information को access कर सकता है।
XSS के teen types होते हैं -
Stored XSS : Malicious script server-side पर store होता है, जैसे database में।
Reflected XSS : Malicious script URL parameters या form inputs के through execute होता है।
DOM-based XSS : Client-side JavaScript में vulnerabilities का exploit किया जाता है।
●●●
XSS attacks से बचाने के लिए सबसे important step है user input को sanitize और validate करना। आपको ensure करना चाहिए कि जो भी data user से आता है, वो properly sanitized और validated है ताकि कोई malicious script
न inject हो सके।
Input validation का मतलब है कि user input को accept करने से पहले उसका format check करना , अगर कोई input invalid है, तो उसको reject करना। यह technique server-side और client-side दोनो पर implement कि जाती है।
Example : अगर आपको एक email input validate करना है, तो आप PHP का filter_var()
function use कर सकते हैं -
$email = $_POST['email'];
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
// Valid email
} else {
// Invalid email
}
यह ensure करता है कि user से जो email input मिल रहा है, वो valid format में हो।
Output escaping का मतलब है कि जो data आप web page पर display करते हैं, उसको properly escape करना ताकि वो browser में as a script execute न हो। HTML में output escaping करने के लिए htmlspecialchars()
function का use किया जाता है।
$username = $_GET['username'];
echo htmlspecialchars($username, ENT_QUOTES, 'UTF-8');
यह function special characters को escape करता है ताकि वो HTML में execute न हो , जैसे < को < और > को > में convert कर दिया जाता है।
Sanitization का मतलब है कि user input से malicious content को remove करना , PHP में filter_var()
function sanitize करने के लिए use किया जाता है।
Example : अगर आपको URL
input sanitize करना है, तो आप यह कर सकते हैं -
$url = $_POST['website'];
$sanitized_url = filter_var($url, FILTER_SANITIZE_URL);
यह function URL से special characters को remove कर देता है।
Content Security Policy एक browser feature है जो आपको specify करने देता है कि कौनसे sources से scripts execute होनी चाहिए। यह XSS attacks को mitigate करता है क्योंकि अगर कोई attacker malicious script inject करने कि कोशिश करता है तो CSP
उस script को execute hone से रोक देता है।
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self';">
इस directive के through, सिर्फ same-origin scripts ही execute होंगे , और external scripts block कर दिए जायेंगे।
HTTP headers जैसे X-Content-Type-Options, X-XSS-Protection, और Strict-Transport-Security XSS prevention में help करते हैं , यह headers ensure करते हैं कि browsers आपके web pages को secure
तरीके से load करें।
header("X-XSS-Protection: 1; mode=block");
यह header instruct करता है browser को कि अगर वो XSS detect करे , तो उस page को load करना block कर दे।
●●●
XSS attacks web applications के लिए काफी dangerous हो सकते हैं अगर उनको properly handle न किया जाये। इसलिए user input को sanitize, validate, और output escaping का ध्यान रखना बहुत जरूरी है।
Content Security Policy और secure HTTP headers भी आपके web application को XSS attacks से बचा सकते हैं।
Loading ...