|
|
|
|
Macht es eigentlich Sinn, in PHP eine Instanz von einer MySQL-Wrapperklasse in der Session zwischenzuspeichern? Oder sollte man das bei jedem Seitenaufruf neu instanziieren?
|
|
|
|
|
|
|
| Zitat von Danzelot
Macht es eigentlich Sinn, in PHP eine Instanz von einer MySQL-Wrapperklasse in der Session zwischenzuspeichern? Oder sollte man das bei jedem Seitenaufruf neu instanziieren?
| |
Ich würde mal ganz stark behaupten, dass das gar nicht serialisierbar sein sollte. WENN es funktioniert, dann wird PHP einfach eine neue Verbindung aufbauen ohne es dir zu erzählen. Von daher nimm einfach connection pooling.
|
|
|
|
|
|
|
REGEN? Es hat doch letzten Monat schon geregnet, verdammt noch mal.
|
|
|
|
|
|
|
| Zitat von [Dicope]
| Zitat von Danzelot
Macht es eigentlich Sinn, in PHP eine Instanz von einer MySQL-Wrapperklasse in der Session zwischenzuspeichern? Oder sollte man das bei jedem Seitenaufruf neu instanziieren?
| |
Ich würde mal ganz stark behaupten, dass das gar nicht serialisierbar sein sollte. WENN es funktioniert, dann wird PHP einfach eine neue Verbindung aufbauen ohne es dir zu erzählen. Von daher nimm einfach connection pooling.
| |
Also zumindest bei Zend steht es expliziert dabei, dass das keinen Sinn ergibt. Da ich niemandem mehr MAgie zutrauen als Zend würde ich davon ausgehen, dass das nicht geht.
Käme mir auch merkwürdig vor...
|
|
|
|
|
|
|
Okay, war auch keine Frage von mir, ich wollte nur eine kompetente Antwort geben können
|
|
|
|
|
|
|
IT'S A TRAP!
Verdammt, das nagt jetzt aber doch, was ich da finde...
|
|
|
|
|
|
|
Ach komm, WEP. Änder eben deine MAC-Adresse und guck rein
|
|
|
|
|
|
|
Ja eben WEP.
|
|
|
|
|
|
|
wahrscheinlich gibt’s dann upside-downternet oder so.
|
|
|
|
|
|
|
"Im Oktober 2011 berichtet Symantec, dass ein Virus aufgetaucht ist, der teilweise ähnliche Eigenschaften wie Stuxnet besitzt.[35] Symantec taufte diesen Duqu. Nach Einschätzung von Symantec wurde Duqu entweder von denselben Autoren entwickelt, oder die Autoren hatten Zugriff auf den Quellcode von Stuxnet. Duqu besitzt vor allem Spionageeigenschaften. Symantec vermutet, dass hiermit Informationen gesammelt werden sollen, um zukünftige Angriffe vorzubereiten.[36]"
Cool
|
|
|
|
|
|
|
| Zitat von [Dicope]
REGEN? Es hat doch letzten Monat schon geregnet, verdammt noch mal.
| |
WO IST MEIN SCHNEE?
|
|
|
|
|
|
|
| Zitat von Y2Keeper
| Zitat von [Dicope]
REGEN? Es hat doch letzten Monat schon geregnet, verdammt noch mal.
| |
WO IST MEIN SCHNEE?
| |
Ich kann dir versichern, dass ich den nicht hab... Im Übrigen mag eh keiner die weiße Pest.
|
|
|
|
|
|
|
Moin. What year is it?
Von 20 Uhr bis 9 Uhr geschlafen. Nu bin ich auch wieder fit
|
|
|
|
|
|
|
Ich will einen Upload realisieren, dazu hat jeder User seinen eigenen Upload-Ordner, reicht da ein sha1(microtime()) für den Dateinamen im FS und das Speichern des realen Dateinamens + Zuordnung in der DB?
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Gore am 13.12.2011 10:40]
|
|
|
|
|
|
Ich würde noch überprüfen, ob der Dateiname schon vergeben ist. Wenn du irgendwann mal mehrere Dateien auf einmal hochladen willst, kann es sonst passieren, dass microtime() gleich ist.
PHP hat übrigens auch eine tempnam()-Funktion. Wobei die, den Kommentaren nach zu urteilen, arg scheiße ist.
|
|
|
|
|
|
|
Klar, geprüft wird ob die Zurodnung schon in der DB existiert, ansonsten neuer sha1()
|
|
|
|
|
|
|
| Zitat von Gore
Ich will einen Upload realisieren, dazu hat jeder User seinen eigenen Upload-Ordner, reicht da ein sha1(microtime()) für den Dateinamen im FS und das Speichern des realen Dateinamens + Zuordnung in der DB?
| |
Mach doch eine Autoincrement ID in der Datebank und verwende sha1(orginaldateiname+id) - das erzeugt sicher keine Kollisison.
|
|
|
|
|
|
|
Und... eeeh... was spricht eigentlich gegen die Auto-Increment-ID als solche?
|
|
|
|
|
|
|
Dann müsste man noch die Zugriffsberechtigung prüfen dass man nicht an die Uploads von Anderen kommt, vielleicht
|
|
|
|
|
|
|
Ja, das ist mir auch gerade aufgefallen. Ich werde das gleich mal da, wo ich das selbe vor ein paar Tagen gelöst habe, ebenfalls ändern.
Wobei das da mal unkriitsch ist, denn es gibt eigentlich keine Zugriffsberechtigungen. Aber trotzdem
|
|
|
|
|
|
|
Okay, nächste Idee: Die Dateien aufrufen über einen virtuellen Ordner ID/uploadname.ext, dann muss man beides wissen um auf die Datei zugreifen zu können und der Dateiname ist nicht so obskur wie wenn irgendwo gehasht wird.
fakeedit: Mir fällt wieder ein, es geht um das Speichern im Dateisystem und nicht den Aufruf der Daten. Mehr Kaffee.
|
|
|
|
|
|
|
Wieso sollte es ausreichen, den Dateinamen zu wissen, um auf ihn zugreifen zu können. Idealerweise kann doch nur die Anwendung ermitteln, wo die Datei liegt. Genau so, kann dann auch die Anwendung ermitteln, ob der angemeldete Nutzer darauf zugreifen kann.
Dazu ein fyi, SQL Server hat dafür ein Feature nennt sich FileStream Columns, wo praktisch varbinary Spalten als Dateien auf der Festplatte gespeichert werden. Nicht, dass das jetzt so besonders ist (obwohl es eigentlich ein gute Idee ist), aber dort werden GUIDs für die Dateinamen verwendet. ("Plattformunabhängig" bezeichnet man die wohl als UUID). Ist ja im Prinzip wie der SHA1 Hash, nur eben, dass Kollision praktisch ausgeschlossen ist. Warum ich das für sinnvoll halte? Keine Ahnung, ich nehme einfach an, dass Entwicklerteams, die an einem Datenbank Produkt für einen großen Hersteller arbeiten, besser drüber nachgedacht haben, als ich.
Für Achsels Beispiel müsste man übrigens noch irgendetwas vor die ID schreiben, siehe: Datei "bild1.jpg" mit ID 14 hätte sonst den gleichen Hash wie "bild1.jpg1" mit ID 4. Korrektur wäre einfach noch ein Underscore vor die ID zu klatschen. Also nichts wildes.
|
|
|
|
|
|
|
Jo, an die GUID hab ich auch schon gedacht, vor allem weil die User-Ordner darauf basieren. Die zu raten wäre eh unmöglich, außerdem kommt eh nur die Applikation selber an die Daten.
Problem war halt nur das für PHP ich nichts vernünftiges zur Erstellung gefunden habe. Die User-Daten kommen aus einem Service, der liefert mir die GUIDs schon mit
|
|
|
|
|
|
|
|
|
|
|
Aber morgil hatte doch schon recht? Wenn du das Script so baust, dass es anhand einer ID in der Tabelle schaut wo die Datei liegt und wer sie hochgeladen hat, kannst du doch ganz einfach entscheiden ob du sie auslieferst oder nicht.
Wenn du nur stumpfsinnig nach der ID gehst (egal wie du die jetzt erzeugst) hast du immer eine gewisse Brute-Force Hintertür offen. Die vorallem mit der Anzahl der Benutzer immer größer wird.
|
|
|
|
|
|
|
der nervöse halbglatzige deutsche nerd mit der sich überschlagenden stimme
|
|
|
|
|
|
|
Warum beleidigst du Ghandi so unverblümt?
|
|
|
|
|
|
|
| Zitat von TriggerTG
Warum beleidigst du Ghandi so unverblümt?
| | geh du lieber wieder pennen
|
|
|
|
|
|
|
|
|
|
|
| Zitat von flying sheep
der nervöse halbglatzige deutsche nerd mit der sich überschlagenden stimme
| |
| Zitat von TriggerTG
Warum beleidigst du Ghandi so unverblümt?
| |
Ihr seid beide verwarnt!
|
|
|
|
|
|
Thema: Gehirnsalat ( wir unter uns ) |