PHP_SELF बनाम PATH_INFO बनाम SCRIPT_NAME बनाम REQUEST_URI


105

मैं CodeIgniter में एक PHP एप्लीकेशन बना रहा हूँ। CodeIgniter मुख्य नियंत्रक को सभी अनुरोध भेजता है index.php:। हालाँकि, मुझे index.phpURI में देखना पसंद नहीं है । उदाहरण के लिए, के लिए http://www.example.com/faq/whateverमार्ग जाएगा http://www.example.com/index.php/faq/whatever। मुझे यह जानने के लिए एक स्क्रिप्ट के लिए एक विश्वसनीय तरीके की आवश्यकता है कि यह क्या है, इसलिए यह पता चल जाएगा कि नेविगेशन के साथ क्या करना है। मैंने उपयोग किया है mod_rewrite, CodeIgniter प्रलेखन के अनुसार।

नियम इस प्रकार है:

RewriteEngine on
RewriteCond $1 !^(images|inc|favicon\.ico|index\.php|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L] 

आम तौर पर, मैं बस जाँच करूँगा php_self, लेकिन इस मामले में यह हमेशा होता है index.php। मैं इसे से प्राप्त कर सकते हैं REQUEST_URI, PATH_INFOआदि, लेकिन मैं तय करने के लिए जो सबसे विश्वसनीय हो जाएगा कोशिश कर रहा हूँ। (पता लगाने के लिए जहां या) के बीच वास्तविक अंतर किसी को पता है PHP_SELF, PATH_INFO, SCRIPT_NAME, और REQUEST_URI? आपकी सहायताके लिए धन्यवाद!

नोट : मुझे रिक्त स्थान जोड़ना होगा, क्योंकि एसओ अंडरस्कोर देखता है, और किसी कारण से इसे इटैलिक बनाता है।

अपडेट किया गया : रिक्त स्थान निर्धारित किया गया है।

जवाबों:


51

पीएचपी प्रलेखन आप अंतर बता सकते हैं:

'PHP_SELF'

दस्तावेज़ रूट के सापेक्ष वर्तमान में निष्पादित स्क्रिप्ट का फ़ाइल नाम। उदाहरण के लिए, http://example.com/test.php/foo.bar पर एक स्क्रिप्ट में $ _SERVER ['PHP_SELF'] /test.php/foo.bar होगा । __FILE__ निरंतर वर्तमान का पूरा पथ और फ़ाइल नाम शामिल है (यानी शामिल है) फ़ाइल। यदि PHP एक कमांड-लाइन प्रोसेसर के रूप में चल रहा है, तो इस चर में PHP 4.3 के बाद से स्क्रिप्ट नाम है। पहले यह उपलब्ध नहीं था।

'स्क्रिप्ट'

वर्तमान स्क्रिप्ट का पथ समाहित करता है। यह उन पृष्ठों के लिए उपयोगी है, जिन्हें स्वयं को इंगित करने की आवश्यकता है। __FILE__ निरंतर वर्तमान का पूरा पथ और फ़ाइल नाम शामिल है (यानी शामिल है) फ़ाइल।

'REQUEST_URI'

यूआरआई जो इस पेज को एक्सेस करने के लिए दिया गया था; उदाहरण के लिए, '/index.html'

PATH_INFO को दस्तावेज नहीं लगता ...


3
यह PHP दस्तावेज़ के बारे में सबसे अधिक संभावना नहीं है लेकिन CGI :) और वहां PATH_INFO प्रलेखित है: tools.ietf.org/html/rfc3875#section-4 लेकिन कुछ ज्ञात मुद्दे हैं कि Apache और nginx हमेशा इस चर को नहीं दे रहे हैं।
साइमनसिमिटी

1
नीचे दिए गए ओडिन के उत्तर में उपयोगी स्पष्टीकरण शामिल हैं जो उदाहरणों के साथ पूरक हैं। मुझे यह समझना मुश्किल है कि ये चर एक सामान्य संदर्भ में path_info, एक क्वेरी स्ट्रिंग, कुछ पुनर्निर्देशन, कुछ उपनामों के साथ अलग-अलग ऑपरेटिंग सिस्टम पर, CLI बनाम SERVER, आदि से कैसे प्रदर्शित करते हैं

3
-1 केवल इस बात के स्पष्टीकरण के रूप में कि मैंने क्यों पदत्याग किया: इस पोस्ट पर आने का पूरा कारण यह है कि दस्तावेज स्पष्ट नहीं है। नीचे दिए गए ओडिन का उत्तर इन चरों के बीच के अंतरों की स्पष्ट व्याख्या प्रदान करता है। मुझे ऐसा लगता है कि यह अभी तक अपर्याप्त दस्तावेज़ के लिए आसानी से कॉपी और पेस्ट करने के लिए एक अपर्याप्त उत्तर है। मेरा मानना ​​है कि अधिकांश लोगों को पहले से ही उल्लेखित $ _SERVER चर में तत्वों की सूची के बारे में जानने के लिए पहले से ही प्रलेखन का दौरा करना पड़ा होगा।
dallin

229

इन चरों के बीच अंतर के कुछ व्यावहारिक उदाहरण:
उदाहरण 1. PHP_SELF SCRIPT_NAME से केवल तभी अलग है जब अनुरोध किया गया url है:
http://example.com/test.php/foo/bar

[PHP_SELF] => /test.php/foo/bar
[SCRIPT_NAME] => /test.php

(यह एकमात्र मामला प्रतीत होता है जब PATH_INFO में समझदार जानकारी होती है [PATH_INFO] => / foo / bar) नोट: यह कुछ पुराने PHP संस्करणों (<= 5.0?) में भिन्न हुआ करता था।

उदाहरण 2. REQUEST_URI SCRIPT_NAME से अलग है जब एक गैर-रिक्त क्वेरी स्ट्रिंग दर्ज की गई है:
http://example.com/test.php?foo=bar

[SCRIPT_NAME] => /test.php
[REQUEST_URI] => /test.php?foo=bar

उदाहरण 3. REQUEST_URI SCRIPT_NAME से भिन्न है जब सर्वर-साइड पुनर्निर्देशन प्रभाव में है (उदाहरण के लिए apache पर mod_rewrite):

http://example.com/test.php

[REQUEST_URI] => /test.php
[SCRIPT_NAME] => /test2.php

उदाहरण 4. स्क्रिप्ट के साथ HTTP त्रुटियों को हैंडल करते समय REQUEST_URI SCRIPT_NAME से अलग है।
Apache directive ErrorDocument 404 /404error.php http://example.com/test.php का उपयोग करना

[REQUEST_URI] => /test.php
[SCRIPT_NAME] => /404error.php

कस्टम त्रुटि पृष्ठों http://example.com/test.php का उपयोग करके IIS सर्वर पर

[SCRIPT_NAME] => /404error.php
[REQUEST_URI] => /404error.php?404;http://example.com/test.php

21
+1, "एक उदाहरण सीखने का एक तरीका नहीं है, यह सीखने का एकमात्र तरीका है।" - मुझे हमेशा 404 त्रुटियों पर बहुत अच्छे शोध के साथ इस सामान को फिर से देखना होगा। =)
एलिक्स एक्सल

16
+1: पहली बार मेरे जीवन में मुझे अंतर समझ में आया। उन्हें आपके उत्तर के साथ PHP डॉक्यूमेंटेशन अपडेट करना चाहिए
मार्को डेमायो

उदाहरण 1: [SCRIPT_NAME] => /test.php/ अंत में कोई "/" नहीं होना चाहिए: उदाहरण 1: [SCRIPT_NAME] => /test.php वैसे भी जो मैं PHP 5.3.6 में देख रहा हूं। अच्छे उदाहरण हैं।
दाविद ओहिया

आप JohnM2 सही हैं, मैंने अब PHP 5.4 पर जाँच की है और URL /pinfo.php/first/second?third=fourth के लिए परिणाम इस प्रकार है: QUERY_STRING => तीसरा = चौथा REQUIT_URI => /pinfo.php/first/second ? तीसरा = चौथा SCRIPT_NAME => /pinfo.php PATH_INFO => / पहला / दूसरा
ओडिन

मैंने इसे 5.2.17 पर भी परीक्षण किया है और इसके /अंत में कोई नहीं है SCRIPT_NAME। यह PHP 5.2-5.4 में सुसंगत प्रतीत होता है, इस पर विचार करने के लिए उत्तर को संपादित करने पर विचार करें।
फ्राबिसीओ मैटे सेप

24

PATH_INFO केवल इस तरह htaccess का उपयोग करते समय उपलब्ध है:

उदाहरण 1

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^(favicon\.ico|robots\.txt)
RewriteRule ^(.*)$ index.php/$1 [L]

एक ही रहता है

[SCRIPT_NAME] => /index.php

जड़

http://domain.com/

[PHP_SELF]     => /index.php
[PATH_INFO] IS NOT AVAILABLE (fallback to REQUEST_URI in your script)
[REQUEST_URI]  => /
[QUERY_STRING] => 

पथ

http://domain.com/test

[PHP_SELF]     => /index.php/test
[PATH_INFO]    => /test
[REQUEST_URI]  => /test
[QUERY_STRING] => 

क्वेरी स्ट्रिंग

http://domain.com/test?123

[PHP_SELF]     => /index.php/test
[PATH_INFO]    => /test
[REQUEST_URI]  => /test?123
[QUERY_STRING] => 123

उदाहरण 2

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^(favicon\.ico|robots\.txt)
RewriteRule ^(.*)$ index.php?url=$1 [L,QSA]

एक ही रहता है

[SCRIPT_NAME]  => /index.php
[PHP_SELF]     => /index.php
[PATH_INFO] IS NOT AVAILABLE (fallback to REQUEST_URI in your script)

जड़

http://domain.com/

[REQUEST_URI]  => /
[QUERY_STRING] => 

पथ

http://domain.com/test

[REQUEST_URI]  => /test
[QUERY_STRING] => url=test

क्वेरी स्ट्रिंग

http://domain.com/test?123

[REQUEST_URI]  => /test?123
[QUERY_STRING] => url=test&123

उदाहरण 3

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^(favicon\.ico|robots\.txt)
RewriteRule ^(([a-z]{2})|(([a-z]{2})/)?(.*))$ index.php/$5 [NC,L,E=LANGUAGE:$2$4]

या

RewriteRule ^([a-z]{2})(/(.*))?$ $3 [NC,L,E=LANGUAGE:$1]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^(favicon\.ico|robots\.txt)
RewriteRule ^(.*)$ index.php/$1 [L]

एक ही रहता है

[SCRIPT_NAME] => /index.php

जड़

http://domain.com/

[PHP_SELF]          => /index.php
[PATH_INFO] IS NOT AVAILABLE (fallback to REQUEST_URI in your script)
[REQUEST_URI]       => /
[QUERY_STRING]      => 
[REDIRECT_LANGUAGE] IS NOT AVAILABLE

पथ

http://domain.com/test

[PHP_SELF]          => /index.php/test
[PATH_INFO]         => /test
[REQUEST_URI]       => /test
[QUERY_STRING]      => 
[REDIRECT_LANGUAGE] => 

भाषा: हिन्दी

http://domain.com/en

[PHP_SELF]          => /index.php/
[PATH_INFO]         => /
[REQUEST_URI]       => /en
[QUERY_STRING]      => 
[REDIRECT_LANGUAGE] => en

भाषा मार्ग

http://domain.com/en/test

[PHP_SELF]          => /index.php/test
[PATH_INFO]         => /test
[REQUEST_URI]       => /en/test
[REDIRECT_LANGUAGE] => en

भाषा क्वेरी स्ट्रिंग

http://domain.com/en/test?123

[PHP_SELF]          => /index.php/test
[PATH_INFO]         => /test
[REQUEST_URI]       => /en/test?123
[QUERY_STRING]      => 123
[REDIRECT_LANGUAGE] => en

यह बहुत अच्छा था। आपकी सहायताके लिए धन्यवाद!
गेब्रियल फेयर

1
यह उत्तर इस तरह से लिखा गया है कि यह बताता है कि केवल यूआरएल राइटिंग एक path_info बना सकता है, लेकिन, निश्चित रूप से, पथ जानकारी सीधे मूल URL में दर्ज की जा सकती है।

12

PHP पथ

    $_SERVER['REQUEST_URI']    = वेब पथ, अनुरोधित यूआरआई
    $_SERVER['PHP_SELF']    = वेब पथ, अनुरोध की गई फ़ाइल + पथ की जानकारी
    $_SERVER['SCRIPT_NAME']    = वेब पथ, अनुरोध की गई फ़ाइल
    $_SERVER['SCRIPT_FILENAME']   = फ़ाइल पथ, अनुरोध की गई फ़ाइल
    __FILE__    = फ़ाइल पथ, वर्तमान फ़ाइल

कहाँ पे

  • फ़ाइल पथ एक सिस्टम फ़ाइल पथ है /var/www/index.php, जैसे उपनाम समाधान के बाद
  • वेब पाथ एक सर्वर डॉक्यूमेंट पाथ है जैसे /index.phpकी http://foo.com/index.php, और यह किसी फाइल से मेल भी नहीं खा सकता है
  • वर्तमान फ़ाइल का अर्थ है शामिल स्क्रिप्ट फ़ाइल , न कि कोई स्क्रिप्ट जिसमें यह शामिल है
  • अनुरोधित फ़ाइल का अर्थ है कि शामिल स्क्रिप्ट फ़ाइल , शामिल नहीं है
  • यूआरआई है HTTP अनुरोध की तरह /index.php?foo=barकिसी भी URL पुनर्लेखन से पहले,
  • पथ जानकारी स्क्रिप्ट नाम के बाद लेकिन क्वेरी स्ट्रिंग से पहले स्थित कोई भी अतिरिक्त अपाचे डेटा है

ऑपरेशन का आदेश

  1. क्लाइंट सर्वर को HTTP रिक्वेस्ट भेजता है REQUEST_URI
  2. सर्वर किसी भी यूआरएल को लिखने के लिए .htaccess फाइल आदि से करता हैPHP_SELF
  3. सर्वर + PHP_SELFमें अलग हो जाता हैSCRIPT_FILENAMEPATH_INFO
  4. सर्वर प्रदर्शन उर्फ संकल्प है और रूपांतरित पूरे url पथ एक करने के लिए प्रणाली फ़ाइल पथ प्राप्त करने के लिएSCRIPT_FILENAME
  5. परिणामी स्क्रिप्ट फ़ाइल में अन्य शामिल हो सकते हैं, जहां __FILE__वर्तमान फ़ाइल के पथ को संदर्भित करता है

यह अच्छा है। यहाँ मेरी टिप्पणियाँ हैं। सबसे पहले, दोनों $ _SERVER ['SCRIPT_NAME'] और $ _SERVER ['SCRIPT_FILENAME'] स्क्रिप्ट नाम हैं, सिवाय इसके कि बाद में उपनाम निष्पादित होने के बाद। दूसरा, $ _SERVER ['PHP_SELF'] स्क्रिप्ट नहीं है, लेकिन स्क्रिप्ट + पथ की जानकारी है। फिर से, $ _SERVER ['SCRIPT_NAME' स्क्रिप्ट (उपनाम से पहले) है। अंत में, यह जानना उपयोगी है कि उपनाम के बाद या उससे पहले किस स्तर पर, उपनामों के बाद या इन चरणों को परिभाषित किया गया है। मेरा जवाब देखिए।

@ Dominic108 मैंने आपके सुझावों के आधार पर अपने उत्तर को संशोधित किया, चीजों को थोड़ा सा बढ़ाया, और ऑर्डर ऑफ ऑपरेशन सेक्शन जोड़ा। आप क्या सोचते हैं मुझे बताओ। धन्यवाद!
Beejor

आपके आदेश में, आपको स्वैप करना होगा $_SERVER['SCRIPT_NAME']और   $_SERVER['PHP_SELF'], क्योंकि mod_rewrite संपूर्ण पथ बनाता है, जो है $_SERVER['PHP_SELF']। अगला अलगाव होता है। ध्यान दें कि स्क्रिप्ट फ़ाइल नाम को परिभाषित करने के लिए उपनाम भी संपूर्ण पथ पर विचार करते हैं, लेकिन स्क्रिप्टिंग_name और path_info को परिभाषित करने वाला पृथक्करण पहले ही हो चुका है, इसलिए वे प्रभावित नहीं होंगे।

@ Dominic108 मैंने अपने उत्तर को फिर से संशोधित किया। किसी कारण से आपका संपादन प्रस्ताव अस्वीकार कर दिया गया था, हालाँकि जहाँ तक मुझे पता है, आप सही हैं कि मेरे दो आइटम ऑर्डर से बाहर थे। मैं उपनामों से परिचित नहीं हूं, इसलिए मैं उस हिस्से के लिए आपकी विशेषज्ञता पर निर्भर हूं। एक बार फिर धन्यवाद!
बीजर १or

5

आप URI क्लास को देखना चाहते हैं और $ का उपयोग करना चाहते हैं-> uri> uri_string ()

पूरा यूआरआई के साथ एक स्ट्रिंग लौटाता है।

उदाहरण के लिए, यदि यह आपका पूर्ण URL है:

http://example.com/index.php/news/local/345

फ़ंक्शन इसे वापस करेगा:

/news/local/345

या आप पार्सिंग / रेगेक्स मूल्यों के साथ आने के बिना विशिष्ट क्षेत्रों को नीचे करने के लिए खंडों का उपयोग कर सकते हैं


धन्यवाद - यह एक अच्छा विचार है, लेकिन मैं इनका उपयोग प्री-सिस्टम हुक में कर रहा हूं, जो नियंत्रक के उठने और चलने से पहले चलाने की आवश्यकता होगी।
एली

4

व्यक्तिगत रूप से मैं $REQUEST_URIयूआरआई दर्ज किए गए संदर्भों का उपयोग करता हूं और सर्वर के डिस्क पर स्थान नहीं।


क्या यह हमेशा पूर्ण यूआरआई है?
एली

आमतौर पर, आप विंडोज़ पर एपाचे के साथ मुद्दों में भाग सकते हैं, लेकिन यह केवल यूआरआई के लिए है जो हल नहीं करता है।
एक्सएफ़एन यान

4

ओडिन के उत्तर को जोड़ने के लिए बहुत कम है। मैंने URL पुनर्लेखन और उपनामों के प्रभावों को दर्शाने के लिए फ़ाइल सिस्टम पर वास्तविक फ़ाइल के HTTP अनुरोध से पूर्ण उदाहरण प्रदान करने के लिए महसूस किया। फाइल सिस्टम पर स्क्रिप्ट /var/www/test/php/script.phpहै

<?php
include ("script_included.php")
?>

कहाँ /var/www/test/php/script_included.phpहै

<?php
echo "REQUEST_URI: " .  $_SERVER['REQUEST_URI'] . "<br>"; 
echo "PHP_SELF: " .  $_SERVER['PHP_SELF'] . "<br>";
echo "QUERY_STRING: " .  $_SERVER['QUERY_STRING'] . "<br>";
echo "SCRIPT_NAME: " .  $_SERVER['SCRIPT_NAME'] . "<br>";
echo "PATH_INFO: " .  $_SERVER['PATH_INFO'] . "<br>";
echo "SCRIPT_FILENAME: " . $_SERVER['SCRIPT_FILENAME'] . "<br>";
echo "__FILE__ : " . __FILE__ . "<br>";  
?>

और /var/www/test/.htaccess है

RewriteEngine On
RewriteRule before_rewrite/script.php/path/(.*) after_rewrite/script.php/path/$1 

और अपाचे कॉन्फ़िगरेशन फ़ाइल में उपनाम शामिल है

Alias /test/after_rewrite/ /var/www/test/php/

और http अनुरोध है

www.example.com/test/before_rewrite/script.php/path/info?q=helloword

आउटपुट होगा

REQUEST_URI: /test/before_rewrite/script.php/path/info?q=helloword
PHP_SELF: /test/after_rewrite/script.php/path/info
QUERY_STRING: q=helloword
SCRIPT_NAME: /test/after_rewrite/script.php
PATH_INFO: /path/info
SCRIPT_FILENAME: /var/www/test/php/script.php
__FILE__ : /var/www/test/php/script_included.php

निम्नलिखित हमेशा रखती है

PHP_SELF = SCRIPT_NAME + PATH_INFO = full url path between domain and query string. 

यदि कोई mod_rewrite, mod_dir, ErrorDocument फिर से लिखना या URL पुनर्लेखन का कोई रूप नहीं है, तो हमारे पास है

REQUEST_URI = PHP_SELF + ? + QUERY_STRING 

उपनाम सिस्टम फ़ाइल पथों को प्रभावित करते हैं SCRIPT_FILENAMEऔर __FILE__, URL पथों को नहीं, जो पहले परिभाषित किए गए हैं - नीचे अपवाद देखें। उपनाम सहित पूरे URL पथ का उपयोग कर सकते हैं PATH_INFO। वहाँ सब के बीच में कोई संबंध हो सकता है SCRIPT_NAMEऔर SCRIPT_FILENAME

यह पूरी तरह से सटीक नहीं है कि जिस समय URL पथ [PHP_SELF] = [SCRIPT_NAME] + [PATH_INFO] परिभाषित किया गया है, उस समय उपनामों का समाधान नहीं किया जाता है, क्योंकि उपनामों को फ़ाइल सिस्टम की खोज करने के लिए माना जाता है और हम ओडिन के उदाहरण 4 से जानते हैं कि फ़ाइल मौजूद है या नहीं, यह निर्धारित करने के लिए फ़ाइल सिस्टम की खोज की जाती है, लेकिन यह केवल तभी प्रासंगिक है जब फ़ाइल नहीं मिली है। इसी तरह, mod_dir फ़ाइल सिस्टम को खोजने के लिए mod_alias को कॉल करता है, लेकिन यह केवल तभी प्रासंगिक है जब आपके पास कोई अन्य नाम जैसे Alias \index.php \var\www\index.phpअनुरोध और uri एक निर्देशिका हो।


हाय Dominic108, संशोधन के लिए धन्यवाद। मुझे लगता है कि यह फिर से लिखना जानकारी शामिल करने के लिए उपयोगी है। मेरे लिए यह निहित था, लेकिन दूसरों के लिए यह सहज नहीं हो सकता है।
बीजर डे

1

यदि आप कभी भूल जाते हैं कि कौन सा चर क्या करता है, तो आप एक छोटी सी स्क्रिप्ट लिख सकते हैं जो phpinfo () का उपयोग करता है और इसे एक URL से क्वेरी स्ट्रिंग के साथ कॉल करता है। चूंकि सर्वर सॉफ़्टवेयर इंस्टॉलेशन वैरिएबल को प्रस्तुत करते हैं जो PHP रिटर्न करता है इसलिए मशीन के आउटपुट की जांच करना हमेशा एक अच्छा विचार होता है जब सर्वर कॉन्फिगर फाइल में पुनर्लेखित होता है, तो अपेक्षा से भिन्न परिणाम उत्पन्न होते हैं। इसे कुछ इस तरह सहेजें _inf0.php:

<?php
    $my_ip = '0.0.0.0';

   if($_SERVER['REMOTE_ADDR']==$my_ip){
     phpinfo();
   } else {
     //something
   }

तब तुम बुलाओगे /_inf0.php?q=500


-1

बैकअप सेकेंड, आपने शुरू करने के लिए गलत तरीका अपना लिया है। ऐसा क्यों नहीं करते

RewriteEngine on
RewriteCond $1 !^(images|inc|favicon\.ico|index\.php|robots\.txt)
RewriteRule ^(.*)$ /index.php?url=$1 [L]

बजाय? फिर साथ ले लो$_GET['url'];


पहिया को क्यों मजबूत करें? यह डेटा बहुत अधिक आसानी से एक्सेस किया जाता है!
केनेथ

और अतिरिक्त जटिलता है अगर मूल अनुरोध में एक क्वेरी स्ट्रिंग होने की उम्मीद है। अपनी वर्तमान स्थिति में, उपरोक्त कोड केवल क्वेरी स्ट्रिंग को अधिलेखित करेगा। यदि आप क्वेरी स्ट्रिंग्स ( QSAध्वज) को मर्ज करते हैं, तो क्वेरी स्ट्रिंग urlपरम को संभावित रूप से अधिलेखित किया जा सकता है (उदाहरण के लिए, यदि आपको प्रारंभिक अनुरोध पर एक पैराम की आवश्यकता है ) या इससे भी बदतर, XSS हमलों के लिए असुरक्षित हो।
मृदशी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.