sinvoller einsatz von include und funktionen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • sinvoller einsatz von include und funktionen

    hier eine vielleicht eher allgemeine frage ab wann es sinnvoll ist, funktionen und/oder include zu nutzen und ab wann es eher wieder uneffectiv wird.

    kann man das überhaupt in gewisse grenzen packen?

    hintergrund sind zahlreiche hinweise hier im forum, dass es z.b. ungünztig ist, wenn über den code der name der einzelnen tabellen bekannt würde. ergo das ganze in include packen. da ich wahrscheinlich viel mit dynamischen tabellennamen arbeiten will, könnte das wichtig werden

    vielleicht kann der ein oder andere seine erfahrungen mitteilen

  • #2
    include hat mit dem Erfahren der Tabellennamen nichts zu tun.

    include benutz ich beim einbinden von "Blöcken" (html-templates, config.php, functions.php, phpmailer-Klasse, php-"Seiten")

    functions laufen einem über den Weg wenn man es leid ist die immer gleichen Sachen ausführen zu lassen, die sich nur in einzelnen Variableninhalten unterscheiden. Diese Codeblöcke gliedert man als Funktion aus und übergibt die unterschiedlichen Variableninhalte als Parameter der Funktion.

    Die nächste Programmierstufe wäre dann das Verwenden von Klassen und dann wirft man alles über den Haufen und programmiert nicht mehr im herkömmlichen Sinn prozedural, sondern objektorientiert mit Klassen (OOP).

    ****

    wegen der Tabellen:

    ungünstig ist wenn man mysql_error drin hat und ein "Angreifer" absichtlich Schrott eingibt um eine Fehlermeldung zu provozieren.

    Er erhält dann in der Fehlermeldung Informationen über die Tabellenstruktur.
    Zuletzt geändert von Koala; 10.05.2007, 22:46.

    Kommentar


    • #3
      und wie kann man das dann einigermaßen verhindern, dass man die tabellennamen erfährt?

      Kommentar


      • #4
        In dem man im produktiven Betrieb keine solchen Meldungen nach aussen gibt, sondern sie bspw. nur intern mitloggt. (Beim Entwickeln lässt man sich aber selbstverständlich alle Fehlermeldungen anzeigen.)
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          wenn aber innerhalb des prozesses, abhängig vom userverhalten ne neue datenbank mit einem bestimmten dynamischen tabellennamen (wahsaga wird sich erinnern ) angelegt werden soll, muss ich doch in irgendeiner form den create-befehl ausführen lassen und darin den tabellennamen nennen. ich hätte gedacht, dass das dann über include und ner .inc.php erledigt würde
          Zuletzt geändert von damilchmann; 10.05.2007, 23:21.

          Kommentar


          • #6
            ja - und was willst damit sagen ???

            include erledigt überhaupt nicht das anlegen von Tabellen oder sonst was, sondern bindet Code aus der angegebenen Datei in die Datei ein in der die include-Anweisung steht.

            Es ging um mysql_error !

            Wieso macht niemand ein Tutorial um sich Grundlagen anzueignen ?

            Zuletzt geändert von Koala; 10.05.2007, 23:22.

            Kommentar


            • #7
              dass man doch möglicherweise über den quelltext die daten auslesen könnte, wozu wäre es sonst nötig z.b. inc.php dateien anzulegen

              Kommentar


              • #8
                Was glaubst du, unterscheidet eine index.php von einer xyz.inc.php, in Punkto "man könnte irgendwas auslesen"?


                Du scheinst einiges an der Funktionsweise von PHP noch zu wenig verstanden zu haben, mixt ein paar höchstvermutlich missverstandene Äusserungen erfahrenerer Teilnehmer bzgl. Sicherheit hinzu - und heraus kommen dann solche Gedankengänge.
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  ja genau, so läuft das nun mal. man macht sich eigene bilder aus anderen meinungen. wenn ich es wüsste, dann würde ich nicht fragen.

                  also langsam fängt es an zu nerven herr wahsaga. gibt es mal ne möglichkeit, dass du einfach antwortest oder musst du ständig mit gegenfragen sticheln, nur weil jemand nicht auf gleichem niveau wie du denkt, handelt und auch fragt.

                  was soll deine arbeit hier im forum, wenn du es nicht für nötig hälst, fragen zu beantworten oder nur ab einem gewissen level, welches du für dich festlegst und anderen aufdrückst.

                  irgendwie macht es dir mehr spass, leuten zu zeigen, dass sie dümmer sind als du, als vernünftig zu reden. ja, ich hab einiges noch wenig verstanden, um es mit deinen worten zu sagen aber ich lerne, versuche es zu verstehen und was ich nicht verstehe, versuche ich zu erfragen. nicht alles lässt sich aus starren texten erschließen. dagegen hilft fragen! und ich wiederhole mich gerne, aber ich dachte ein forum wäre dazu da, dass leute die weniger wissen von leuten die mehr wissen etwas erfahren und sich nicht bleidigen lassen sollten.

                  tu mir ein gefallen, versuch dich einfach mal in die hinein zu versetzen, die eben gerade damit anfangen, beschränk dich aufs antworten und lass das sticheln und kritisieren.

                  und wenn du nicht ganz so feige bist, bannst du mich nicht vom forum.

                  guten abend der herr!
                  Zuletzt geändert von damilchmann; 10.05.2007, 23:43.

                  Kommentar


                  • #10
                    Was ist überhaupt dein Problem? define / include sind dir bekannt, das *.inc.php und *.php das gleiche ist auch - wo hakt es?
                    Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

                    Kommentar


                    • #11
                      wo liest Du denn eine Beleidigung raus ???

                      Klar muß man als Anfänger mal fragen wenn man nicht weiter kommt.

                      Aber so Sachen wie "was macht include ?" sind doch im Quake-Tutorial beschrieben.

                      Du kannst doch nicht ernsthaft erwarten, daß wir Antworten auf grundlegende Fragen aus den Tutorials rauskopieren und hier einfügen ?

                      Ein paar Grundlagen kannst Du ja schon.

                      Du bist herzlich eingeladen hier das Forum zu verbessern indem Du freundlich Klammern in Buchstabenwüsten suchst für Leute denen PHP eh egal ist und die nur wollen daß es "funzt".

                      Bis jetzt bist Du mir als Helfer nicht aufgefallen.

                      Kommentar


                      • #12
                        Statt hier rumzumaulen, solltest Du Dich mal mit Grundlagen befassen. Wahsagas Gegenfragen sind kein Sticheln, sondern sollen Dich dazu bringen, selbst auf die Lösung zu kommen. Das erhöht den Lerneffekt ungemein und ist eins der Hauptziele dieses Forums (Hilfe zur Selbsthilfe). Zum Problem:

                        Was veranlasst Dich zu glauben, dass der Client irgendwas von Deinem PHP-Quelltext (ob nun included, oder nicht) mitbekommt, wenn Du das nicht explizit mitsendest (z.B. über mysql_error())?

                        Wenn Du diese Frage nicht verstehst, lies mal hier. Wie gesagt: Grundlagen!

                        Kommentar


                        • #13
                          Um Probleme eigenständig lösen zu können, ist es wichtig, sich die richtigen Fragen stellen zu können.
                          Das fällt Anfängern erfahrungsgemäß oft schwer.

                          Ich helfe Leuten gerne weiter, in dem ich ihnen zeige, was (einige) der richtigen und wichtigen Fragen in Bezug auf ihr Problem sind - die Erfahrung, um das besser einschätzen zu können als ein Anfänger, habe ich glaube ich in Bezug auf einen Großteil der Fragen, die hier gestellt werden

                          Das ist meiner Meinung nach eines der besten Angebote, die du überhaupt kriegen kannst - du bekommst nichts fertig vorgekaut, sondern wirst darauf hingewiesen, worüber und in welche Richtung du Nachdenken solltest.


                          Sehr gut auf den Punkt bringt es ein Zitat des französischen Anthropologen Claude Levi-Strauss:
                          The wise man doesn't give the right answers, he poses the right questions.

                          In diesem Falle hier halte ich die Gegenfrage für absolut berechtigt.
                          Du glaubst, dass es einen Unterschied zwischen einer index.php und einer xyz.inc.php gebe. Also denke darüber nach, welcher das sein könnte; versuche, es mit eigenen Worten zu formulieren.
                          Ob du damit richtig liegst oder nicht, wird dir hier anschliessend sicher gern erklärt werden.


                          Einen Grund, "beleidigt" zu sein, hast du aber absolut nicht.
                          Ich habe nicht gestichelt und kritisiert, sondern den Sachverhalt so beschrieben, wie er sich hier darstellt.
                          I don't believe in rebirth. Actually, I never did in my whole lives.

                          Kommentar


                          • #14
                            Original geschrieben von wahsaga
                            Du glaubst, dass es einen Unterschied zwischen einer index.php und einer xyz.inc.php gebe. Also denke darüber nach, welcher das sein könnte;
                            veto - ich habe diese woche etwas interessantes festgestellt. folgende konstellation:
                            apche läuft mit server side includes (ssi)
                            Code:
                            AddHandler server-parsed .css
                            dann, habe ich festgestellt, dass pma die stylesheets nicht darstellt. die css werden dabei dynamisch über eine php-datei eingebunden, "phpmyadmin.css.php"

                            tja, der apache parst nur bis .css, das nachfolgende ".php" wird ignoriert. und siehe da, die php-datei wird als text-file zum download angeboten.

                            fand ich ganz schön krass und sicherheitstechnisch höchst bedenklich.
                            Zuletzt geändert von 3DMax; 11.05.2007, 16:34.

                            Kommentar


                            • #15
                              Original geschrieben von wahsaga
                              also, zunächst mal danke für deine sachliche antwort auf meine sicher nicht vollkommen sachliche beschwerde! es war sicher etwas überhitzt, dafür sorry

                              ich verstehe euer ansinnen, den leuten nicht einfach die lösung an den kopf zu knallen vollkommen und halte es auch für sinnvoll, allerdings nicht bis ins unendliche. irgendwann sollte man vielleicht ein erbarmen haben und einfach mit einer antwort über den tisch kommen. ich glaube auch, dass es sicher nervt, wenn sich leute hier hinstellen und einfach lösungen erwarten aber ich beschäftige mich damit und das zwischen job, studium und familie mit töchterchen. leider ist, wie schon erwähnt nicht alles aus büchern oder starrem text erschließbar und manchmal bin auch schlicht weg zu blöd. mehr und mehr quellen dazu führen oft zu noch mehr verwirrung.

                              letztlich habe ich hier aber nicht nach der allg. funktionsweise von include oder funktionen gefragt sondern hab nach deren sinnvollen einsatzmöglichkeiten und deren grenzen gefragt, mehr nicht.
                              womit auch der zwischendurcheinwand von Koala und tontechniker beantworten sein sollte!


                              um deine frage zu beantworten: der unterschied liegt nach meinem angelesenen wissen nur darin, dass eine inc.php "gaparst" werden kann, eine .inc aber nicht und wenn der direkte pfad angegeben wird, als text ausgegeben wird. ich habe es zunächst nur mit inc.php und .php verwechselt.


                              aber nochmal, ich fragte nach grenzen der einsatzfähigkeit sowohl nach oben als auch nach unten, sprich, macht es irgendwann keinen sinn mehr sie zu nutzen und was kommt dann. (antwort u.a. oop) und das sind, so dachte ich erfahrungswerte und nicht das wissen um deren prinzipielle funktion.


                              Bis jetzt bist Du mir als Helfer nicht aufgefallen.
                              von Koala

                              das klingt ein wenig nach veralteten stellenanzeigen: wir suchen jungen dynamischen mitarbeiter, nicht älter als 25 jahre aber bitteschön mind. 15 jahre berufserfahrung. wie soll man als anfänger in nem forum als beantworter tätig werden, wenn man schon über die betreff-zeilen stolpert. macht wenig sinn, oder?
                              Zuletzt geändert von damilchmann; 11.05.2007, 21:03.

                              Kommentar

                              Lädt...
                              X