Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
gha-lab-f1c8785cc8 — GitHub Actions वर्कफ़्लो सैंडबॉक्स CVE-2025-46820 प्रजनन के लिए | Kitploit
उपकरण/GitHubGitHub/pvharmo2/gha-lab-f1c8785cc8
भेद्यता विश्लेषणशोषणलर्निंग और शिक्षाचयनित संसाधनलैब और अभ्यास
GitHubpvharmo2/gha-lab-f1c8785cc8

gha-lab-f1c8785cc8

GitHub Actions वर्कफ़्लो सैंडबॉक्स CVE-2025-46820 प्रजनन के लिए

रिपॉजिटरी देखें
13 दिन पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
PHP 7 प्रोजेक्ट्स के लिए आधुनिक DOM API

आधुनिक DOM API

PHP के मूल DOMDocument के ऊपर निर्मित, यह प्रोजेक्ट आधुनिक DOM APIs तक पहुंच प्रदान करता है, जैसा कि आप ब्राउज़र में क्लाइंट-साइड कोड के साथ काम करते समय अपेक्षा करेंगे।

अपने सर्वर-साइड कोड में DOM हेरफेर करने से गतिशील पृष्ठों के निर्माण का तरीका बेहतर होता है। एक मानकीकृत ऑब्जेक्ट-ओरिएंटेड इंटरफ़ेस का उपयोग करने का मतलब है कि पृष्ठ को पहले से संसाधित किया जा सकता है, जिससे ब्राउज़र, वेबसर्वर और कंटेंट डिलीवरी नेटवर्क को लाभ होता है।


बिल्ड स्थिति कोड गुणवत्ता कोड कवरेज वर्तमान संस्करण PHP.Gt/Dom दस्तावेज़ीकरण

उपयोग का उदाहरण: नमस्ते, आप!

महत्वपूर्ण नोट: यहां दिखाया गया उदाहरण केवल चित्रण के उद्देश्य से है, लेकिन तत्वों के मानों में सीधे डेटा सेट करने के लिए DOM का उपयोग करना तर्क को दृश्य से कसकर जोड़ता है, जिसे खराब अभ्यास माना जाता है। कृपया DOM में डेटा बाइंडिंग के लिए अधिक मजबूत समाधान हेतु DomTemplate लाइब्रेरी देखें।

एक फॉर्म वाले पृष्ठ पर विचार करें, जिसमें आपका नाम दर्ज करने के लिए एक इनपुट तत्व है। जब फॉर्म सबमिट किया जाता है, तो पृष्ठ को आपको आपके नाम से अभिवादन करना चाहिए।

यह एक सरल उदाहरण है कि कैसे स्रोत HTML फ़ाइलों को टेम्पलेट के रूप में माना जा सकता है। इसे आसानी से अधिक उन्नत टेम्पलेट पृष्ठों पर लागू किया जा सकता है ताकि गतिशील सामग्री प्रदान की जा सके, बिना गैर-मानक तकनीकों जैसे {{कर्ली ब्रेसेस}} प्लेसहोल्डर के लिए, या PHP के भीतर से echo '<div class='easy-mistake'>' . $content['opa'] . '</div>' त्रुटि-प्रवण HTML निर्माण की आवश्यकता के बिना।

स्रोत HTML (name.html)

root@kitploit:~
<!doctype html>
<h1>
	Hello, <span class="name-output">you</span> !
</h1>

<form>
	<input name="name" placeholder="Your name, please" required />
	<button>Submit</button>
</form>

आपका नाम इंजेक्ट करने के लिए उपयोग किया जाने वाला PHP (index.php)

root@kitploit:~
<?php
use Gt\Dom\HTMLDocument;
use Gt\Dom\HTMLElement\HTMLSpanElement;
require "vendor/autoload.php";

$html = file_get_contents("name.html");
$document = new HTMLDocument($html);

if(isset($_GET["name"])) {
	$span = $document->querySelector(".name-output");
	$span->innerText = $_GET["name"];
}

echo $document;

एक नज़र में विशेषताएं

  • W3C के DOM लिविंग स्टैंडर्ड के साथ संगत:
    • Element प्रकार सभी HTMLElement विनिर्देशों का प्रतिनिधित्व करता है, जैसे HTMLAnchorElement (<a>), HTMLButtonElement (<button>), HTMLInputElement (<input>), HTMLTableSectionElement (<thead>, <tbody>, <tfoot>), आदि। विशेष प्रकार का पता Element::getElementType() से लगाया जा सकता है, जो ElementType enum मानों में से एक लौटाता है।
    • विभिन्न प्रकार के अपवादों को पकड़ने के लिए DOMException एक्सटेंशन, जैसे EnumeratedValueException, HierarchyRequestError, IndexSizeException, आदि।
    • क्लाइंट-साइड कार्यक्षमता स्टब की गई है जिसमें FileList, StyleSheet, VideoTrackList, WindowProxy, आदि के लिए क्लास शामिल हैं।
  • DOM स्तर 4+ कार्यक्षमता:
    • CSS सेलेक्टर का उपयोग करके तत्वों को संदर्भित करें Element::querySelector() और (Element::querySelectorAll()) के माध्यम से
    • ClassList का उपयोग करके तत्वों के क्लास जोड़ें/हटाएं/टॉगल करें
    • Element::previousElementSibling, Element::nextElementSibling, Element::children और Element::lastElementChild और firstElementChild आदि के साथ केवल Element-नोड्स को ट्रैवर्स करें।
    • , , , के साथ चाइल्ड नोड्स डालें और हटाएं
  • HTMLDocument पर मानक गुण:
    • anchors
    • forms
    • image
    • links
    • scripts
    • title

ज्ञात सीमाएं / W3C विनिर्देश अनुपालन

यह रिपॉजिटरी https://dom.spec.whatwg.org/ पर DOM विनिर्देश के जितना संभव हो उतना सटीक होने का लक्ष्य रखती है - v4.0.0 के अनुसार सभी कार्यक्षमता निम्नलिखित मामूली लेकिन अपरिहार्य मानक से विचलन के साथ लागू की गई है:

  • तत्वों की tagName संपत्ति अपरकेस में है।
  • HTMLElement प्रकार की जांच करने के लिए, Element::getElementType() को कॉल किया जाना चाहिए - उदाहरण के लिए, instanceof के साथ उपयोग के लिए Element का कोई उपवर्ग उपलब्ध नहीं है।
  • DOM विनिर्देश ऐसी कार्यक्षमता को परिभाषित करता है जो केवल क्लाइंट-साइड पर लागू करना संभव है। उदाहरण के लिए, HTMLInputElement::files एक FileList लौटाता है जो उन सभी फ़ाइलों की गणना करता है जिन्हें उपयोगकर्ता ब्राउज़र के इंटरफ़ेस के माध्यम से चुनता है। इस प्रकार की कार्यक्षमता सर्वर-साइड पर लागू करना असंभव है, लेकिन विनिर्देश के साथ स्थिरता के लिए इसे स्टब किया गया है। इस लाइब्रेरी के भीतर क्लाइंट-साइड कार्यक्षमता का उपयोग करने का प्रयास ClientSideOnlyFunctionalityException फेंकता है।

डेटा बाइंडिंग और पेज टेम्पलेट सुविधाएं

यह रिपॉजिटरी DOM विनिर्देश के जितना संभव हो उतना सटीक होने का इरादा रखती है। रिपॉजिटरी का एक एक्सटेंशन https://php.gt/domtemplate पर उपलब्ध है जो कस्टम तत्वों और टेम्पलेट विशेषताओं के माध्यम से पेज टेम्पलेटिंग और डेटा बाइंडिंग जोड़ता है, जो WebComponents जैसी सर्वरसाइड कार्यक्षमता पेश करता है।

PHP 8.4 नेटिव HTMLDocument

PHP 8.4 के रिलीज़ के बाद से, PHP में मूल रूप से एक नया नेटिव HTMLDocument क्लास शामिल किया गया है। इसके नेटिव बाइंडिंग होने के कारण, सभी ऑपरेशन बहुत तेज़ हैं। PHPGT के Dom कार्यान्वयन को नए नेटिव कोड का उपयोग करने के लिए काम शुरू किया गया है। सौभाग्य से, DOM एक बहुत अच्छी तरह से परिभाषित मानक है, इसलिए जो भी हो, आपके कोड में न्यूनतम या कोई बदलाव की आवश्यकता नहीं होगी।

php84-benchmark शाखा पर बेंचमार्क स्वयं देखें: अधिकांश ऑपरेशनों में नेटिव कार्यान्वयन पर स्विच करके गति में 90% या उससे अधिक की वृद्धि दर्ज की गई है!

जब नेटिव क्लास के कार्यान्वयन की दिशा में अधिक काम किया जाएगा तो readme में अधिक जानकारी दी जाएगी।

टूल डाउनलोड करें
ChildNode::remove()
ChildNode::before
ChildNode::after
ChildNode::replaceWith()