AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein PHP - sind hier "Sicherheitsexperten" an Board?
Thema durchsuchen
Ansicht
Themen-Optionen

PHP - sind hier "Sicherheitsexperten" an Board?

Ein Thema von himitsu · begonnen am 29. Jun 2010 · letzter Beitrag vom 9. Aug 2010
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#1

AW: PHP - sind hier "Sicherheitsexperten" an Board?

  Alt 29. Jun 2010, 21:24
Hallo,

@alcaeus: Nicht nötig, ist auch nicht so wichtig.

@himitsu: Ich weiß gar nicht wie man auf 200-300 MB pro CMS kommt. PHP-, HTML-, JavaScript und CSS-Code ist klein und lässt sich über Packer sehr stark komprimieren. 200-300 Megabyte sind wahrscheinlich noch hunderte unnötige Design, Dokumentationen, Bilder, usw. Scheue dich nicht dafür für dein "kleines CMS" 200 PHP-Dateien und Ordner zu erstellen. Ein inode auf der Festplatte kostet nicht die Welt an Speicher. Der Aufwand eine viele tausende Zeilen große Datei zu managen schon.

Und übrigens: OOP ist für mich nicht die Verwendung der MySQLi-Klassen. OOP ist, wenn du's selber machst. Viele schöne Klassen, Interfaces, Vererbungen, Abstraktionen oder finale Klassen. Sowas macht den Reiz aus.

Ich kann dir als Referenz auch noch das Zend Framework empfehlen. Jenes ist zwar sehr langsam, als technischer Ansatz aber sicher einen Blick wert. Deren API, die abstrakte Implementation und das gesamte Konzept ist sehr gut Durchdacht und meiner Meinung nach echt lobenswert.

Liebe Grüße,
Valle
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.555 Beiträge
 
Delphi 12 Athens
 
#2

AW: PHP - sind hier "Sicherheitsexperten" an Board?

  Alt 29. Jun 2010, 21:37
OK, das war vielleicht ein bissl übertrieben, aber es gibt ja einige "Webseiten", wo das ganze System, alleine schon in der Grundausstattung, mindestens 30-50 MB belegte (jedenfalls war das letztes Jahr noch so ... hab grade nachgesehn und dieses komische Joomla scheint geschrumpft zu sein )


Das php = PHP4 wurde damals so belassen, als PHP 5 eingebaut wurde, damit es halt keine Probleme mit alten Sachen gibt und alles Problemlos weiterlief.

Für den Webspace ist eigentlich schon lange eine Umstellung geplant.
Erstmal sehn, ob/wie ich wenigstens einige der alten Sachen so umstelle, daß sie unter PHP 5 laufen würden ... ist aber nicht mehr viel Altes vorhanden ... das ändern der Serverkonfiguration für .php = PHP5 wäre schnell erledigt, aber ich wüßte nicht, was an index.php5 soooooo schlimm sein sollte?
(wäre doch letztendlich eh hinter 'nem ModRewrite verschwunden )

Zitat:
OOP ist für mich nicht die Verwendung der MySQLi-Klassen. OOP ist, wenn du's selber machst.
ähhhhhh?

Ich lerne grade mal die Anfänge von PHP 5 kennen ... ist nicht grade einfach das Ganze.





Aber über meine Session/Keks-Verwaltung sagt keiner was :heul:
Wisst ihr wie schwer das war die Session/Kese nur zu erstellen/verwenden, wenn die wirklich benötgt werden? (nach dem Einloggen oder Umstellen der Anzeigesprache)
Also standardmäig bekommt man von dem Script keinen Keks verpaßt.

Das ist mein Beitrag zur Entmüllung des Internets/Browsers.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (29. Jun 2010 um 21:48 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#3

AW: PHP - sind hier "Sicherheitsexperten" an Board?

  Alt 29. Jun 2010, 21:44
Das ist auch nicht so sehr verschieden vom OOP anderer Programmiersprachen (klar gibt es auch hier Ausnahmen).
Es gibt aber einige gute Tutorials bzgl. OOP in PHP5. Vielleicht ist das hier einen Blick wert.

Meinen Vorrednern kann ich mich anschließen.
Gute Ansätze hast du in deinem CMS, aber man kann noch viel machen, um es zukunftsfähiger auszurichten.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.555 Beiträge
 
Delphi 12 Athens
 
#4

AW: PHP - sind hier "Sicherheitsexperten" an Board?

  Alt 20. Jul 2010, 12:50
Hätte da noch eine Verständnisfrage.

Ich weiß zwar, daß es so richtig ist, aber ich versteh nicht ganz warum.
Es steht auch überall erklart, daß man es so macht ... nur halt immer ohne Begründung.

Es geht um überschriebene Methoden und den Aufruf der Originals (quasi delphis Inherited)
PHP-Quellcode:
function MyMethod() {
  ...
  parent::MyMethod();
}
Im Grunde ist es ja so:
PHP-Quellcode:
Class::StaticMethod();
Object->Method();
, also müßte ich doch theoretisch eigentlich parent->MyMethod(); aufrufen?

Für die eigene Klasse gibt es ja auch self::StaticMethod(); und $this->Method(); ,
aber für parent:: scheint es kein $parent-> oder Ähnliches zu geben.

Nja, es funktioniert ja, egal ob die Methode nun statisch ist oder nicht,
aber ich find's einfach nicht logisch.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (20. Jul 2010 um 12:54 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#5

AW: PHP - sind hier "Sicherheitsexperten" an Board?

  Alt 20. Jul 2010, 17:40
Willkommen in der Welt von PHP. Da ist schon mehr unlogisch.
Aber ja, der Aufruf einer Funktion der Parent-Klasse wird mit parent::foo() erledigt. Dies gilt allerdings nur, wenn du foo() ueberschrieben hast und das Original aufrufen willst. Alle anderen Faelle kannst du mit $this->foo() abdecken.

Greetz
alcaeus

PS: ich weiss nicht was passiert wenn du parent::foo() ausserhalb von foo() aufrufst. Wenn du das machen musst, solltest du schleunigst den Code schreddern und von vorne anfangen.
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.555 Beiträge
 
Delphi 12 Athens
 
#6

AW: PHP - sind hier "Sicherheitsexperten" an Board?

  Alt 20. Jul 2010, 18:37
Aber ja, der Aufruf einer Funktion der Parent-Klasse wird mit parent::foo() erledigt. Dies gilt allerdings nur, wenn du foo() ueberschrieben hast und das Original aufrufen willst. Alle anderen Faelle kannst du mit $this->foo() abdecken.
Das ist schon klar und für genau für solche Fälle nutze ich es auch.

hab ja nun 'ne Menge OOP-Zeugs und vorallem Vererbung verbaut,
da ist sowas ja wohl nützlich/angebracht

PS: ich weiss nicht was passiert wenn du parent::foo() ausserhalb von foo() aufrufst.
also ich kann auch in "bar" parent::foo() aufrufen (wenn Beide oder mindestens foo überschrieben sind)

schon komisch, daß alle Foo/Bar für ihre Beispiele nutzen
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.555 Beiträge
 
Delphi 12 Athens
 
#7

AW: PHP - sind hier "Sicherheitsexperten" an Board?

  Alt 21. Jul 2010, 10:46
Wie gesagt, extrem schnelle Ausführungsgeschwindigkeiten werd ich wohl eh nicht, für meine Zwecke, benötigen.

Ich glaub ich hab jetzt meine MySQL-Klasse soweit umgestellt, so daß jetzt MySQLi verwendet wird und dazu auch noch die prepared Statements (oder wie auch immer die nochmal heißen) verwendet werden.

In meinem Query sind jetzt prepare+bind_param+execute, multi_query und das normale query gekapselt und werden automatisch ausgewählt.
Wobei query hierbei ein real_query mit einem speziellem store_result sind, damit die Result-Klasse ausgetauscht werden kann,
welche dann das free_result automatisch aufruft, wenn das Result-Objekt freigegeben wird.

Hab nun auch mal angefangen dieses PHPDoc zu verwenden.
(das macht sich, z.B. bei der Autovervolständigung in NetBeans, richtig gut )

also mir gefällt's so schon irgendwie
und aus diesem
PHP-Quellcode:
$Var1 = 'abc';
$Var2 = 123;
//$Result = $DB->Query('INSERT INTO `#PrefixMyTable` (`Field1`, `Field2`) VALUES (?, ?)',
// array($Var1, $Var2), array('#Prefix' => 'xxx'));
# das #Prefix ist schon vordefiniert enthalten
$Result = $DB->Query('INSERT INTO `#PrefixMyTable` (`Field1`, `Field2`) VALUES (?, ?)', array($Var1, $Var2));
wird dann intern das gemacht
PHP-Quellcode:
$Var1 = 'abc';
$Var2 = 123;
$State = $DB->prepare('INSERT INTO `xxxMyTable` (`Field1`, `Field2`) VALUES (?, ?)');
$State->bind_param('si', $Var1, $Var2);
$Result = $State->execute();
wobei es auch so ginge
PHP-Quellcode:
$Var1 = 'abc';
$Result = $DB->Insert('MyTable', array('Field1' => $Var1, 'Field2' => 123));
Bei diesem Preparedzeugs fehlte mir etwas, womit man auch mal normalen Text einfügen kann und nicht nur ganze Parameter.



Auch wenn's böse aussieht, fand es so letztendlich aber einfacher ... im __construct hol ich die Configuration nun direkt aus einem Config-Objekt, anstatt diese weiterhin via Parameter zu übergeben.
Angehängte Dateien
Dateityp: 7z MySQL.7z (5,6 KB, 2x aufgerufen)
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#8

AW: PHP - sind hier "Sicherheitsexperten" an Board?

  Alt 21. Jul 2010, 12:49
Warum nimmst du nicht einfach ein fertiges Framework wie z.B. Zend.
Bei Zend kann man auch nur einzelne Klassen nutzen, wie die ZendDB.
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#9

AW: PHP - sind hier "Sicherheitsexperten" an Board?

  Alt 29. Jun 2010, 21:45
Ich kann dir als Referenz auch noch das Zend Framework empfehlen. Jenes ist zwar sehr langsam, als technischer Ansatz aber sicher einen Blick wert. Deren API, die abstrakte Implementation und das gesamte Konzept ist sehr gut Durchdacht und meiner Meinung nach echt lobenswert.
*hust* Da geht sie dahin, die Einigkeit. ZF ist nicht langsam - es hat aber einen gewissen Overhead wie jedes andere Full-Stack-Framework auch. Auf normaler Hardware und mit nem Opcode-Cache (aptitude install php-apc) ist die Performance sehr gut. Im Zweifel schicke ich dir mal ein paar Infos zu ZF-Applikationen mit denen ich beruflich zu tun habe. Da aenderst du dann gerne deine Meinung

Um noch kurz ein paar allgemeine Worte zum ZF zu verlieren: es verfolgt zwar denselben Ansatz wie Symfony (Full-Stack MVC-Framework), aber auf eine ganz andere Art und Weise (Symfony setzt auf Code Generation, Zend Framework laesst dich alles selbst machen). Fuer den Einstieg wuerde ich auf alle Faelle Symfony empfehlen, behalte aber die Ideen und Konzepte von ZF im Blick.

@himitsu: wenn du gerade erst PHP5 lernst, dann nutze die Chance und fang gleich mit MVC an. Dieses bisherige include functions.php Gefrickel ist Schnee von Gestern

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#10

AW: PHP - sind hier "Sicherheitsexperten" an Board?

  Alt 29. Jun 2010, 21:47
Was wäre denn heutzutage die Alternative zu diesem "include-Gefrickel"?
Also wie kann ich mir die Umsetzung von MVC an dieser Stelle vorstellen?


Grüße,
Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz