Πηγαίος κώδικας σεναρίου. Πώς να ενσωματώσετε κώδικα JavaScript σε μια σελίδα HTML. Γιατί ίσως χρειαστεί να μελετήσουμε τον πηγαίο κώδικα
Αποποίηση ευθυνών!
Αυτό που θα δείτε μέσα στον πηγαίο κώδικα είναι ο χειρότερος κώδικας, τον οποίο καλό είναι να μην χρησιμοποιείτε στα έργα σας για να αποφύγετε όλα τα προβλήματα που αντιμετώπισα κάποτε εγώ ο ίδιος. Εάν, φυσικά, ως αθάνατο άτομο, αποφασίσετε να χρησιμοποιήσετε τον κωδικό μου στα έργα σας, τότε σας προειδοποιώ ότι αποποιούμαι κάθε ευθύνη για τη χρήση του και τυχόν προβλήματα που μπορεί να έχετε. Διαδίδοντας τις διάφορες τροποποιήσεις σας, εάν υπάρχουν, αλλάξτε το όνομά τους, επειδή το Police Tools εξακολουθεί να υπάρχει και υποστηρίζεται από τον προγραμματιστή. Συνιστάται να λαμβάνετε σοβαρά υπόψη αυτά τα πράγματα, επειδή κανείς δεν είναι ασφαλισμένος κατά της Αφαίρεσης "α, και σκοπεύω να προστατεύσω τα πνευματικά δικαιώματα για το προϊόν μου μέχρι το τέλος της υποστήριξης αυτό το σενάριο. Το θέμα των πνευματικών δικαιωμάτων δεν ισχύει μόνο για τη δημοσίευση στο BlastHack, αλλά για όλους τους ιστότοπους γενικά. Ευχαριστώ για την κατανόηση!
Καλή μάθηση!
Καλή μέρα,κύριοι LUA "shniks. Σήμερα, 1 Ιανουαρίου 2019, θα ήθελα να σας παρουσιάσω τον πλήρη πηγαίο κώδικα του σεναρίου μου Αστυνομικά εργαλεία. Για να μην τρέχουν οι άνθρωποι να δημιουργήσουν τα δικά τους αντίγραφα του πνευματικού μου τέκνου, θα πω ότι αυτή η έκδοση είναι αρκετά παλιά ώστε τα συστήματά της να μην αποτελούν πλέον κίνδυνο για το κύριο έργο μου. Πρέπει να πω αμέσως ότι δημοσιεύω αυτό το έργο εδώ, γιατί. Θέλω να βοηθήσω τους ανθρώπους που θέλουν να μάθουν το LUA να μάθουν. Μην αντιγράψετε ανόητα τον κωδικό, αλλάξτε το όνομα και περάστε το έργο ως δικό σας, δηλαδή για να αποκτήσετε γνώση. Εγώ, όπως κανείς άλλος, καταλαβαίνω πώς είναι να ξεκινάς εντελώς από το μηδέν, χωρίς να έχεις στη διάθεσή σου περισσότερο ή λιγότερο Καλό παράδειγμα. Επίσης, δεν θα πω ότι αυτό το έργο είναι όμορφο. Άρχισα να γράφω 2017, τότε εγώ ο ίδιος μόλις άρχιζα να γράφω σενάρια στο LUA, μπορεί να υπάρχουν τρομερά συστήματα.
Ένα τεράστιο μέρος του κώδικα σχολιάζεται, δεν χρειάζεται καν να τον κοιτάξετε, ήμουν πολύ τεμπέλης να τον κόψω.
Συνιστώ να διαβάσετε αυτό το θέμα στο σύνολό του, διαφορετικά πιθανότατα δεν θα καταλάβετε τίποτα όταν ανοίξετε τον πηγαίο κώδικα. Είστε έτοιμοι να διαβάσετε; Ελπίζω η απάντησή σας να είναι θετική. Ας αρχίσουμε.
Η ίδια η πηγή αποτελείται από ορισμένα πράγματα που είναι πολύ δύσκολο για αρχάριους να κατακτήσουν:
Παράθυρα και επικαλύψεις ImGUI [ κύρια διεπαφή ]
Δικτύωση [ ασύγχρονα αιτήματα / κανονικά αιτήματα HTTP ]
Εργασία με διαμορφώσεις INI [ ρυθμίσεις σεναρίου ]
Εργασία με διαλόγους πολλαπλών βημάτων [ πρόσθετη διεπαφή ]
Εργασία με κανονικές εκφράσεις [lua pattern]
Λίγη δουλειά με το SAMP LUA.
Τώρα ας συζητήσουμε τα προβληματικά μέρη του πηγαίου κώδικα μου:
Πολύ μπερδεμένος κώδικας, γιατί Το έγραφα σχεδόν τρία χρόνια, ο Θεός να τον έχει καλά.
Σχόλια Dofiga που ουσιαστικά δεν βγάζουν νόημα και ήταν σημάδια.
Σε ορισμένα σημεία, υπάρχει ένας τεράστιος αριθμός γραμμών αντί για μία, αλλά αυτό δεν είναι κρίσιμο.
Αν μιλάμε για τα πλεονεκτήματα, τότε μπορούμε να επισημάνουμε τα εξής:
10 χιλιάδες καθαρός κώδικας + 3 χιλιάδες περισσότερα μερικές φορές χρήσιμα σχόλια.
Ιδιωτικά συστήματα, για τα οποία κάποτε έβαλε τα χρήματα που κέρδισε με κόπο.
Καλά συστήματα που μπορούν να χρησιμεύσουν ως πηγές λειτουργιών δικτύου.
Θα απλοποιήσω επίσης την εργασία σας και θα παραθέσω ενδιαφέρουσες λειτουργίες:
Αυτόματη επανακύλιση όπλου.
Μπορεί να βρεθεί στο κύριο, σχόλιο [ WEAPON_FUNCTION_BEGIN ].
Ελαφρώς επανασχεδιασμένο σύστημα κυκλικών ασύγχρονων αιτημάτων.Μπορεί να βρεθεί μέσω αναζήτησης, συνάρτησης [ loop_async_http_request ].
Ένα πλήρες σύστημα συνομιλίας σε σενάριο για την παραπάνω λειτουργία.Μπορεί να βρεθεί στη γραμμή [ 3985 ] ή με κλειδί. λέξη [ getmsg2.php ].
Ως παράδειγμα, μια πλήρης βάση δεδομένων του Υπουργείου Εσωτερικών.Μπορεί να βρεθεί στη γραμμή [ 8124 ] ή με το κλειδί. λέξη [cmd_database].
Ένα πλήρες σύστημα βιβλιοδεσίας σε σενάριο με ετικέτες.Το Mini MVDHelper, όπως πολλοί πιστεύουν, μπορεί να βρεθεί σε όλο το σενάριο.
Αυτή η πηγή χρησιμοποιεί τις ακόλουθες βιβλιοθήκες:
Samp.lua
αγαπητέ imgui
μνήμη
κωδικοποίηση [για ImGUI, αντίστοιχα]
Ίσως θα συμπληρώσω αυτό το θέμα με χρήσιμο και ενδιαφέρουσες πληροφορίες. Καταλαβαίνετε, το βράδυ μετά το νέο έτος είναι πάντα δύσκολο. Αν ξέχασα να προσθέσω κάτι, και το βρήκατε στην πηγή, τότε γράψτε στο θέμα, θα σας είμαι πολύ ευγνώμων. Ελπίζω ότι με τον πηγαίο κώδικα μου μπορώ να βοηθήσω τουλάχιστον κάποιους από αυτούς που αρχίζουν να μαθαίνουν LUA ή προσπαθούν να γράψουν το πρώτο τους σενάριο. Εάν έχετε ερωτήσεις σχετικά με την πηγή, μπορείτε επίσης να τις ρωτήσετε σε αυτό το νήμα. Αν θέλετε να αφήσετε μια κριτική, συνεχίστε, όλο το θέμα είναι στη διάθεσή σας. Και να σας υπενθυμίσω για άλλη μια φορά, άρχισα να γράφω αυτό το σενάριο μόλις σπούδαζα, οπότε δεν πρέπει να το επικρίνετε πολύ. Είμαστε όλοι άνθρωποι, όλοι κάνουμε λάθη με τον ένα ή τον άλλο τρόπο. Ένα τεράστιο αίτημα, δημιουργήστε μοναδικά σενάρια, μην επαναλαμβάνεστε μετά από άλλα, εκτός αν φυσικά μάθετε από το παράδειγμα κάποιου άλλου. Θυμηθείτε, αν κάτι δεν σας βγαίνει, προσπαθήστε περαιτέρω - κάποια μέρα όλα θα πάνε καλά, αν δεν τα παρατήσετε. Μην προσπαθήσετε να κλείσετε τον κωδικό σας, αφήστε τους άλλους να δουν τι μπορείτε να κάνετε. Εξάλλου, μόνο έτσι θα αναγνωριστείς ως άτομο που μπορεί να γράψει κώδικα και δεν φοβάται να τον δείξει. Συνειδητοποιώ ότι δεν είμαι ο πρώτος που δημοσιεύει ένα τεράστιο έργο, αλλά ελπίζω να μην είμαι ο τελευταίος που θα το κάνει. Λοιπόν, ο Pavel Garson ήταν σε επαφή μαζί σας, μελετήστε και πετύχετε όλα όσα θέλετε. Και ναι, παρέχω αυτήν την πηγή για ανασκόπηση και όχι για αναιδή αντιγραφή. Αν αντιγράψεις, τότε γράψε από πού το πήρες. Και σας ευχαριστώ, όλα.
Πραγματικά, νομίζω ότι δεν σε ενδιαφέρει καθόλου αυτό που έγραψα παραπάνω, απλά ψάξε την πηγή.
Τεράστιος σεβασμός σε εκείνους τους ανθρώπους που διάβασαν όλο το κείμενο που κατέληξα μετά το NG =))
Θέλησες ποτέ να κρυφτείς από αγνώστουςστη σελίδα σας ένα σενάριο που υλοποιεί μια μη ρεαλιστικά όμορφη εμφάνιση μενού ή άλλες ενέργειες που δεν θα θέλατε να βλέπετε σύντομα σε κάθε δεύτερο ιστότοπο;
Εάν ναι, τότε η μέθοδος που περιγράφεται σε αυτό το άρθρο θα σας φανεί χρήσιμη μαζί με τη συσκότιση κώδικα. Ταυτόχρονα, θα κάνω μια κράτηση αμέσως ότι η μέθοδος δεν είναι 100 τοις εκατό, αλλά πιθανότατα θα προστατεύσει από τους περισσότερους μη επαγγελματίες και ορισμένους επαγγελματίες.
Θεωρία
Ας υποθέσουμε ότι έχουμε μια σελίδα nojs.php και σε αυτήν υπάρχει ένα σενάριο secret.js που πρέπει να κρυφτεί. Το πρόγραμμα περιήγησης και ο χρήστης μπορούν να λάβουν το σενάριο από τον διακομιστή με τους εξής τρόπους:- Φόρτωση ενός σεναρίου που τοποθετείται απευθείας στη σελίδα ή φορτώνεται χρησιμοποιώντας το DOM.
- Προβολή σεναρίου στο παράθυρο Πηγαίος κώδικας σελίδας;
- Αποθήκευση της σελίδας με όλα τα αρχεία στον σκληρό δίσκο.
- Εισαγωγή απευθείας διεύθυνσης URL στη γραμμή διευθύνσεων.
Στη δεύτερη και στην τρίτη περίπτωση, δεν μεταδίδεται από όλα τα προγράμματα περιήγησης (Chrome, FireFox δίνουν το σενάριο που φορτώθηκε προηγουμένως από τη μνήμη cache· Opera, IE φορτώνουν ξανά το σενάριο, αλλά χωρίς να στείλουν τον παραπομπή).
Στην τέταρτη περίπτωση, η αναφορά δεν περνά από κανένα από τα τέσσερα προγράμματα περιήγησης.
Εάν εκδώσουμε JavaScript δυναμικά με έλεγχο για την παρουσία της κεφαλίδας παραπομπής στο αίτημα, τότε θα προστατευτούμε αμέσως από τον Opera και τον IE, αλλά για το Crome και τον Firefox θα πρέπει να καταλήξουμε σε κάτι πιο περίπλοκο. Θα φορτώσουμε πρώτα ένα σενάριο, το οποίο με τη σειρά του θα φορτώσει ένα άλλο σενάριο, ενώ και οι δύο λήψεις θα ελεγχθούν για την παρουσία http-referer. Διαπιστώθηκε με επιστημονική έρευνα ότι εάν δημιουργήσετε δυναμικά ένα σενάριο στη σελίδα document.createElement("script") και στη συνέχεια το διαγράψετε από τη σελίδα, το σενάριο θα λειτουργήσει ως συνήθως, αλλά δεν θα αποθηκευτεί.
Πρακτική
nojs.php
Αυτή η σελίδα προορίζεται για τη φόρτωση του script1.phpheader("Content-Type:text/html;charset=utf-8"); ?>