আমি একটি নতুন উত্তর পোস্ট করছি কারণ আমি খুঁজে পেয়েছি যে জিনাকের উত্তরের যথেষ্ট উদাহরণ নেই, এইচটিএমএল এবং ইউআরআই হ্যান্ডলিংকে বিভিন্ন দিক এবং মান হিসাবে দেখায় না এবং কিছু ছোটখাটো জিনিস অনুপস্থিত রয়েছে।
লিঙ্কগুলিতে ইউআরএল সম্পর্কিত দুটি মান রয়েছে ( <a href) have
প্রথম স্ট্যান্ডার্ডটি হ'ল আরএফসি 1866 (এইচটিএমএল ২.০) যেখানে "৩.২.১। তথ্য অক্ষর" আপনি এমন অক্ষরগুলি পড়তে পারেন যা কোনও এইচটিএমএল বৈশিষ্ট্যের মান হিসাবে ব্যবহৃত হলে পালাতে হবে। (নিজস্ব বৈশিষ্ট্যগুলি বিশেষ চরিত্রগুলিকে একেবারেই মঞ্জুরি দেয় না, যেমন <a hr&ef="http://...অনুমতি দেওয়া হয় না বা হয় না <a hr&ef="http://...))
পরে এটি এইচটিএমএল 4 স্ট্যান্ডার্ডের মধ্যে চলে গেছে , আপনার যে অক্ষরগুলি পালাতে হবে সেগুলি হ'ল:
< to <
> to >
& to &
" to "e;
' to '
অন্য স্ট্যান্ডার্ডটি হ'ল আরএফসি 3986 "জেনেরিক ইউআরআই স্ট্যান্ডার্ড", যেখানে ইউআরএলগুলি পরিচালনা করা হয় (ব্রাউজার কোনও লিঙ্ক অনুসরণ করতে চলেছে কারণ ব্যবহারকারী এইচটিএমএল উপাদানটিতে ক্লিক করেছে)।
reserved = gen-delims / sub-delims
gen-delims = ":" / "/" / "?" / "#" / "[" / "]" / "@"
sub-delims = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "="
এই অক্ষরগুলি থেকে বাঁচতে গুরুত্বপূর্ণ তাই ক্লায়েন্ট জানতে পারে যে তারা ডেটা বা একটি ডিলিমিটার উপস্থাপন করে।
অপ্রকাশিত উদাহরণ:
https://example.com/?user=test&password&te&st&goto=https://google.com
উদাহরণস্বরূপ, সম্পূর্ণরূপে আইনী ইউআরএল
https://example.com/?user=test&password&te%26st&goto=https%3A%2F%2Fgoogle.com
এইচটিএমএল বৈশিষ্ট্যের মান হিসাবে সম্পূর্ণরূপে আইনী ইউআরএল উদাহরণ:
https://example.com/?user=test&password&te%26st&goto=https%3A%2F%2Fgoogle.com
গুরুত্বপূর্ণ পরিস্থিতিতে:
মান হিসাবে জাভাস্ক্রিপ্ট:
<img src="..." onclick="window.location.href = "https://example.com/?user=test&password&te%26st&goto=https%3A%2F%2Fgoogle.com";">...</a>(হ্যাঁ, ;;সঠিক।)
মান হিসাবে JSON:
<a href="..." data-analytics="{"event": "click"}">...</a>
পালানো জিনিসগুলির অভ্যন্তরে পালিয়ে যাওয়া জিনিসগুলি, ডাবল এনকোডিং, প্যারামটারের ভিতরে URL এর URL ইত্যাদি ...
http://x.com/?passwordUrl=http%3A%2F%2Fy.com%2F%3Fuser%3Dtest&password=""123