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 7 von 8   « Erste     567 8      
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.379 Beiträge
 
#61

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

  Alt 7. Jul 2010, 14:44
Kleines OT:

Himi,

mit [CODE=PHP] kannst du deinen PHP-Code entsprechend highlighten. Das sieht dann deutlich besser aus... Aber das nur am Rande.
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

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

  Alt 17. Jul 2010, 00:25
Bin ich nur zu doof, oder steht wirklich nirgends, daß man von MultiQuerys (mysqli) unbedingt die Results auslesen muß, damit die nächste Query nicht mit 'nem Fehler abbricht?

Zitat:
Commands out of sync; you can't run this command now
Hab 'ne ganze Weile gebraucht, bis ich rausbekam, daß es daran liegt und nicht an der nachfolgenden Query.

Denn, wenn ich jetzt while ($this->more_results() && $this->next_result()); nach der MultiQuery einfüge (mich interessieren die Einzelergebnisse eigentlich nicht), dann funktioniert es plötzlich.
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von wicht
wicht

Registriert seit: 15. Jan 2006
Ort: Das schöne Enger nahe Bielefeld
809 Beiträge
 
Delphi XE Professional
 
#63

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

  Alt 17. Jul 2010, 00:58
Ich werde jetzt vermutlich von einigen Menschen auf den Deckel bekommen und einiges an Reputation verlieren, sofern vorhanden, aber ich kann es mir nach der Fadenlänge nicht mehr verkneifen...

http://www.steike.com/code/php-must-die/

Aber um wenigstens ein bisschen was beizutragen, man sollte vielleicht das nächste mal ein paar Frameworks evaluieren, bevor man ein Projekt startet. Ich mag PHP nicht (mehr) und nutze für meine Webseiten nur noch Python und Django, aber ich denke, dass es Frameworks für PHP gibt, die einem diese ganzen Probleme, die von dir hier in diesem Thread beschrieben wurden, wenigstens teilweise schon vorher abnehmen.
Versteh mich nicht falsch, ich habe auch lange mit PHP entwickelt und möchte hier nicht rumpöbeln oder so, aber ich kam dabei am Ende auch auf ein selbst gebautes Framework, womit ich drei Webseiten betrieben habe, quasi aus den selben Quellen, und weil es solche Frameworks schon gibt, denke ich, dass man sich da sehr viel Arbeit hätte ersparen können...

Gutes Nächtle..
http://streamwriter.org

"I make hits. Not the public. I tell the DJ’s what to play. Understand?"
  Mit Zitat antworten Zitat
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.379 Beiträge
 
#64

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

  Alt 17. Jul 2010, 08:25
[..] und einiges an Reputation verlieren [..]
Welche Reputation?


Der Inhalt des Artikels ist natürlich nicht verkehrt, aber der Titel klingt doch sehr - polemisch.
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

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

  Alt 20. Jul 2010, 13: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.
$2B or not $2B

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

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

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

  Alt 20. Jul 2010, 18: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.184 Beiträge
 
Delphi 12 Athens
 
#67

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

  Alt 20. Jul 2010, 19: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
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

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

  Alt 21. Jul 2010, 11: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)
$2B or not $2B
  Mit Zitat antworten Zitat
generic

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

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

  Alt 21. Jul 2010, 13: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 himitsu
himitsu

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

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

  Alt 21. Jul 2010, 14:09
Hatte damals (ist bestimmt schon 2 Jahre her) mal in Zend reingeguckt ... und dachte das kann man nur komplett nutzen, bzw daß es nicht so einfach wäre, da auch mal nur eine einzelne Klasse rauszunehmen.

nja, muß jetzt nur noch ein paar "Kleinigkeiten" in meinen Basisklassen (also meinem Framework) an die neue DB-Klasse anpassen,
dann fehlt noch die Umstellung der Cache und der Templatte-Klasse, dann das Grundsystem/Framework hoffentlich fertig

Und nebenbei hab ich dadurch auch noch vieles Neues (mehr OOP, Vererbung, Autoloader, PHPDoc) gelernt.

'nen "kleines" Framework, welches mir gefällt und vorallem womit ich auch zurechtkomme fand ich auch nicht.
$2B or not $2B

Geändert von himitsu (21. Jul 2010 um 14:22 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 7 von 8   « Erste     567 8      


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 16:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz