kostenloser Webspace werbefrei: lima-city


Suche auf lima-city

  • in: IP Blacklist mit PhP oder htaccess

    geschrieben von michaelkoepke

    Hi,
    horstexplorer schrieb:
    Mit PhP Scripten wird das ganze sicherlich relativ groß und uneffizient. Mit .htaccess könnte es evtl gehen? Oder doch ganz anders mit ner Erweiterung für den Webserver.

    Mit php ist es weder groß noch ineffizient, es kommt darauf an, wie man es programmiert und welche Mechanismen man nutzt. Beispielweise ist lediglich eine Abfrage aus dem RAM nötig, ob die IP geblockt wurde.
    Ich habe mir solch ein Skript gebaut, welches dazu dient ein Formular nicht zu oft absenden zu können. Bei einem DDoS wird es dir aber nicht helfen können.

    Besser ist es auf .htaccess zu setzten. Beispielsweise kannst du die Datei mit php bearbeiten und IPs die geblockt werden sollen einfach hinzufügen. (Bitte denke daran, viele IPs sind dynamisch vergeben und sollten daher nach x Minuten wieder entsperrt werden.)
    Das würde nur bedingt helfen bei einem Angriff.

    Noch besser ist die Installation von Fail2Ban auf einem eigenen Server. Hier legst du fest, in welcher Zeit wieviel Anfragen eingehen dürfen. Ist dies überschritten, wird die IP direkt im IP-Stack des Kernels gesperrt.

    Hoffe ich konnte dir einige Möglichkeiten aufzeigen.

    MFG Micha
  • in: Fragen und Anregungen zu den V-Serverm

    geschrieben von michaelkoepke

    Hi,
    horstexplorer schrieb:
    Man bekommt ja bei euch je nach Angebot 20-300GB Speicherplatz. Ist das jetzt so das man n GB Platz + System hat oder n GB Platz von denen der Speicherplatz für das System abgezogen wird?

    So eine Frage habe ich noch nie irgendwo gesehen, aber egal ...

    Du bekommst Bspw. 20 GB SSD da drauf wird dein System installiert. Heißt 20GB - ca. 900MB (Bei Debian minimal) = 19,1 GB Freier Speicher

    MFG Micha
  • in: Lifetime Pakete von Vorteil oder Nachteil?

    geschrieben von michaelkoepke

    bruchpilotnr1 schrieb:
    Das ich angeblich dies verhindere ist nicht korrekt. Jeder Richter wird sich nicht einen Adblocker installieren um zu sehen ob er ausgesperrt wird. Und wenn ich im Gerichtssaal bin und dies mal demonstriere habe ich gewonnen.

    Nochmal: ständig verfügbar.
    Und genau das ist es bei dir nicht, bei den einen funktioniert es, bei den anderen nicht. Das ist nicht die Definition von ständig.
    Aber egal, schalte ich meinen Adblocker ab und mein JS ebenfalls, sehe ich es genauso nicht.

    Lass dir das nochmal durch den Kopf gehen und schau dir andere Seiten an die blocken, bspw. bild.de da gibt es aber ein Impressum, was jeder aufrufen kann. Bei dir nicht!

    MFG Micha
  • in: Fragen und Anregungen zu den V-Serverm

    geschrieben von michaelkoepke

    horstexplorer schrieb:
    Wenn ich jetzt allerdings gern den Server dauerhaft anlassen würde, wäre ich bei anderen Anbietern mit deutlich mehr Hardware zu einem günstigeren Preis dabei. Z.Bsp kostet ja der kleinste Server mit 2 Cores, 2GB Ram und 20GB SSD bei euch ~7,50€. Nehmen wir jetzt als Beispiel Contabo, bekommen wir 2 Cores, 6GB Ram und 500GB Speicherplatz für 7€ bzw 4 Cores, 12GB Ram und 300GB SSD für 9€ im Monat. Da könnte man ggf das Angebot etwas umstellen, sodass auch Langfristige Nutzung sich lohnen würde.

    Meine Meinung dazu ist recht einfach, benötigst du solche Leistungen, dann geh bitte zu Contabo.
    Die Preise von Lima sind sehr moderat und vergleichbar mit anderen großen Hosting Unternehmen.
    Vor allem die Möglichkeit den VPS nur für eine kurze Zeitdauer laufen zu lassen rechtfertigt schon den Preis. Brauchst du ihn nicht mehr, Snap und fertig, kannst du später zurückspielen. Super Feature.

    Wer mehr Leistung braucht sollte in die Tasche greifen oder eben zur Konkurrenz gehen. Der Betrieb von Server kostet Geld, das hat Contabo vielleicht auch oder überbucht schlichtweg die Systeme, ich kenne das Unternehmen nicht, aber rein von der Logik können mehrere virtuelle System für 7 Euro keine Hardware die mehrere tausend Euro kostet abbezahlen. Dazu kommen Strom, Miete, Anbindung und und und. Ein Unternehmen mit eigenen RZs kann sich das vielleicht leisten. Wie gesagt ich kenne die Firma nicht, daher möchte ich mir kein Urteil bilden.

    Außerdem habe ich die Leistung der VPS von Lima getestet und bin überrascht wie schnell diese sind. Im Vergleich zum 1und1 CloudServer extrem schnell!

    muellerlukas schrieb:
    Absolut dagegen. Als Option - ohne Support: Von mir aus.
    Debian 9 ist grade erst raus. Da sollte es erst mal mit der aktuellen Struktur getestet werden.


    Dazu sage ich JA! Warum sollte kein Debian 9 angeboten werden? Ich kann mir nicht vorstellen, dass es für irgendeine Distribution Support von Lima gibt! Ist ja schließlich nicht managed. Daher muss jeder selbst klarkommen.

    lordoflima schrieb:
    Verstehe ich also richtig, dass es einzig und allein darum geht, die IP-Adresse zu behalten?


    Wie überall auch, wird der Vertrag gekündigt ist auch die IP weg. Ist normal. Ein Feature wäre es allemal, wenn jemand einen neuen VPS aus irgendeinem Grund aufsetzten möchte. Mein Vorschlag, die IP bindet sich für 1 Stunde an den User nach löschen des VPS und kann wieder verwendet werden.
    Eine andere Möglichkeit ist einen neuen VPS mit einem Snap zu erstellen und den alten neu zu installieren, schon würde die IP behalten werden.

    Des Weiteren wäre es sinnvoll eine Warnung vor dem Erstellen einzublenden im Sinne von "Achtung du bist für den Server, welche öffentlich erreichbar ist, verantwortlich, ..."
    Das Problem, hier bei Lima gibt es viele die sich ausprobieren wollen und werden auch mal einen Server haben wollen. Und ehrlich die AGBs liest keiner, ich weiß sollte man aber in jungen Jahren ... Naja eine Warnung wäre vielleicht nicht verkehrt.

    Ansonsten bin ich von den VPS begeistert.

    MFG Micha
  • in: Registrierungsseite mit PhP & MySQL 2

    geschrieben von michaelkoepke

    muellerlukas schrieb:
    Warum sollte sich ein Anfänger nicht auch direkt mit OOP auseinander setzen sollen?
    Wenn er erst mal nur mit prozeduralen Programmierung arbeitet wird er sich bei OOP um so schwieriger tun. Lieber gleich mit beiden Themen auseinander setzen.

    Ich weiß nicht wie du programmieren gelernt hast, aber ich habe mit prozeduraler Programmierung begonnen und konnte somit die Logik dahinter leicht verstehen. Eigene Skripte und Programme auf dieser Basis konnte ich leicht umsetzten.

    Später im Anfangsstadium meines Studiums kam oop dazu. Die Erkenntnisse aus meinem Studium sind folgende.

    Jemand der noch nie oder wenig programmiert hat, dem fehlt die Logik dahinter. Und genau diejenigen hatten es in diesem Modul sehr schwer sich oop anzueignen. Für mich, mit meinem damaligen Wissensstand, war es hingegen sehr einfach.

    Wenn du der Meinung bist er solle sich sofort oop ansehen, ohne die grundlegende Logik der prozeduralen Programmierung zu verstehen wäre es natürlich sehr hilfreich wenn du ihm zumindest den Unterschied zwischen der Initialisierung eines Objektes und den Unterschied zwischen "mysql_query("") --> mysqli::query("")" erklären kannst.

    MFG Micha
  • in: Lifetime Pakete von Vorteil oder Nachteil?

    geschrieben von michaelkoepke

    Hi,

    habe mal versucht an dein Impressum zu kommen, mit adblocker leider vergeblich.

    Für dich interessant zu wissen -> https://www.gesetze-im-internet.de/tmg/__5.html

    Laut TMG heißt es:
    "Diensteanbieter haben für geschäftsmäßige, in der Regel gegen Entgelt angebotene Telemedien folgende Informationen leicht erkennbar, unmittelbar erreichbar und ständig verfügbar zu halten"
    Ist in deinem Fall ist das nicht so, also ACHTUNG!

    MFG Micha
  • in: Registrierungsseite mit PhP & MySQL 2

    geschrieben von michaelkoepke

    Fast :)
    Der Connect beispielsweise wäre
    new mysqli([...]);
    Das ist die objektorientierte Profgrammierung von mysqli.

    Da du Anfänger bist, rate ich dir Funktionen zu nutzen (also zu einer prozeduralen Programmierung) und später in die objektorientierte Programmierung einzusteigen.

    Bsp:
    $link = mysqli_connect("localhost", " ****USER**** ", " ****PASS**** ", " ****DB**** ");
    
    /* Verbunden? */
    if (mysqli_connect_errno()) {
        echo 'Fehler: ' . mysqli_connect_error();
        exit();
    }
    
    /* SQL Abfrage */
    $query = "SELECT password FROM login WHERE username='?';";
    
    /* Start SQL Statement */
    if ($stmt = mysqli_prepare($link, $query)) {
    
        /* Binde Parameter $username (s=String) an das ? */
        mysqli_stmt_bind_param($stmt, 's', $username);
    
        /* Ausführen der Abfrage */
        mysqli_stmt_execute($stmt);
    
        /* Binde Ausgabe von mysql (password) an $pass */
        mysqli_stmt_bind_result($stmt, $pass);
    
        /* Ausgabe was gefunden wurde */
        while (mysqli_stmt_fetch($stmt)) {
            echo $username . ' : ' . $pass;
        }
    
        /* Schließe SQL Statement */
        mysqli_stmt_close($stmt);
    }
    
    /* Beende Mysql Verbindung */
    mysqli_close($link);
    (Zu finden u.a. hier: http://php.net/manual/de/mysqli-stmt.fetch.php)

    Viel Spaß beim Verstehen und Anwenden auf dein Login und Registrierung
  • in: Registrierungsseite mit PhP & MySQL 2

    geschrieben von michaelkoepke

    horstexplorer schrieb:
    Ich frage mich nur was an mysqli_* Funktionen besser bzw anders ist als an mysql_* bzw was ich da sonderlich beachten muss wie ich das anwende?

    Zum Nachlesen:
    http://php.net/manual/de/function.mysql-connect.php
    https://serpentsembrace.wordpress.com/2011/03/04/phpmysql-mehr-sicherheit-und-erhohte-performance-durch-mysqli-und-prepared-statements/

    Die Syntax ist bei beiden ähnlich, schau in die Doku von php, da gibt es viele Beispiele.
    http://php.net/manual/de/book.mysqli.php

    Viel Spaß
  • in: Registrierungsseite mit PhP & MySQL 2

    geschrieben von michaelkoepke

    horstexplorer schrieb:
    Ich teste gerade mal aus ob das so geht :)


    Es wird vielleicht gehen, aber ...
    Ich erinnere mich dunkel, du wolltest Hilfe von uns und hast fast NULL von dem umgesetzt von dem was dir geraten wurde!

    Was meine ich?

    keine zumindest mysqli_* Funktionen,
    keine Überprüfung der Eingaben,
    nicht durchdachte und mehrfach ausgeführte SQL-Abfragen,
    warum speicherst du bei einem Reg-Form etwas in einer Session?, usw. ...

    Wenn du dir Überlegungen dazu gemacht hast und das Geforderte umgesetzt hast, wird dir hier vielleicht auch geholfen.

    MFG Micha
  • in: Registrierungsseite mit PhP & MySQL

    geschrieben von michaelkoepke

    Hallo horstexplorer,

    ich finde es immer toll wenn sich jemand für das Programmieren interessiert.
    Ich weiß nicht wo du dir das Login abgeschaut hast, jedoch ist es alles andere als gut geschrieben.
    Es ist nicht gut, sogar fahrlässig ein Passwort im Klartext in eine Datenbank zu schreiben!
    Ebenfalls kann die Abfrage durch ein SQL-Inject sehr leicht umgangen werden!

    Was meine ich damit?

    Du übergibst die eingegebenen Userdaten an die chckusername() Funktion und schreibst den $username direkt in die SQL Anweisung.
    Die Eingabe des Users könnten lauten „‘ OR 1 = 1;“ und die erste Abfrage wäre mit true beendet.
    Als nächstes überprüfst du das Passwort, was irgendwie keinen Sinn macht (hätte oben schon mit passieren können). Warum? Man gibt dem User kein Feedback im Sinne von Achtung dein Username ist falsch oder Achtung dein Passwort ist falsch. Spätestens hier weiß ein unerwünschter Gast ob zumindest der Username existiert. Aber ich schweife ab … Zurück zur chcklogin() Funktion. Hier das Selbe Szenario wie oben. Die Eingabe „‘ OR 1 = 1;“ gibt true zurück und ich bin eingeloggt.
    Des Weiteren sollte die mysql_*() Funktion nicht mehr genutzt werden sondern die mysqli_*() Funktion.

    Wie ist das zu lösen?

    Benutze die password_hash() und password_verify() Funktionen um das Passwort zu verschlüsseln und zu prüfen.
    Prüfe die Eingabe des Benutzers mit der mysqli_real_escape_string() Funktion. Diese entfernt maskiert Sonderzeichen sodass man den oben genannten String nicht mehr eingeben kann.
    Besser wäre es, wenn du die Eingabe mit einem Regulären Ausdruck prüfst, quasi nur Zeichen zulässt, welche du erlaubst. (Beim Passwort schwierig, aber machbar)

    Zu deiner eigentlichen Frage.

    Schau bei Google :spammer: Es gibt viele Tutorials. Schaue dir nicht nur eins an, sondern mehrere.

    Ansonsten hier eine kleine Anregung.

    1. Prüfe die übergebenen Werte des Users auf Gültigkeit (Reguläre Ausdrücke zum Beispiel)
    2. Maskiere eingegebene Sonderzeichen
    3. Speichere die Werte (Passwort natürlich verschlüsselt) in einer Datenbank.
    Bsp.:
    INSERT INTO `TableName` (`name`, `user`, `pass`, `email`, `allow_login`) VALUES ($name, $user, $pass, $email, 1);

    Die ID wird in MySQL automatisch vergeben (Wenn der Wert natürlich als Primary Key und auto_increment gesetzt ist)
    Bsp:
    CREATE TABLE `TableName` (
    `ID`          int(11)     NOT NULL PRIMARY KEY AUTO_INCREMENT,
    […]
    )

    4. Erfolgsmeldung zurückgeben bzw. Fehlermeldung

    Ich hoffe ich konnte dir helfen und Anregungen zum Absichern deiner geschrieben Skripte geben.
    Wenn du magst kann ich dir auch gern beim Erstellen deines Skriptes behilflich sein, schreibe dazu einfach eine PN an mich.

    Viele Grüße Micha
  • in: Performance Datei lesen vs. Datenbank lesen

    geschrieben von michaelkoepke

    Hui Leute,

    jetzt melde ich mich mal zu meinem Thema wieder :)

    Meine Lösung war eine Datenbankabfrage, welche bei jedem Aufruf prüft ob die eigene IP gesperrt wurde.
    Ist die IP gesperrt, wird die Sperrzeit in die Session des Clients gespeichert.
    Wurde die Session gelöscht obwohl die IP noch gesperrt ist, wird eine neue Session mit der IP Sperre erstellt.
    Wurde die IP verändert aber die Session existiert noch, wird die restliche Sperrzeit mit der neuen IP wieder in die DB geschrieben.

    Um das nun performanter zu gestalten, habe ich eine ähnliche Lösung, wie die von mruts vorgeschlagen, verwendet.

    mruts schrieb:
    Hi,
    Wenn es Dir auf Performanceankommt hältst Du die geblockten IPs im Speicher. Am Besten geht das mit einer Datenstruktur wie Set [...]


    Da ich diese Datenstruktur nachinstallieren muss (was nicht überall geht) nutze ich die Funktion: shmop_open() und erzeuge einen "Open shared memory block".
    Der erste Aufrufer der Seite erzeugt diesen, wenn er nicht schon vorhanden ist und lädt die gesperrten IPs in den Speicherblock.
    Alle Abfragen gehen nun an diesen Speicherblock. Wird eine IP gesperrt, wird diese im Speicherblock sowie der DB gespeichert.

    Vielen Dank für eure Vorschläge.

    MFG Micha
  • in: Datenbank Import / Export mit MySQL Workbench

    geschrieben von michaelkoepke

    Hallo,

    wie wäre es wenn du einfach phpMyAdmin verwendest?
    Klick auf Export in der alten DB des alten Kontos und in deinem neuen Konto in der neuen DB auf Import.

    MFG Micha
  • in: "`Guter Editor für PHP [und Anderes]"' -- Die Umfrage

    geschrieben von michaelkoepke

    Hi,

    ich habe jahrelang mit Eclipse gearbeitet. Das funktionierte auch super, solange die Projekte klein und überschaubar blieben. Wurde es größer (z.B. Anzahl der Klassen > 20) reagierte Eclipse sehr langsam bei der Code-Vervollständigung und hängt des Öfteren ca. 2-5 Sekunden bevor man weiter programmieren konnte. Das nervt auf Dauer.

    Jetzt nutze ich PHPStorm. Hier gibt es bisher keine Probleme und der Umstieg von Eclipse zu PHPStorm geling ohne große Probleme. (ähnlicher Aufbau zu Eclipse)
    Klar kostet es im Gegensatz zu Eclipse ein paar Euro im Monat aber das Lohnt sich. Wer Schüler oder Student ist, bekommt es sogar kostenlos.

    MFG Michael
  • in: Performance Datei lesen vs. Datenbank lesen

    geschrieben von michaelkoepke

    Hallo Leute,

    ich arbeite gerade an einem Web-Projekt und es kommt mir gerade die Frage aus, was performanter ist.

    Hintergrund:
    In meinem Web-Projekt baue ich gerade ein automatisches Sperrsystem. Dabei wird bei jedem Seitenaufruf geprüft, ob die IP des Besuchers bereits in einer Datenbank steht und sein Zugriff somit geblockt wird.

    Nun mein Gedanke, ist es für die Performance besser zu prüfen, ob eine Datei mit dem Namen (Bsp: 192.168.0.0.ban) existiert oder eine Datenbank abzufragen, ob die IP in der Tabelle enthalten ist.
    Wohlgemerkt bei jedem Aufruf wird geprüft.

    Schon einmal vielen Dank für eure Hilfe

    MFG Michael
  • in: Parse error: syntax error, unexpected '.10' (T_DNUMBER)

    geschrieben von michaelkoepke

    Hi, die Fehlemeldung sagt doch schon alles :)

    fyc schrieb:
    <?php
    $verbindung = mssql_connect(123.123.123.12,benutzer,passwort);

    Was ist Bitte 123.123.123.12 für ein Datentyp? KEIN INT, KEIN FLOAT, KEIN STRING, ...

    http://php.net/manual/de/function.mssql-connect.php
    Aus dem Manual von PHP kann man sehen, dass der Servername oder die IP als STRING übergeben werden muss.

    Also so:
    <?php
    $verbindung = mssql_connect("123.123.123.12","benutzer","passwort");

    Dann sollte es auch funktionieren. Viel Spaß noch.

    MFG Micha
  • in: PHP Time Limit

    geschrieben von michaelkoepke

    way schrieb:
    Ich nehme an das Limit hochzustehen funktioniert nicht ohne weiteres, richtig ?

    Hi,

    ganz einfach manuell installieren per FTP :)
    http://drwp.de/wordpress-theme-installieren/

    MFG Micha
  • in: Windows 7 frisch aufgesetzt und ewige Update suche

    geschrieben von michaelkoepke

    Es geht auch ohne Updatepack.

    Du bist nicht der Einzige mit diesem Problem.
    Schon einmal Google benutzt?
    Lieferte mir, als ich das Problem hatte, mehrere hundert Einträge mit ein und dem selben Lösungsweg.

    Naja will nicht nur mit erhobenen Zeigefinger schlechte Laune verbreiten, daher hier ein Link dazu:

    https://alexanderschimpf.de/windows-7-update-es-wird-nach-updates-gesucht
    [url][/url]
    (1. Treffer auf Google mit der Sucheingabe "windows 7 updates dauern ewig")

    MFG Micha
  • in: Zu viele Eingabevariablen

    geschrieben von michaelkoepke

    Hi,

    ich kenne selbst das Problem mit dem Dienstplan.
    Eine Möglichkeit um die Postübergaben zu minimieren, ist es mit Arrays zu arbeiten.
    Hier ein nützlicher Link dazu: http://stackoverflow.com/questions/9073690/post-an-array-from-an-html-form-without-javascript

    MFG Micha
  • in: $_SESSION wird nicht gespeichert

    geschrieben von michaelkoepke

    Hi,

    probiere mal

    session_start();

    in die erste Zeile der index.php zu schreiben ;)

    MFG Micha
  • in: Nagelneue Festplatte in Laptop einsetzen...was passiert?

    geschrieben von michaelkoepke

    dandy-nagel schrieb:
    Klingt machbar und nach einer sehr guten Lösung...meine neue SSD ist leider nur 120gb...da müsste ich fast alles auf externen Speichern ablegen...


    120 GB sollten für Windoof, Ubuntu und einige Programme ausreichen.

    Die Alte HDD baust du in ein externes Festplattengehäuse (gibts für ca 10 Euro bei Ebay) und hast somit Platz für deine Daten.

    MFG Micha
  • in: Nagelneue Festplatte in Laptop einsetzen...was passiert?

    geschrieben von michaelkoepke

    Hi,

    den Tipp mit der externen Festplatte würde ich nicht umsetzten, da diese bei jedem Start am Laptop sein muss!?

    Mein Vorschlag:

    Als Erstes besorgst du dir einen Windows 7 Installationsdatenträger.
    Dieses findest du hier : https://www.microsoft.com/de-de/software-download/windows7
    Einfach deinen Key eingeben, die ISO herunterladen und auf DVD brennen.

    Speichere alle wichtigen Daten von Der HDD auf einen externen Datenträger (USB-Stick, etc.)

    Dann baust du die HDD aus und die SSD ein.

    Nun legst du die DVD in dein Laufwerk. Beim Einschalten des Notebooks sollte automatisch von der DVD gebootet werden (Wenn nicht hilft meist F10). Danach startet ein Installationsassistent und führt dich durch die Installation. Bei dem Punkt der Aufteilung von Partitionen, solltest du eine für Windows und Ubuntu erstellen.

    Nach der Installation kannst du deine Daten wieder auf dein Notebook spielen. Nun kannst du Ubuntu auf der anderen Partition installieren.

    (Evtl. musst du den Bootmanager von Windows neu konfigurieren -> Google hilft dir dabei)

    Ich hoffe, ich konnte dir helfen

    MFG Micha
  • in: PHP exec funktioniert nicht

    geschrieben von michaelkoepke

    Hi,

    Mit diesem Anliegen solltest du lieber in ein Linux-Forum gehen wie debianforum.de, da kann und wird dir auf dem schnellsten Wege geholfen.

    Den Eigentümer der Datei zu ändern reicht nicht aus. Der Ordner muss ebenfals für den Apache-User sichtbar sein. Sprich "chown" für den kompletten Ordnerpfad bzw. "chmod 755" Damit jeder auf den Ordnerpfad lesen kann.

    Wenn dein Script nun etwas zwischenspeichert, dann brauch Apache auch Schreibrechte im Ordner.
    Wenn du den Ordnerpfad per "chown" an Apache gegeben hast, dann kann er auch schreiben, wenn nicht kannst du das mit "chmod 777" ändern.

    Wenn das nicht helfen sollte, dann brauchen wir hier einfach mal ein paar mehr Informationen über dein Linux-System und Installation.

    MFG Micha
  • in: Server versendet keine Mails

    geschrieben von michaelkoepke

    Hi, ich würde dir gern Helfen, jedoch ist meine Glaskugel kaputt.

    Ein paar mehr Infos benötigen wir schon.

    Aber ich denke, das dein Mailserver entweder nicht installiert oder nicht richtig konfiguriert ist.
    Das Selbe gilt für deine php.ini.

    MFG Micha
  • in: .htaccess -> 500 server error

    geschrieben von michaelkoepke

    Hi,

    hast du dich schon einmal angemeldet? Wenn ja, dann musst du deine Zugangsdaten nicht erneut eingeben.
    Leere deinen Cache und lösche die Cookies dann sollte die Meldung wieder erscheinen.

    MFG Micha
  • in: localhost zugriff verweigert und phpmyadmin Login Daten ?

    geschrieben von michaelkoepke

    Hi,

    kann schon mal vorkommen, das man Passwörter vergisst.
    Aber dafür gibt es Google!

    Hier wird dir schnell geholfen.
    Gleich der erste Treffer hilft dir garantiert.

    MFG Micha
  • in: Auswirkung von Fitness-Studio Urteil auf DSL-Verträge?

    geschrieben von michaelkoepke

    Hi,

    nun melde ich mich auch mal zu diesem Thema.
    Es ist doch ganz einfach, was in den AGBs steht, das gilt auch!

    Fall a) In den AGBs steht drin, das ein Sonderkündigungsrecht besteht, wenn ...
    -> Dann ist klar, ich darf z.B. wegen Umzug kündigen. Sowas steht in den meisten Fitness-Verträgen, sollte das nicht drinnen stehen, hast du Pech, bei so einem Fitness-Studio würde ich nie einen Vertrag machen.

    Fall b) In den AGBs steht nix von wegen Sonderkündigungsrecht drinnen.
    -> Ja dazu ist wohl alles gesagt oder?

    So, du hast nun einen DSL-Vertrag und hast Angst, dass diese Ihre AGBs ändern und ihre bislang Sonderkündigungsregelung entfernen.
    -> Auch ganz einfach! Wenn die AGBs geändert werden hast du das Recht zur sofortigen Kündigung (glaube bis 2 Wochen nach Kenntnisnahme) und gehst zur Konkurrenz.

    Zu turmfalken-nikolai
    turmfalken-nikolai schrieb:
    Im Übrigen war es genau 1&1 bei denen wir das Problem hatten! Nix mit Umschreibung auf die neue Adresse! Wir sollten den Vertrag an der alten Adresse behalten und für die neue Adresse einen Neuvertrag machen ( also 2x zahlen ).

    Nun stehen 2 Fragen im Raum, wann habt Ihr den Vertrag geschlossen und habt ihr vorher mal in die AGBs geschaut?
    Laut 1und1 ist es in C.3 Ihrer AGBs (seit 03/2015) klar geregelt, ist das oder ein ähnliches Produkt an der neuen Adresse verfügbar, dann geht’s normal weiter, evtl. mit Paketwechsel aber die Laufzeit bleibt die Selbe. Ist kein Produkt verfügbar, dann kannst du mit einer Frist von 3 Monaten zum Monatsende kündigen.
    Hier noch ein kleiner Link dazu http://var.uicdn.net/pdfs/1und1-Allgemeine-Geschaeftsbedingungen.pdf

    Im Allgemeinen gilt, wenn ein Vertrag angeschlossen wird, gelten diese AGBs! Da kann auch kein Richter was daran ändern, warum auch! Ihr habt diese ja mit eurer Unterschrift oder Zustimmung abgesegnet.

    Ein Beispiel: Eine bekannte Social-Media-Plattform bietet Speicherplatz um ein Profil über dich zu erstellen und Inhalte mit anderen zu teilen. Du Registrierst dich zu diesem Service und akzeptierst die AGBs. Nun teilt Ihr schöne Urlaubsbilder und und und. Was mit den geteilten Daten passiert steht in den AGBs. Und wenn da steht das diese Social-Media-Plattform eure Bilder für ??? verwenden darf, dann ist das auch so. Ihr habt schließlich zugestimmt oder!? Die einzige Möglichkeit ist euer Profil zu löschen (und kein Bild mit: Ich widerspreche...).

    Und so ist es auch in diesem Fitness-Vertrag. Diese Zustimmung ist nun mal bindend! Wie das JA-Wort in einer Ehe, denn hier weiß man ja auch (bzw. sollte man wissen), was oder wem man heiratet.

    Damit denke ich habe ich alles gesagt, was ich sagen wollte.

    MFG Micha
  • in: Crowdfunding?

    geschrieben von michaelkoepke

    Hi,

    habe 5 Sekunden gebraucht um bei Google 129000 Einträge zu diesem Thema zu finden!
    http://www.ikosom.de/2014/02/08/welche-steuern-muss-ich-beim-crowdfunding-zahlen/

    Klar und eindeutig geschrieben.

    MFG
  • in: PuTTY Verbndung?

    geschrieben von michaelkoepke

    fshh schrieb:
    ich will ja eine SSH datei öffnen! bzw einen ts3 instalieren


    Wie soll das bitte gehen, wenn Lima nur Webspace anbietet!?
    Du kannst hier nur eine Website hosten und nicht mehr!

    MFG
  • in: Ip adresse der Nutzer auf meiner Homepage auslesen

    geschrieben von michaelkoepke

    Hi, gebe zu dem Thema nun auch mal meinen Senf dazu :)

    erlebewas schrieb:
    Im Moment wäre quasi fast jeder Webseiten Betreiber (in Deutschland)
    täglich kurz davor sich wegen Datenschutz vor Gereicht wieder zu finden

    Das sehe ich nicht so, siehe hierzu https://www.gesetze-im-internet.de/tkg_2004/__100.html.
    Die Logs dienen, in meinen Augen, lediglich zur Identifizierung von "Störungen und Missbrauch von Telekommunikationsdiensten" somit darf die IP eine Zeitlang gespeichert werden. Verwenden darf er diese Daten nur, falls ein "Anhaltspunkte für die rechtswidrige Inanspruchnahme eines Telekommunikationsnetzes" entsteht.

    Laut https://www.gesetze-im-internet.de/tmg/__15.html heißt es doch "Der Dienstanbieter darf personenbezogene Daten eines Nutzers nur erheben und verwenden, soweit dies erforderlich ist..." sprich wer deine Website besucht, weiß die IP wird gespeichert. Das solltest du einfach ins Impressum im Teil Datenschutz mit hineinschreiben finde ich. Wer das nicht möchte darf also deine Website nicht besuchen.

    Was machen denn die ganzen Analyse-Tools? Sie benutzen die IP des Besuchers. Also schreibst du das in dein Impressum und kannst diese Tools nutzen. Würde ich auf deine Website kommen und dann das Impressum lesen und dagegen sein, das du meine IP speicherst, werde ich dich benachrichtigen (über die Angaben im Impressum) das du diese Daten löschst.

    Aber diesbezüglich solltest du einen Anwalt konsultieren oder einfach keine IP speichern bzw. nur die Zeit, die der Benutzer auf deiner Seite ist, denn das darfst du. (Einfach bei jedem Aufruf die IP mit Timestamp in DB speichern und bei jedem Aufruf aktualisieren, wenn der User zum Beispiel 10 min nix mehr gemacht hat oder sich ausgeloggt hat, wird die IP gelöscht.)

    Hoffe ich konnte mit meinem Senf etwas weiter helfen.

    MFG Micha
  • in: Globale Variable setzen funktioniert nicht?

    geschrieben von michaelkoepke

    Hi,
    bastians-seite schrieb:
    p.s ja ich hab gelesen dass globale variablen später dann eine riesige Fehlerquelle sind, aber ich finde keine andere simple Lösung... :/

    warum nicht einfach so?
    function func_pageviews(&$FN, &$hits) {...}

    Du übergibt die Variablen einfach per Referenz (mit dem &) somit kannst du den Inhalt der Variable über mehrere Namen ansprechen.

    MFG Micha
  • in: Diebe umschleichen mein Haus, was tun?

    geschrieben von michaelkoepke

    invalidenturm schrieb:
    Die Erdgeschosswohnung ist vermietet


    Wenn das der Fall ist, brauchst du eine schriftliche Einverständniserklärung, das du die Mieter auf dem Grundstück, wo sie auch Zutritt haben filmen darfst!
  • in: Diebe umschleichen mein Haus, was tun?

    geschrieben von michaelkoepke

    Hi,

    invalidenturm schrieb:
    Vor vier Wochen ging das Haustürschloss plötzlich schwer

    Wenn du mit Haustür, deine eigene Haustür von deinem Haus meinst (kein Mieter, kein Miethaus) dann darfst du in deinem gesamten privaten Bereich Kameras einsetzten und alles aufzeichnen wie du magst. Dabei ist zu beachten, dass du KEINEN öffentlichen Raum filmen darfst! Sobald du dies machst, verstößt du gegen das Persönlichkeitsrecht deines Einbrechers und du musst mit einem Bußgeld rechnen. Wenn du jedoch zum Beispiel in deinem Haus die Tür filmst, musst du ausdrücklich (über einen Aufkleber) auf die Kameraüberwachung hinweisen. Nun überlegt es sich der Einbrecher ob er wirklich in dein Haus möchte. Wenn er nun in dein Haus einbricht, weiß er, dass er gefilmt wird und du kannst freudig zur Polizei gehen mit deinem Bildmaterial. Dabei ist auch wieder zu beachten, das das Bildmaterial von der Aufnahme bis zur Beweisaufnahme nicht verändert werden kann! D.h. durch ein Wasserzeichen oder durch Verschlüsselung. Und dem Einbrecher sollte es nicht möglich sein die Kamera einfach abzumontieren bzw. die Speicherkarte zu entfernen, da wäre der Einsatz einer Kamera irgendwie doof.

    Aber im Grunde rate ich dir die Polizei zu konsultieren und diese die Beweise an deiner Haustür sichern zu lassen. Und du machst eine Anzeige gegen Unbekannt auf versuchten Einbruchs. (Deine Nachbarn sind evtl. hilfreich bei Zeugenaussagen. Besser früh als spät!

    Ich hoffe ich konnte dir etwas helfen. Wenn nicht, solltest du einfach mal etwas Googeln :)

    MFG Michael
  • in: LED Blink-/Flashschaltung

    geschrieben von michaelkoepke

    Einen schönen Guten Morgen,

    ich habe mal die Seite herausgesucht, mit der ich angefangen habe. Hier wird beschrieben wie diese Schaltung funktioniert und wie du einige Werte berechnest.

    http://www.hobby-bastelecke.de/grundschaltungen/multivibrator.htm

    Auf folgender Seite hast du ein Beispiel mit Werten.

    http://www.hobby-bastelecke.de/projekte/multivibrator.htm

    TIPP: Die Blinkdauer kannst du über den Einbau anderer Kondensatoren erreichen.

    Ich hoffe, ich konnte dir helfen.

    MFG Michael
  • in: Ubuntu Apache2 Umleitung

    geschrieben von michaelkoepke

    Hallo,

    Ich habe viel Ahnung von Apache aber ohne Google zu befragen, Könnte ich dir bei diesem Thema nicht helfen.

    Aber ich bin nett und habe für dich 2 Sekunden gegoogelt!

    Das Ergebnis http://www.htaccessredirect.de/

    Du solltest nicht so faul sein ;) (auch bei deinen anderen Themen, die waren ganz leicht googelbar)

    Trotzdem kannst du von mir weiterhin Hilfe zum Thema Linux/Ubuntu befragen wenn du magst.

    MfG Michael
  • in: PHP Klasse/Methode für Uploadscript will nicht

    geschrieben von michaelkoepke

    Hallo scriptsev,

    Dein erster Code hat dich schon in Richtung deines Ziels gebracht, jedoch dein zweiter lässt dich wenden und du läufst zurück.

    Warum funktioniert es nicht? Du erstellst mit "new" ein neues Objekt der Klasse "checkEndung" wenn du dir das vorstellst, packst du nun ein Packet mit dem Inhalt aus deren Klasse sowie der Klasse "checkFehler".
    Als nächstes öffnest du dein Paket und führst eine Aktion "endung" aus und schließt es wieder.

    Nun erstellst du ein neues (um bei dem Bild oben zu bleiben) Paket mit dem gleichen Namen. Somit ist dein erstes Paket weg. Das neue Paket wird nun wiederum mit der Klasse "checkEchtesBild" sowie "checkFehler" verpackt.

    Und so weiter...

    Somit gibt es, wenn du den letzten Check machst nur ein Paket und die Variable "fehler" wird wieder von der Klasse "checkFehler" mit 0 verpackt. Somit kann sie vorher x-Zustände haben, jedoch am Ende nur einen und der ist 0.

    Die Lösung, wirst du denken, ist nun einfach jedes Objekt in eine eigene Variable zu speichern, somit hast du alle "Pakete" vor dir stehen. ABER! Die Pakete sind verschlossen. Nun wirst du verstehen, dass deine Pakete, da sie verschlossen sind, nicht untereinander kommunizieren können. Dazu brauchst du sogenannte Setter und Getter Methoden, die dir Werte in deine Pakete hineinpacken bzw. zurückgeben.
    Zum Beispiel: get_fehler() oder set_fehler, was du in jedem Objekt aufrufen müsstest.

    Die nächste Lösung ist die einfachste, und sie entspricht deinem ersten Code!

    Du erstellst EIN Paket der Klasse "FileHandler" (um sie evtl. woanders noch zu verwenden) dies wird gepackt mit allen benötigten Variablen und Methoden. Somit kannst du innerhalb dieses Paketes die definierten Variablen verwenden.

    Um nun
    scriptserv schrieb:
    das ganze etwas "offener" zu gestalten
    wie du sagst, solltest du deine Klasse auch allgemein halten, zum Beispiel "upload", "check_X", "check_Y", ..., "save", "error", usw. somit kannst du sie immer wieder verwenden. Brauchst du nun aber neue spezielle Methoden, dann schreibe diese Klasse nicht um sondern erstelle eine neue mit den neuen Methoden und erbe von der großen Klasse, schon kommst du wieder in den Genuss alle deine Methoden verwenden zu können.

    Wenn du noch Infos über OOP möchtest (zum Beispiel über public, private, protected), kann ich dir nur Peter Kropff empfehlen.

    Viele Grüße
    Michael
  • in: Lima-City.de mysql auf webspace

    geschrieben von michaelkoepke

    Hi,

    habe es getestet, bei mir funktioniert es!

    https://michaelkoepke.lima-city.de/phpmyadmin/setup/

    Klicke auf Laden und schau dir die Konfiguration von meinem Server (lima) an.

    PS: Wenn alles funktioniert, solltest du den setup-Ordner löschen!

    MFG Micha
  • in: Finde NOCH EINEN Fehler nicht :(

    geschrieben von michaelkoepke

    Habe es bei mir getestet, funktioniert.

    Zitat von mir selbst:
    michaelkoepke schrieb:
    ...
    Und "mysql_real_escape_string" darfst du nur innerhalb der Datenbankabfrage (Datenbankverbindung ist hergestellt)

    Sollte funktionieren.
    <?php
    session_start();					// Das brauchst du auf jeder Seite, wo du SESSION verwenden möchtest!
    $db = "db_294859_1";				// Deine Datenbank
    $db_user = "";						// Dein Datenbankuser
    $db_pass = "";						// Dein Datenbankpasswort
    $db_host = "huaweiy300.lima-db.de";	// Dein Datenbankhost
    
    
    if(isset($_POST['button']) && $_POST['username'] && $_POST['password'])
    {
    	$connection = mysql_connect($db_host, $db_user, $db_pass);
    	$username = mysql_real_escape_string($_POST['username']);	// MUSS innerhalb des SQL-Connect stehen
    	$password = mysql_real_escape_string($_POST['password']);	// MUSS innerhalb des SQL-Connect stehen
        
    	if($connection)
        {
    		$selection = mysql_select_db($db);
    
            if($selection)
            {
    			$query = "SELECT * FROM accounts WHERE username = '$username' AND password = '$password'";
                $mysql_query = mysql_query($query);
    			$checkuser = mysql_num_rows($mysql_query);
    			
    			if($checkuser)
                {
    				$_SESSION['username'] = $username;
    				echo '<script type="text/javascript">';
    				echo 'alert("Sie sind nun eingeloggt");';
    				echo 'window.location.href = "seite1.php"';
    				echo '</script>';
                }
            }
    	}
    }
    else
    {
        echo "Bitte fuellen sie alle Felder aus";
    }
    ?>
    MFG Micha
  • in: Finde NOCH EINEN Fehler nicht :(

    geschrieben von michaelkoepke

    muellerlukas schrieb:
    michaelkoepke schrieb:
    Was soll auch das? Habe ich noch nie gesehen ... PHP interpretiert von oben nach unten und führt das aus, was da steht. Du schließt nun mit ?> ab und öffnest wieder <?php, da kommt der Interpreter nicht mit. Die syntax vorher hat der schon wieder vergessen

    Wie kommst du auf den Blödsinn? Natürlich kannst du einen Php-Block schließen, Html schreiben und später einen weiteren öffnen.


    OK, habe es gerade selbst probiert und es funktioniert wirklich. Aber so habe ich es noch NIE gesehen. Also nehm ich meine Antwort zurück und lass mich gern eines besseren belehren.

    PS: und "Blödsinn" ist das nicht, wenn dann ist es NICHT richtig!
  • in: Finde NOCH EINEN Fehler nicht :(

    geschrieben von michaelkoepke

    <?php
    
    
    
    if($_POST)
    {
    	if(isset($_POST['button']) && $_POST['username'] && $_POST['password'])
    	{
    		$db = "db_294859_1";
    		
    		$username = mysql_real_escape_string($_POST['username']);
    		$password = mysql_real_escape_string($_POST['password']);
    		
    		$connection = mysql_connect("huaweiy300.lima-db.de:3306", "zensiert", "zensiert");
    
    		if($connection)
    		{
    			$selection = mysql_select_db($db);
    		
    			if($selection)
    			{
    
    				$query = "SELECT * FROMM account WHERE username = '$username' AND password = '$password'";
    				$mysql_query = mysql_query($query);
    	
    				$checkuser = mysql_num_rows($mysql_query);
    			
    			
    				if($checkuser)
    				{
    					$_SESSION['username'] = $username;
    				
    					echo '<script type="text/javascript">';
    					echo 'alert("Sie sind nun eingeloggt");';
    					echo 'window.location.href = "seite1.php"';
    					echo '</script>';
    				}
    			}
    
    
    		}
    	}
    	else
    	{
    		echo "Bitte fuellen sie alle Felder aus";
    	}
    }
    ?>


    Vor dem letzten else fehlt die } Klammer
  • in: Finde NOCH EINEN Fehler nicht :(

    geschrieben von michaelkoepke

    Was soll auch das? Habe ich noch nie gesehen ... !!! ENTFERNT !!!

    ?>
    <script type="text/javascript">
    	alert("Sie sind nun eingeloggt");
    	window.location.href = "seite1.php"
    </script>
    <?php

    Gib das mit echo ""; aus!
    echo '<script type="text/javascript">';
    echo 'alert("Sie sind nun eingeloggt");';
    echo 'window.location.href = "seite1.php"';
    echo '</script>';


    MFG Micha
  • in: Finde NOCH EINEN Fehler nicht :(

    geschrieben von michaelkoepke

    Hi,

    es fehlen die Semikolon an den Zeilenenden!
    Du solltest auch mysqli nutzen!
    Und "mysql_real_escape_string" darfst du nur innerhalb der Datenbankabfrage (Datenbankverbindung ist hergestellt) nutzen.

    MFG Micha

    Oh ich war wohl doch nicht der Erste :D
  • in: Geld mit TS3 Server verdienen + Lizenfragen

    geschrieben von michaelkoepke

    Hey,

    bruchpilotnr1 schrieb:
    also laut meines wissens ist das ok seitens nitrado. Aber TeamSpeak macht das sicher nicht mit. Der nitrado supporter hat mir erklärt, dass es wirklich keine server oder slotbeschränkung gibt. Macht ja auch keinen sinn. Nur der Prozessor, RAM (32 GB DDR 3) und der speicherplatz (240GB) Setzen die grenzen. Nitrado nicht.
    ...
    dann müsste ich mir jedes mal einen neuen server mieten von nitrado und diesen weitervermieten oder meinst du ich solle ihm nur die ressource zur verfügung stellen also das er selbst den server installiert?

    NEIN, wenn du einen ROOTServer hast der reicht doch für eineige TS Server... Also wenn nitrado nichts beschränkt, kannst du vServer mit KVM oder Docker (bei Linux) oder HyperV (Windows) erstellen, diesen Ressourcen zuweisen (1 Core, 512MB RAM, 5GB HDD) Die Cores kannst du bei der Verwendung mehrfach an vServern vergeben, da es nicht gerade Serverlastig ist. Diesen vermietest du und managed den Server. Wenn der Kunde nun einen Server wie TS mag kannst du die freie Version installieren (max 32 Slots) den kann er verwenden. (Auch Ähnlich ist es mit Minecraft und anderen)

    Ich denke so Ähnlich macht es nitrade mit den Managed Servern, deshalb gibt es nur einen, weil der Frei ist :)

    MFG Micha
  • in: Geld mit TS3 Server verdienen + Lizenfragen

    geschrieben von michaelkoepke

    Hallo,

    nachdem ich das Thema schon eine Weile verfolge, möchte ich nun auch gern mal meinen Senf dazugeben :)

    bruchpilotnr1 schrieb:
    Folgendes: Ich möchte mir einen Rootserver von nitrado.net mieten wo ich TS3 Server vermieten möchte. Preislich liegt dieser bei 159?/Monat. Dort kann man auch mit einem klick soviele server installieren wie man will.

    Ob du soviel Server installieren kannst wie du magst, ist fraglich, es kommt dabei auf die AGBs des Hosters an. Wen darin nichts enthalten ist, dann kannst du wirklich machen was du magst.

    Ich bin zwar kein Anwalt aber wenn in den AGBs des Servers nix anderes steht, dann vermiete doch die Ressourcen deines Servers, somit gibt es keine Probleme mit den Lizenzen.

    Sprich, wenn du TS3-Server hosten magst, kannst du das NICHT ohne Lizenz. ABER solange du ausdrücklich nur die Ressourcen anbietest also nur einen vServer, kannst du deinem Kunden darauf eine kostenfreie TS3-Server installieren, den er nutzen kann. (Auf seinem vServer darf er installieren, was er schließlich mag)

    Auch bei Minecraft ist das der Fall, stellst du nur die Ressourcen und nicht das Spiel zur Verfügung darfst du das.
    Nuntzt du Bukkit oder ähnliche Server stehen die meisten unter der GPL-Lizenz, das heißt u darfst damit machen was du magst, wenn du Änderungen machst, musst du sie dem jenigen der dein Plugin nutzt auch den Quellcode geben, damit der damit auch weiter entwickeln kann. (Hast du das Plugin nur auf deine Server, dann natürlich nicht)

    Hier etwas dafür zum Lesen: https://minecraft-server.eu/forum/threads/die-lizenzfrage-die-gpl-lgpl-craftbukkit-und-bukkit.16712/

    Über eine begründete Belehrung von anderen freue ich mich natürlich, wenn das nicht so sein sollte, was ich geschrieben habe.

    MFG Micha
  • in: Smileys für seine Webseite...

    geschrieben von michaelkoepke

    hi,

    ich nutze www.iconfinder.com da kannst du nach deinen Kriterien filtern.

    MFG Micha
  • in: script - Ordnergrösse auslesen

    geschrieben von michaelkoepke

    Hi,

    hier ist mein Script, welches ich benutze. Es ruft sich rekursiv selbst auf, für alle Unterordner,
    Der Aufruf erfolgt einfach über:
    echo dir_size("Pfad zum Ordner");
    /**
     * Ermittelt Speichergröße der Ordnerstruktur
     * @param dir (String) OrdnerPfad
     * @param size (int) Anfangswert sonnst 0
     * @return (int) Gibt die Speichergröße zurück
     */
    function dir_size ($dir, $size = 0){
            $file = $size;
            $reader = read_dir($dir);
            for ($i = 1; $i < sizeof($reader)+1; $i++) {
                    $exp = explode(".", $reader[$i]);
                    if (isset($exp[0]) && isset($exp[1])){
                            $file = $file + filesize($dir."/".$reader[$i]);
                    } else {
                            $file = dir_size($dir."/".$reader[$i], $file);
                    }
            }
            return $file;
    }
    Ich hoffe ich konnte dir helfen.

    MFG Micha
  • in: Formular & Sessions

    geschrieben von michaelkoepke

    HAHA, das mit der session_start() wollte ich auch gerade schreiben, aber das hast du ja auch schon herausgefunden.

    Ich kann mit nicht vorstellen, warum es nicht funktionieren soll. Kannst du nicht einfach deinen komplette Code posten? Bzw. mir eine Nachricht schreiben?

    MFG Micha
  • in: mysqli Select, Daten sortieren nach 2 Spalten

    geschrieben von michaelkoepke

    Hallo,

    dein Code sollte so wie er ist funktionieren, ich weiß es zwar nicht genau, aber es kann durchaus sein, das timestamp ein reserviertes Wort in mysql ist. Versuche es doch mal mit einem anderen Spaltennamen.

    MFG Micha
  • in: Formular & Sessions

    geschrieben von michaelkoepke

    Hi,

    schön das du einige deiner Fehler selbst gefunden hast, am Anfang des Lernprozesses passiert sowas schonmal.

    Du solltest zuerst einmal über print_r($GLOBALS) prüfen, ob deine Variablen alle gesetzt sind.
    Deine Post-Variablen funktionieren teilweise nicht, da in dem HTML-Code der name='' fehlt. Über diesen wird eine Post-Variable in php erstellt.
    Auch die Fehlermeldung Undefined variable: _SESSION ist richtig, warum? Eine Array-Variable wird OHNE Leerzeichen geschrieben.

    echo $_SESSION['titel'];

    Bei einem Leerzeichen zwischen $_SESSION und ['titel'] kennt php nicht, daraus macht er schlicht eine Variable namens $_SESSION.

    Ich hoffe ich konnte dir ein wenig helfen.

    MFG Micha
  • in: Eingabefeld mit Formatierungsoptionen

    geschrieben von michaelkoepke

    Hi,

    das ist ja TOP, das es bei dir klappt, ich kann dir auch noch den CKEditor empfehlen, wenn du dazu noch einen Filemanager für evtl. Bilder einfügen oder etc. möchtest, kann ich dir den kostenlosen Responsivefilemanager empfehlen, den kannst du auch nach deinen Wünschen leicht anpassen und konfigurieren.

    MFG Micha
  • in: Eingabefeld mit Formatierungsoptionen

    geschrieben von michaelkoepke

    Hallo,

    ich nutze für meine Projekte den TinyMCE Editor. Du erstellst eine Textarea mit einem Klassennamen und der Editor greift auf diese Textarea über Javasript zu. Die Eingabe deines Benutzers wird als HTML-Code nach dem Speichern an php zurück gegeben. Es ist sehr leicht zu konfigurieren und daher denke ich für deine Bedüfnisse bestens geeignet.

    MFG Micha
  • in: Web-, Mobile- und Appscripte über eine Domain laufen lassen

    geschrieben von michaelkoepke

    Hallo,

    das was du suchst nennt sich eine REST-API, bei Google und WIkipedia unter RESTful zu finden. Eine App oder andere Anwendung greift auf diese REST-API über das Senden eines GET-Requestes zu einem Webserver zu. Dabei sollte es für jede App ein eigenes token geben, welches sicherstellt, das kein Anderer über diese REST-Schnittstelle Zugriff hat. Ein Passwort wie in deinem Fall sollte natürlich gehasht verschickt werden! Als Antwortformat bekommst du vom Server im Normalfall ein xml bzw json Format. Natürlich geht das auch über einen POST-Request hier sendest du die Daten zum Beispiel im xml bzw json Format an den Webserver.

    Ich hoffe, ich konnte dir ein bischen weiterhelfen.

    MFG Micha
  • in: Wie Dateien übergeben?

    geschrieben von michaelkoepke

    Deine Header-Info ist wieder flasch.

    jpg gibt es nicht! Es gibt nur jpeg! (als Herader-Info meine ich natürlich)

    Ein kleiner Beispielcode von stackoverflow den du bei dir in dein Script einbauen solltest.
    switch( $file_extension ) {
        case "gif": $ctype="image/gif"; break;
        case "png": $ctype="image/png"; break;
        case "jpeg":
        case "jpg": $ctype="image/jpeg"; break;
        default:
    }


    Viel Spaß

    Michael
  • in: Wie Dateien übergeben?

    geschrieben von michaelkoepke

    Hallo,

    das sieht schon ganz gut aus, du hast nur vergessen, das dein Browser gerne noch wissen will, um was es sich bei dieser Datei handelt. Das weiß er derzeit noch nicht. Aber geben wir eine header-info mit, dann weiß dein Browser, dass es sich um ein css handelt ;)

    header('Content-type: text/css');
    
    if($_GET["css"]=="bt") {
        include("css/bootstrap-theme.min.css");
    }
    elseif($_GET["css"]=="b") {
        include("css/bootstrap.min.css");
    }
    elseif($_GET["css"]=="beide") {
        include("css/bootstrap.min.css");
        echo("\n");
        include("css/bootstrap-theme.min.css");
    }


    Das Zauberwort an der Stelle bei Google heißt: Dynamic Style Sheets

    MFG Micha
  • in: Apache .htaccess sicher?

    geschrieben von michaelkoepke

    Hallo,

    ich danke euch für eue Antworten, sie haben mir schon sehr weiter geholfen.

    willstdueswissen schrieb:
    Source: https://wiki.selfhtml.org/wiki/Webserver/htaccess

    Dies habe ich auch schon gefunden, trotzdem Danke, nun weiß ich was ich freischalten kann bzw. solte.

    hackyourlife schrieb:
    Du solltest eher darauf achten, den Usern echte User-Accounts zuzuweisen und dafür sorgen, dass
    1) ein User nur seine eigenen Dateien lesen/schreiben/sehen kann, nicht aber die von anderen Usern und
    2) PHP mit den Rechten des Users ausführen lassen.

    Das funktioniert bei mir schon, jeder User hat seinen eigenen Ornder mit den entsprechenden Rechten.

    hackyourlife schrieb:
    Auch eine sinnvolle php.ini-Konfiguration ist sehr empfehlenswert.

    Dieser Punkt interessiert mich noch sehr, ich habe mich schlau gemacht und mal ein paar empfohlene Einstellungen zusammengesucht.

    allow_url_fopen = off
    allow_url_include = off
    disable_functions = “apache_get_modules, escapeshellarg, escapeshellcmd, exec, ini_restore, passtru, popen, proc_nice, proc_open, shell_exec, symlink, syslog, system, ini_set”
    display_errors = off
    expose_php = off
    error_reporting = E_ERROR|E_WARNING|E_PARSE
    log_errors = on
    error_log = “/var/www/home/name/php.log”
    open_basedir =  „/var/www/home/name/www/“
    register_globals = off
    session.save_path = “/var/www/home/name/sess_tmp/”
    upload_tmp_dir = “/var/www/home/name/tmp/”
    enable_dl = off

    Welche Einstellungen sollte ich noch tätigen, was würdet ihr mir noch empfehlen?

    MFG Micha
  • in: Apache .htaccess sicher?

    geschrieben von michaelkoepke

    Hallo liebe Community,

    ich habe einen Server, auf denen ich mehrere Webseiten laufen habe. Ich biete auch einigen Freunden an, ihre Webseiten auf meinem Server zu hosten. Jetzt ist mir in den Sinn gekommen, das man über die .htaccess einen Großteil der Config ändern kann, da „allowoverride all“ eingestellt ist, ich habe mich in der Dokumentation zum Apache belesen und möchte diese Einstellung gern ändern.
    Wie bzw. Was sollte ich für die User, die meinen Server benutzen, über die .htaccess zulassen und was sollte ich nicht erlauben?

    MFG Micha
  • in: Aufträge als selbstständiger Grafikdesigner

    geschrieben von michaelkoepke

    Hi,

    ich habe hier mal ein Logo designen lassen, du kannst dich als Designer registrieren, finde die Idee der Seite ziehmlich gut :)

    http://www.designenlassen.de

    MFG Micha
  • in: Debian download

    geschrieben von michaelkoepke

    werbeparadise schrieb:
    Hallo,
    auf die Idee bin ich schon gekommen. Allerdings sagt er mir, dass er diesen Befehl nicht kennt.


    Welchen Befehl? "su" gibt es standardmäßig immer, "sudo" hingegen musst du mein einer Minimalinstallation nachinstallieren über "apt-get install sudo" (natürlich über root installieren). Dann musst du den Benutzer nur zu der Gruppe namens "sudo" hinzufügen ("adduser Username sudo"). Nun kannst du durch vorransetzen von "sudo Befehl" Einstellungen am System unter Root auf Zeit ausführen.

    werbeparadise schrieb:
    Kann ich dem SSH-Server denn beibringen, dass der "Root" per SSH Zugriff haben darf?


    Beibringen kannst du einem Kind was, aber eine Software kannst du nur konfigurieren :D Ja es geht, es ist aber sicherheitsbedingt nicht zu empfehlen! Aber auf dem lokalen System ist es schon ok :)

    1. nano /etc/ssh/sshd_config (wenn du kein nano hast, nimmst du einen anderen Editor)
    2. PermitRootLogin yes
    3. Speichern
    4. /etc/init.d/ssh restart

    Nun sollte es klappen.

    MFG Micha
  • in: Debian download

    geschrieben von michaelkoepke

    Hallo,

    werbeparadise schrieb:
    Ich verstehe nicht, wo der Fehler liegt :confused:

    EDIT: Es funktioniert nur der ROOT-User nicht. Normaler Benutzer geht einwandfrei
    Der ROOT-Benutzer geht allerdings in der VM direkt einwandfrei. Nur mittels externen SSH-Zugriff nicht


    Das Problem ist die EInstellung des SSH Servers, dieser verbietet den direkten Login des Users Root über SSH. Du kannst mit dem Befehl "su" zum root werden über SSH nachdem du dich über einen normalen Benutzer angemeldet hast.

    Bedenke! Der ROOT darf ALLES !!!!!! Du solltest alles was du machst über einen normalen Benutzer machen und Systemänderungen über "su", noch besser "sudo".

    ra1n schrieb:
    Da muss ich dich leider enttäuschen, es gibt keine Debian .iso Datei ohne GUI.

    PS! Warum sollte es Linux NUR mit GUI geben? ;) https://www.debian.org/CD/netinst/

    MFG Micha
  • in: include und Charsets

    geschrieben von michaelkoepke

    Bedenke bitte, das jede unnütze Funktion die du einsetzt Rechenleistung und ZEIT benötigt. Auch wenn es manchmal ms sind, Addiert mit den Zugriffen kann es dauern.

    Daher speichere sie (wenn du an deinem Rechner bist) als utf-8 konvertiert ab. Somit hast du alle Probleme umgangen.
  • in: include und Charsets

    geschrieben von michaelkoepke

    Wenn deine Datein nicht UTF-8 konvertiert sind ist es nicht möglich. Speicher diese Datei doch als UTF-8 konvertiert und ersetze alle Umlaute. Anders geht es leider nicht (Wüsste ich zumindest nicht)
    Gibt es einen Grund warum du nicht konvertieren willst?
  • in: php ()mail mit Formular und "sendmail.php" in Hintergrund

    geschrieben von michaelkoepke

    Hi,

    mit HTML kannst du wohl dieses Problem nicht lösen ;) html kann in deinem Browser geändert und manipuliert werden ;) So etwas musst du Serverseitig lösen!
  • in: php ()mail mit Formular und "sendmail.php" in Hintergrund

    geschrieben von michaelkoepke

    Wenn du .htaccess verwendest, kommst du um die Passworteingabe nicht herum. Und .htaccess hat auch in dem Zusammenhang nichts mit PHP zu tun. Die REQUEST-Variable ist eine Art Globale-Variable und die beinhaltet Daten die über POST, GET oder COOKIEs gesendet wurden. Sprich ich kann die REQUEST-Variable über 3-Arten setzten.

    POST: Post kannst du über das Senden eines Formularen verwenden.
    GET: Auch über Formular (Zum testen ändere im html-code mal das POST in GET und schau auf deine Domain was passiert) aber auch über die Adresszeile in Form von www.domain.de?id=jjj&name=...
    COOKIE: Existieren Cookies auf dem Rechner (nur für die Seite) werden sie gesendet

    Nochmal: 3 verschiedene Möglichkeiten Daten zu übertragen. Aber alle können mit REQUEST abgefragt werden.

    Frage ich nun nur über $_POST diese Daten ab, kann ich diese auch nur über POST senden. Es ist so sicherer als wenn ich noch andere Möglichkeiten hätte.

    MFG Micha
  • in: php ()mail mit Formular und "sendmail.php" in Hintergrund

    geschrieben von michaelkoepke

    Hi, ich helfe doch gern aber bitte BEACHTE folgenden Hinweis!

    Benutze bitte Statt $_REQUEST die $_POST-Variable. Warum? Wenn jemand deine Seite aufruft indem er an deine Domain ?name=XYZ&email=hhh$senden=1 anfügt, kann er eine Email senden. Die REQUEST-Variable beinhaltet ALLE Daten von POST, GET und COOKIE.

    Wieder was zum Nachlesen: http://php.net/manual/de/reserved.variables.request.php

    MFG Micha
  • in: php ()mail mit Formular und "sendmail.php" in Hintergrund

    geschrieben von michaelkoepke

    Hi,

    vorab, eine Checkbox mit der Frage ob ich ein Mensch bin oder nicht, schützt nicht vor Bots! Da gehört ein wenig mehr dahinter ;)

    Also zum Problem. Wenn du Daten per POST sendest, werden die Variablen in den input-Feldern durch name='Variable' definiert. (Zum Verständnis)

    Zum PHP-Teil:
    $name = $_POST['name'];
    $email = $_POST['email'];
    $category = $POST['category'];
    $to = "example@empfänger.com";
    $subject = "Formular";
    $header = "From: $email \r\n" .
        "X-Mailer: PHP/" . phpversion();
    
    mail($to,$subject,$category \n $message,$header)


    So sollte der Code funktionieren. Verwende für die Headerangaben eine extra Variable zur besseren Übersicht.
    Du solltest das nächste Mal auch deine Fehlermeldungen posten ;)

    Zum Nachlesen: http://php.net/manual/de/function.mail.php

    MFG Micha
  • in: ORDER BY zwei Variablen

    geschrieben von michaelkoepke

    Hey, zeig doch mal deine SQL-Abfrage, das würde schon mal interessant sein, da es wirklich so einfach ist.

    SELECT kw, jahr FROM Table
    ORDER BY jahr DESC, kw DESC;


    Diese Abfrage sollte den gewünschten Erfolg bringen.

    ORDER BY ist das Zauberwort zum Sortieren. Deine Abfrage wird nun nach dem Jahr (DESC-absteigend) und dann nach der kw sortiert.

    Zum Nachlesen: http://www.w3schools.com/sql/sql_orderby.asp

    MFG Micha
  • in: Schnelle ID- Abfrage

    geschrieben von michaelkoepke

    zhd-dresden schrieb:
    ... wenn ich AUTO_INCREMENT nehme, und ich lösche im Nachhinein Datensätze, zählt er dann weiterhin einen Wert dazu, oder fängts an zu "stottern" wenn zwischendurch eine Zahl fehlt??


    Hey,

    wird ein Datensatz gelöscht, wird dieser Indexwert nie wieder gesetzt. Es wird IMMER der nächste Wert genommen. Auch wenn du den letzten Datensatz gelöscht hast ist der neue Index wieder der Nächste Indexwert. Sprich der Indexzähler der Tabelle wird im Datenbanksystem gespeichert.

    Siehe dazu auch:
    http://de.wikipedia.org/wiki/Datenbankindex

    MFG Micha
  • in: mod_rewrite und Apache2 auf Linux (Internal Server Error)

    geschrieben von michaelkoepke

    webfreclan schrieb:
    Ich habe zu dem Thema mal einen Post in meinem Blog geschrieben: Tutorial: mod_rewrite auf Ubuntu-Rechner mit Apache2 (Das Tutorial ist zwar für Ubuntu, aber sollte auch unter Debian funktionieren - Ubuntu baut ja auf Debian auf ...)

    Den Teil mit dem Bearbeiten der /etc/apache2/apache2.conf - Datei solltest du auf jeden Fall mal überprüfen.


    Hey, danke für die Info (cooler Blog) jedoch benötige ich keine Grundlagen über das Einrichten, das klappt ja alles (Bin schon ein wenig weiter).

    Aber DANKE für eue Hilfe. Den Fehler habe ich selbst gefunden. Man schaue in die virtuelle Hostdatei, wo die Log abgespeichert wird. Ich habe es vollkommen verhauen und immer wieder in die FALSCHE Log geschaut und daher nie Fehler entdeckt :holy:

    Ein Blick in die Richtige Log zeigt den Fehler "order not allowed here". Ich hatte somit ein Problem mit der AllowOverride-Direktive. In meiner .htaccess stand noch ein Zugangsverbot für ein Verzeichnis. Und mit FileInfo ist es mir in der htaccess nicht erlaubt dieses zu benutzen. Daher noch ein Limit hinzugefügt und das Modul funktioniert.

    Was habe ich heute gelernt? Schaue dir die RICHTIGE Log-Datei an.

    MFG Micha
  • in: mod_rewrite und Apache2 auf Linux (Internal Server Error)

    geschrieben von michaelkoepke

    Hey,

    da PHP als CGI und nicht als Apache-Modul läuft, können die Apache-Module nicht innerhalb PHP ausgelesen und somit auch nicht in phpinfo() angezeigt werden.

    Folgendes Kommando ergibt, dass das Modul aktiv ist.
    a2enmod rewrite
    Module rewrite already enabled
  • in: mod_rewrite und Apache2 auf Linux (Internal Server Error)

    geschrieben von michaelkoepke

    Hallo liebe Community,

    ich habe folgendes Problem und habe meherere Lösungen aus dem Web (Dank Google) probiert. bekomme aber immernoch einen "500- Internal Server Error" oder einen "404- Not Found".

    Vorab:
    Ich habe einen Linux (Debian) Server, auf den läuft Apache mit FastCGI. Rootverzeichnis ist /web/users/user1/www/ indem die Website liegt.
    Das aufrufen einer html oder php Datei funktioniert einwandfrei. Auch Ordner kann der Apache ausgeben. Somit gehe ich davon aus, das es nicht an irgend welchen Berechtigungen fehlt.

    Folgende Anleitung habe ich genutzt:
    http://wiki.ubuntuusers.de/Apache/mod_rewrite

    Mein Problem, ich bekomme egal was ich mache immer einen Fehler. Auf anderen Servern (Lima, Bplaced und co.) läuft die Website. Also vermute ich einen Konfigurationsfehler von Apache.

    Meine .htaccess
    RewriteEngine On
    
    #RewriteBase /
    
    RewriteCond %{REQUEST_URI} !^(.*)/css/(.*)$ [NC]
    RewriteCond %{REQUEST_URI} !^(.*)/images/(.*)$ [NC]
    RewriteCond %{REQUEST_URI} !^(.*)/administration/(.*)$ [NC]
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-l
    
    #RewriteCond %{REQUEST_URI} ^/[^.]+[^/]$
    #RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1/ [R=301,L]
    
    RewriteRule ^([^/]*)$ index.php?id=$1 [L]
    Mein Virtueller Host:
    <VirtualHost *:80>
       ServerAdmin postmaster@example.com
       ServerName user1.debian
       ServerAlias www.user1.debian
       ServerSignature Off
       # Bestimmung der Rechte
       SuexecUserGroup user1 user1
       # Handler für PHP Dateien festlegen
       AddHandler fcgid-script .php
       DocumentRoot "/web/users/user1/www"
       DirectoryIndex index.htm index.html index.php
       <Directory "/">
          Options +FollowSymLinks
          AllowOverride FileInfo
       </Directory>
       <Directory "/web/users/user1/www">
          Options +Indexes +ExecCGI
          FCGIWrapper /web/users/user1/bin/php5-cgi .php
          Order allow,deny
          Allow from all
       </Directory>
       ErrorLog /web/users/user1/log/error.log
       CustomLog /web/users/user1/log/access.log combined
       LogLevel warn
    </VirtualHost>

    Könnt ihr mir bei der Konfiguration helfen oder mir Tipps geben, wo der Fehler sein könnte, bzw. was ich besser machen könnte.
    Über passende Literatur zum Thema würde ich mich auch sehr freuen.

    MFG Michael
  • in: Custom CMS - Benutzerrollen

    geschrieben von michaelkoepke

    Hey,

    ich arbeite auch an einer Art CMS und habe diesen Vorschlag der Rechteverwaltung für gut befunden und kann diesen nur weiter empfehlen.

    http://www.webmasterpro.de/coding/article/mysql-umfassendes-rollen-und-rechte-management-fuer-eigene-anwendungen.html

    MFG Micha
  • in: Datenbank-Inhalt in array speichern

    geschrieben von michaelkoepke

    OK,

    so richtig verstehe ich es nicht, aber du willst nun einfach deine Variablen (aus DB) in Form von $config[Variablenname] = Variableninhalt aufrufen!?

    Wenn ja, dann schau dir folgenden Code an ...
    // Den Verbindungsaufbau zur DB hast du ja schon ...
    // Nun Folgt die Abfrage...
    $sql = "SELECT * FROM fins_config";
    $tresult = mysqli_query($connection, $sql);
    // Nun bekommen wir die komplette Tabelle zurückgeliefert
    // Über eine while-Schleife lesen wir nun jede Zeile in dieser Tabelle aus 
    while ($row = mysqli_fetch_assoc($result)) {
    	// Nun können wir festlegen was mit den Variablen passieren soll
    	$config[$row['config_name']] = $row['config_value'];
    }

    Nun kannst du die $config in Form von $config['config_name'] aufrufen.

    Und mein Tipp: (da du ja die SESSION verwendest) diese Inhalte nicht in die $config zu schreiben, sondern in eine SESSION-Variable ($_SESSION['config'][config_name']) dann kannst du sie überall verwenden und brauchst deine DB nicht jedes mal mit dieser Abfrage belasten.

    MFG Michael
  • in: Datenbank-Inhalt in array speichern

    geschrieben von michaelkoepke

    Hallo,

    mpsftp schrieb:
    Es geht nicht um eine ganze Datenbank, sondern nur um eine Tabelle. Diese Tabelle wird bei mir sehr sehr häufig verwendet und enthält 2 Werte: Name und Value, also Wert. Ich finde es 2000mal einfacher, das ganze als Array abrufen zu können, als ständig mit huderten Variablen rum zu hantieren.

    Warum du das so machst und weshalb kann uns allen egal sein! Jeder entwickelt schließlich seine eigenen Programme und Funktionen. (Ich mache es auch so, ich lade meine Config in ein Array.)

    Aber wichtiger, funktioniert nun deine Funktion? Kannst du nun auf das Array zugreifen? Wenn nicht, könntest du nochmal deinen Code posten, damit wir die Fehler suchen können.

    PS: Ein Tipp von mir, (sofern du bei jedem Aufruf die Config lädst) speichere dieses Array in eine SESSION, dann greifst du nur einmal auf die DB zu, somit werden lange Ladezeiten vermieden. (Für dich als Entwickler solltest du etwas einfallen lassen, aber für Besucher ideal)

    MFG Michael
  • in: mehrdimensionales array ausgeben

    geschrieben von michaelkoepke

    Hallo,

    was willst du mit dieser Ausgabe anstellen?

    ich würde dir ganz einfach vorschlagen, die fertige Funktion zu nehmen:
    http://php.net/manual/de/function.print-r.php
    echo "<pre>";
    print_r($json);
    echo "</pre>";


    MFG Micha
  • in: .htaccess deny for all except include

    geschrieben von michaelkoepke

    Hallo,

    fuerderer schrieb:
    Wenn etwas geheim bleiben soll, nutzt man PHP

    So gut ist dafür PHP auch nicht! Was ist wenn der PHP-Interpreter mal ausfällt, dann gibt der Webserver die Datei sofort ohne vorher den Code durchzugehen heraus! Eine gute Idee, aber keine Sichere!

    Am sichersten ist ein Apache Verzeichnissschutz (Benutzerdateneingabe) oder wenn du sie garnicht erst an den Browser ausliefern möchtest, kannst du ganz einfach über eine .htaccess deinen Apache anweisen den Ordner /includes oder alle Datein (bei meinen Projekten) mit der Dateiendung *.inc.php nicht auszuliefern.

    Bsp. Das Verzeichnis nicht ausliefern, einfach eine .htaccess in den Ordner mit folgendem Inhalt:
    Order allow,deny
    Deny from all


    Bsp. Dateiendungen nicht ausliefern, einfach im Hauptverzeichnis eine .htaccess und alle Endungen deklarieren:
    <Files *.inc.php>
    	Order Allow,Deny
    	Deny from all
    	Allow from all
    </Files>


    Ein Beispiel für den Passwortschutz kannst du folgender Seite entnehmen. http://www.grammiweb.de/anleitungen/ka_htaccess.shtml

    Viel Spaß Micha
  • in: eigene Datenverwaltung

    geschrieben von michaelkoepke

    Hallo,

    so etwas musst du dir wohl selbst programmieren, solch eine Lösung wird es garantiert nicht geben, vor allem auch nicht als Freeware.

    Deine Idee ist jedoch mit PHP leicht umzusetzen (Wenn du deine Daten online, also im Browser verwalten möchtest),
    jedoch wäre auch eine Lösung mit Java und einem Webspace leicht möglich.

    MFG Micha
  • in: Eure Meinung zum Captcha

    geschrieben von michaelkoepke

    webfreclan schrieb:
    Naja, also ich bekomme eigentlich immer eine IP-Adresse, bei der die ersten Oktette immer gleich sind - man könnte also alle IP-Adressen mit diesen Oktetten freigeben. (Und es würde bestimmt schon reichen, nur IPs von deinem Provider zu erlauben. - Ich glaube nicht, dass Spam-Bots die IPs von der Telekom oder anderen bekannten deutschen Providern verwenden)

    Zu meiner IP die ich bekomme:

    XX.XXX... und
    XXX.XX... auch schon gehabt!

    Und warum nur von meinem Provider erlauben?
    Welchen Provider hast du denn? Also ich bin bei Vodafone, wenn du es nicht sein solltest, haben wir jetzt ein Problem!

    Und somit wäre ein Anmelden von einem anderen (fremden) Computer für diesen Benutzer nicht mehr möglich!? :confused:
    Sorry, finde diese Idee immernoch ein wenig **** und bin immernoch :disapprove:

    MFG Micha
  • in: Eure Meinung zum Captcha

    geschrieben von michaelkoepke

    WOW :thumb:

    Hallo erst einmal an alle, die geantwortet haben.

    fatfreddy schrieb:
    Der Begriff sagt für mich, daß dort eh nur diejenigen hinkommen, die bereits im System registriert sind.
    Willst Du das Login vor Spam- und Hackversuchen schützen? Dafür gäbe es bessere Wege!

    Genau, es ist nur für registrierte Mitglieder gedacht, die mit dieser Seite viel Schei*e bauen könnten.
    Dieses Captcha dient nicht nur zum Login in das AdminPanel, sondern dient auch dazu sich über ein Formular ein neues Passwort zukommen zu lassen, wenn man es vergessen hat. Auch zum Absenden wichtiger Änderungen an der Seite möchte ich dieses einsetzen.
    Bessere Wege, ja die gibt es, einige davon setzte ich zusätzlich ein. :wink:

    webfreclan schrieb:
    In dem Fall könnte es man noch einfacher machen und einfach alle IPs außer der der Admins zu sperren. (z.B.: über htaccess)

    Ich weiß nicht wie du dir das vorstellst, wenn jeder Benutzer der das Internet nutzt über seinen Provider fast jeden Tag eine neue IP-Adresse bekommt! :confused: -> :disapprove:

    doublecakelp schrieb:
    Eine Rechenaufgabe ist da deutlich benutzerfreundlicher.
    Oder du machst es am besten mit Google reCAPTCHA.

    Ja, eine Rechenaufgabe finde ich auch besser als eine Zeichenfolge. :approve:
    Jedoch hast du die vorhergehenden Beiträge nicht gelesen reCAPTCHA -> NEIN :disapprove:

    johanneskirchgemeinde schrieb:
    Allerdings sollte man sich bewusst sein, dass es auch Menschen gibt, die keine Probleme mit Text haben, aber nicht in der Lage sind, einfachste Matheaufgaben zu lösen. Sollten diese Menschen zur Zielgruppe gehören, möchte man sie ja nicht ausschließen.

    Das ist natürlich ein gutes Argument, das muss ich mir nochmal durch den Kopf gehen lassen.

    johanneskirchgemeinde schrieb:
    Ich würde (unter Windows) calc starten, dann können Aufgabe (sofern nicht als Bild angezeigt) und Ergebnis sogar per copy+paste übertragen werden.

    Das wäre wohl bei einem CAPTCHA Schwachsinn :wall: es in Klartext darzustellen oder? :wink:

    MFG Micha
  • in: Bitte um Hilfe - Gästebuch

    geschrieben von michaelkoepke

    Hallo Frank,

    das liegt evtl. daran, das der Pfad zur Datei fehlerhaft ist oder an den Dateiattributen. Sprich dein Script hat auf diese Datei keine Schreibrechte.

    Diese musst du auf 664 (oder auch 666) ändern (Besitzer und Gruppe brauchen Schreibrechte).

    Wenn du FileZilla benutzt, kannst du durch einen Rechtsklick auf diese Datei die Dateiattribute setzen.

    MFG Micha
  • in: Eure Meinung zum Captcha

    geschrieben von michaelkoepke

    Hey,

    danke für eure Antworten, ich habe viele Ideen sammeln können, auch der Link von
    dunkeltuten schrieb:
    http://www.cwcity.de/tutorials/view/548-Anti-Spam-mit-PHP-ohne-captcha-ohne-JS
    hat mir sehr geholfen.:approve:

    Ich werde nun zusätzlich die Zeit jeder Eingabe messen und werde auch eine Wartezeit, nach einer Falscheingabe einfügen. alle EIngaben werden besser geprüft (mit Regulären Ausdrücken).

    w3j schrieb:
    reCaptcha:
    http://t3n.de/news/captcha-recaptcha-google-582984/

    Danke für die Info, im Prinzip eine tolle Idee, jedoch halte ich überhaupt nichts von diesem Captcha, da ich a) keinen Include von anderen Seiten mag und will, und b) Google als Suchmaschine verwende (klappt sehr gut) und nicht mehr damit zu tun habe und auch nicht will!:disapprove:

    Vieleicht präsentiere ich in naher Zukunft mein fertiges Captcha, welches noch sicherer sein sollte :spammer:

    PS:
    dunkeltuten schrieb:
    Die meisten Anwender sind von Captcha's genervt und man vergrault sie damit -> weniger Seitenaufrufe!

    Diese Meinung teile ich nicht, das Captcha wird für ein Adminpanel eingesetzt und da sehe ich es doch sinnvoll :wink:

    Ich danke euch nochmal für eure Meinungen :thumb:
  • in: Eure Meinung zum Captcha

    geschrieben von michaelkoepke

    muellerlukas schrieb:
    Wozu Verschlüsselung? Wenn du was in die Session speicherst liegen die Daten nur aufm Server
    Wozu wohl, hat einer eine Schwachstelle in einem Script der Seite gefunden, kann er evtl. die Session auslesen, und somit die Sicherheitsabfrage gekonnt übergehen.

    muellerlukas schrieb:
    Ohne den Code zu kennen kann man eh wenig sagen.
    Was würde dir bitte der Code bringen? Der Benutzer bekommt schließlich nur ein Bild.

    Meine Fragen wurden somit mit deinem Beitrag zu fast 0% beantwortet. Ich danke dir dafür.:thumb:

    MFG Micha
  • in: Eure Meinung zum Captcha

    geschrieben von michaelkoepke

    Hallo Leute,

    ich benutze schon seit einiger Zeit ein eigenes geschriebenes Captcha und habe es mal ein wenig überarbeitet, um es unter anderem flexibler sowie sicherer zu machen. Auf diesem Wege möchte ich eure Meinungen einholen, unter anderem wegen der Erkennbarkeit aller Zeichen, des Aussehens und ganz wichtig eure Meinung zur Sicherheit des Captchas. Gegenüber Vorschläge und auch Kritik bin ich stets offen.

    Captcha 1, eine 8-stellige Zeichenfolge

    Captcha 2, eine Rechenaufgabe mit zwei Operationen

    Beide Captchas kann man in Ihren Farben und jeglichen Formen anpassen und der Captcha-Code wird derzeit noch über md5 sowie einen Salt in einer Session gespeichert.
    Welche Schriftarten und Verschlüsselungsmethoden würdet Ihr mir empfehlen?
    Wie sollte ein Captcha nach euren Vorstellungen aussehen? (Sollte ja auch anwenderfreundlich sein)

    Ich freue mich schon auf eure Antworten

    MFG Micha
  • in: Spalte kleiner machen

    geschrieben von michaelkoepke

    skateen schrieb:
    Ist das jetzt das das colspan?

    Ja genau das! Und nehme die % Angaben raus und vergib feste Pixel, deine Tabelle hat ja auch eine Pixelangabe und keine % Angabe.

    MFG Micha
  • in: Spalte kleiner machen

    geschrieben von michaelkoepke

    Hey,

    das mit den <th> hast du noch nicht geändert!

    Dann hast du auch noch ein Problem mit deiner Tabelle die ersten 2 Teilen haben Zwei Spalten und die dritte soll auf einmal drei haben da stimmt was nicht, der IE und Chrome stellen es richtig dar, der Firefox falsch, also so wie du es haben willst. Belese dich nochmal im letzten Link zur Tabelle.

    PS du kannst auch Zellen Verbinden!

    MFG Micha
  • in: Spalte kleiner machen

    geschrieben von michaelkoepke

    Hallo skateen,

    skateen schrieb:
    Weiß jemand zufällig wieso auf meiner Seitehttp://skateen.lima-city.de/p/index.php unten die Navigation breiter ist als das die Bild Spalte?

    Ich habe mir mal deine Seite angesehen und sie sieht genau so aus, wie du sie eigentlich haben willst.
    Sprich, die Navigation (nehme an unten rechts) ist kleiner, weil ja 30% und das Bild ist breiter als die Navigation, weil ja 50%. Lösche doch mal deinen Cache oder nutze einen anderen Browser, evtl. wird es nicht richtig interpretiert.
    (getestet mit Firefox)

    Nun noch was 50% + 30% ergibt keine 100%!! Das solltest du anpassen! (können einige Browser nicht leiden)
    Dann solltest du in deiner Tabelle die <th> Elemente durch <td> ersetzen. Siehe dazu folgenden Link.

    MFG Micha
  • in: Session ID immer neu

    geschrieben von michaelkoepke

    Ich denke mal mit den jetzigen Angaben, kann dir keiner so richtig helfen... Man müsste dazu den ganzen Code kennen. Eine Idee von mir noch, entferne das session_start am Anfang und schreibe die Ausgabe der id und der gesamten Session mal an das Ende deiner Index Datei und schau was passiert.

    Mfg Michael
  • in: Session ID immer neu

    geschrieben von michaelkoepke

    Ihr ruft auch wirklich nur EINMAL die session_start(); auf?

    Schau mal in dein Postfach

    MFG Micha
  • in: PHP include path Frage

    geschrieben von michaelkoepke

    Hallo,

    die include Funktion geht immer vom aktuellen Script aus!!
    Somit muss deine Ordnerstruktur so aussehen:
    --index.php
     |-plugins
      |-user
       |-information.php

    include "plugins/user/information.php";

    ACHTUNG! Es ist dabei zu achten, dass kein "/" als erstest Zeichen verwendet wird!
    Das ist evtl. der Fehler in der Funktion "set_include_path()";

    PS: Wenn du diese Seite nur einmal includen willst, verwende "include_once", somit wird das mehrmalige Laden verhindert. (praktisch für DB-Abfragen oder ähnliches)

    MFG Micha
  • in: include virtual shtml

    geschrieben von michaelkoepke

    Hallo,

    zeig mal bitte deinen Quellcode, schreibe eine index.php und include deine Seiten üder folgende Funktion.
    <?php
    include 'beispiel.inc';
    ?>

    Wobei ich aus der .inc eine "beispiel_inc.php machen würde.

    MFG Micha
  • in: Session ID immer neu

    geschrieben von michaelkoepke

    Ok also doch nicht so falsch gelegen :)

    Versuche mal mit
    echo "<pre>";
    print_r ($_SESSION);
    echo "</pre>;

    die Variable Session vor der Auswertung auszulesen, ob sie auch wirklich gesetzt ist.

    MFG Micha

    PS: Fragst du den Login ($_SESSION) auch an der richtigen Stelle ab?
  • in: Session ID immer neu

    geschrieben von michaelkoepke

    Die Frage ist ja erstmal, was steckt hinter Euren Funktionen und wie die Abfrage, ob eingeloggt oder nicht, aussieht!?

    Wenn ich richtig verstehe, ist die Funktion (checkLoginIntoDB) eine art LOG Eintrag in die DB!?
    Ich hoffe mal Ihr kommt auch bis zu diesem Schritt beim Login?

    Also es sind wirklich einige Infos noch notwendig!

    MFG Michael
  • in: Rechenfunktionen

    geschrieben von michaelkoepke

    Hallo,

    da ja jede Rechenart auf die Grundstrucktur zurück führt würde ich einfach
    zB. 2^5=32 mit 2*2*2*2*2=32 in einer Schleife errechnen.

    Und da es keine Hausaufgabe ist, hier mein JAVA-Code ...
    private static int potenz(final int a, final int b){
    	int c = 1;	
    	for (int i = 0; i < b; i++) {
    		c = a * c;
    	}	
    	return c; 
    }
  • in: Raspberry Pi An-/Austaster

    geschrieben von michaelkoepke

    thwbm schrieb:
    Kann mir das vielleicht mal jemand genauer und Stück für Stück erklären?
    [...]
    Wo genau müsste der Kondensator denn dann hin?
    [...]
    Bei Conrad finde ich dazu das hier.
    In deinem Datenblatt hat das Teil 14 Kontake, bei Conrad 16. Warum ist das so?
    Kann dieses kleine Bauteil das gleiche wie die umfangreichere Schaltung? Wenn ja, wo müsste ich was anschließen, wenn ich mit zwei Tastern zwei LEDs steuern wollte?
    Danke für die Hilfreichen Antworten.
    MFG THWBM


    Hallo,

    es erfreut mich immer, wenn sich jemand intensiv mit seinem eigenem Thema befasst, sich nicht alles vor seine Nase legen lässt und mitdenkt, dafür bekommst du erstmal einen :thumb:

    Also zu deiner ersten Frage:

    Schau dir mal auf sieser Seite das erste Bild an. Schau dir die Stromquelle genauer an. Der lange Strich zeigt, dass oben der Pluspol und der kurze Strich, unten der Minuspol ist. Nun lenke deinen Blick auf die Schalter, beide sind mit dem Minuspol verbunden und schalten somit gegen 0V, nichts anderes machen Microcontroller und dein Raspberry, die Transostoren in diesen Microcontroller machen das selbe wie diese Schalter, und schalten deinen Pin gegen Plus bzw. Minus. Schau dier das Datenblatt von der Conradseite an auf der ersten Seite unten links mit der Überschrifft "INPUT AND OUTPUT EQUIVALENT CIRCUIT" findest du ein Beispiel wie ein Microcontroller oder IC ausgänge über Transistoren, Thyristoren schaltet, vieleicht hilft das mein oben genannten Schriebs zu verstehen.

    Zur 2ten Frage:

    Der Kondensator müsste einmal an die Basis des 2ten Transistors um zu verhindern, dass bei Spannungszuschaltung der Raspberry gleich startet.

    Zur 3ten Frage:

    Lass dich bitte nicht von den Augen und von Bildern täuschen und lies etwas weiter unten :wink: da steht SO-14 Gehäuse (sprich 14 Pins, wie bei mir) Aber Achtung, das Teil was du gefunden hast, ist ein SMD Bauteil und passt auf keine normale Lochrasterplatine ... Das Teil heißt anders, macht aber das slbe

    Ich kann dir sehr gern eine fertige Schaltung mit Materialliste fertigen ...

    MFG Micha
  • in: Raspberry Pi An-/Austaster

    geschrieben von michaelkoepke

    thwbm schrieb:
    Wenn ich die Schaltung richtig verstanden habe, dürfte das so nicht funktionieren. In den Schaltungen gibt es zwei Taster: S1 und S2. S1 ist mein Antaster. S2 ersetze ich durch einen weiteren Transistor, den ich mit einem GPIO Pin ansteure.
    Wenn jetzt der RPi hochgefaren ist und ich den GPIO-Pin auf 3,3V stelle, müsste doch sofort die Stromzufuhr unterbrochen werden. Sie soll aber erst unterbrochen werden, wenn der GPIO-Pin auf etwa 0V zurückspringt.
    Habe ich das falsch verstanden?

    MFG THWBM


    Im Prinzip würde es funktionieren, die Schaltung wird durch 0V zurückgesetzt (S1 sowie S2 schalten gegen 0V!) Sprich ein Sprung von 3,3 auf ca. 0V (mit Widerstand beeinflussbar) Wird die Schaltung zurückgesetzt und dein Raspberry bekommt kein Strom mehr ... Natürlich fehlen in dieser Schaltung noch ein Kondensator um sicherzustellen, das immer der Selbe Zustamd beim Einschalten (Stromzufuhr) eintritt ...

    Eine Frage ist noch zu klären ... Der Pin wird auf 3,3V gesetzt sobald an, oder sobald dein Programm sagt, der Pi ist hochgefahren? Wenn das so ist, muss da auch noch ein Kondensator rein, um die Basis auf über 1-2V zu halten, bis der Pin auf 3,3V umschaltet.

    Wenn dir das zu kompliziert scheint, kannst du auch einen IC mit dem Namen 7400 nehmen und eine Logikschaltung bauen (RS-Flipflop - im prinzip wie oben, nur alles was du braucht schon im einem IC verbaut ...)
    hier mal ein Datenblatt dazu http://www.nxp.com/documents/data_sheet/74HC_HCT00.pdf
  • in: Raspberry Pi An-/Austaster

    geschrieben von michaelkoepke

    Hey, guter ansatz, aber warum ein relais? Finde ich zu kompliziert :)

    Das beste wäre doch du nutzt Transistoren und baust dir einen "bistabilen Multivibrator" (nix schweinisches :biggrin:)

    Diese besteht aus zwei Transistoren, und einige wenige Wiederstände ... (Plan kann ich dir auch liefern)

    Du betätigst einen Taster (kurz) der Multivibrator springt um und dein Raspberry startet ... Wird er herunter gefahren schaltet der Pin von 3,3 auf ca. 0 V und schaltet somit den zweiten Transistor wieder ab. Nun kannst wieder auf den Taster drücken, oder es sein lassen ...

    hier einige nützliche infos dazu ...http://www.dieelektronikerseite.de/Lections/Bistabiler%20Multivibrator%20-%20Es%20kann%20nur%20Einen%20geben.htm

    MFG Micha
  • in: Formulardaten in Datenbank schreiben via functions.php

    geschrieben von michaelkoepke

    kevsworld schrieb:
    Erst einmal danke für eure Antworten, beide konnten mir weiterhelfen.
    [...]
    Nun möchte ich meine Datenbankverbindung aber in einer separaten Datei haben (config.php).
    Habe schon ein paar Sachen versucht, aber es will nicht klappen.


    Hey,

    es ist schön zu hören, dass wir beide dir helfen konnten :thumb: (gibt manchmal kein Feedback von Usern).
    Meine Vorschläge zum Problem:

    Lösung A: rufe die Datei in deiner Function auf
    function customer_add($vorname,$nachname)
    	{
    		include('./includes/config.php');
    [...]

    Lösung B: Übergib die $con-Variable deiner Function
    function customer_add($vorname,$nachname,$con)
    	{
    	$sql = mysqli_query($con,"INSERT INTO kunden (vorname,nachname) VALUES ('$vorname','$nachname')");
    		if($sql == true) {  $result_sql = 1; }
    		else { $result_sql = 0; }
    
    		mysqli_close($con);
    		return $result_sql;
    }	
    [...]
  • in: Bild upload

    geschrieben von michaelkoepke

    eine Idee habe ich noch ...
    move_uploaded_file($_FILES['file']['tmp_name'], '/profileimages/' . $filename_new);

    entferne das erste Slash-Zeichen ...
    move_uploaded_file($_FILES['file']['tmp_name'], 'profileimages/' . $filename_new);


    PS: Kontrolliere doch den Dateityp mit deiner $file_type-Variable
  • in: Bild upload

    geschrieben von michaelkoepke

    Dann log dich mit deinem FTP-Client bei Lima-City ein,
    gehe auf den Ordner (auf dem Server),
    rechte Maustaste (Dateiberechtigungen) und
    in dem Feld machst du entweder alle Häkchen oder gibst bei Wert 777 ein ...
  • in: Bild upload

    geschrieben von michaelkoepke

    Lass mich raten, zum testen benutzt du XAMPP auf deinem Windows-PC? Oder wie testest du deine Scripts?

    Hier mal ein Tutorial um Alle Rechte zu vergeben (bei Windows)
    http://www.pa-s.de/php/tutorial-CHMOD-Rechte-in-Windows-vergeben-13.php
  • in: Formulardaten in Datenbank schreiben via functions.php

    geschrieben von michaelkoepke

    Schreibt dein Script denn was in die Datenbank? Weil wenn nicht, dann gibt es auch die Variable nicht, die du zurück geben willst ;) also deine Variable vorher (bevorzugt am Anfang) deklarieren ($result_sql = 0;) oder einen Else-Befehl (if($sql == true) { $result_sql = 1;} else { $result_sql = 0;}) einfügen.

    PS: Wie öffnest und schließt du deine Datenbankverbindung?

    MFG Micha
  • in: Bild upload

    geschrieben von michaelkoepke

    Hey,

    solch einen Fehler hatte ich vor kurzem auch. Gib deinen Profilbildordner per FTP Schreibrechte, dann sollte es gehen :)

    PS: Schreibe dein move_uploaded_file($_FILES['file']['tmp_name'], '/profileimages/' . $filename_new); in eine If-Abfrage, um auch sicher zu gehen, dass dein Bild ordnungsgemäß hochgeladen und gespeichert wurde, bevor du einen DB-Eintrag schreibst ;)

    MFG MIcha

Login zum Webhosting ohne Werbung!