Vorstellung von Smartli.me: Kostenloser URL-Shortener mit vielen zusätzlichen Funktionen

Smartli.me

Neues Mitglied
Hallo :)

ich möchte euch gerne meine Website Smartli.me vorstellen. Smartli.me ist ein 100% kostenloser URL-Shortener mit zusätzlichen nützlichen Funktionen wie dem Erstellen von QR-Codes, digitalen Visitenkarten und Linkpages.

Unser Ziel ist es, eine aktive Community rund um Smartli aufzubauen. Aus diesem Grund bieten wir alle Funktionen vollkommen kostenlos und ohne versteckte Kosten an. Um das Projekt zu finanzieren, planen wir zukünftig eine Unterstützungsoption. Diese ist jedoch völlig freiwillig und bringt keine Vorteile bei der Nutzung unserer Funktionen. Unterstützer können auf Wunsch auf einer eigenen Seite verlinkt werden.

Darüber hinaus arbeite ich derzeit an einer Web-API und einem SDK für verschiedene Programmiersprachen. Damit soll es möglich sein, direkt aus anderen Anwendungen auf die erstellten URLs zuzugreifen und diese zu verwalten.

Falls ihr Interesse habt, das Projekt näher kennenzulernen, besucht uns unter: https://smartli.me
Unser Discord-Server ist hier zu finden: https://smartli.me/i/smartli-discord

Vielen Dank und beste Grüße!
 
Ich habe nie Shortener genutzt und werde ich wohl auch nicht, dafür reichen QR und normale redirects.

Ich finds spannend, dass eure Beispiellinks aus dem Entwicklungsprozess noch drin sind. Wenn man die durch-enummeriert, mit https://smartli.me/p/<ZAHL>, kann man fast schon den Entwicklungsprozess der Seite nachvollziehen.

Auf allen Redirects steht allgemein auch noch "Bootstrap Demo" als Titel, das muss wohl noch geändert werden. Wäre auch noch schön, wenn der Redirect anzeigen würde, wohin der Link umleiten wird, damit man direkt sieht, ob das eine Phishing-Seite ist, die man schon kennt, oder eine neue.

Ist zwar nicht interessant für mich als Endbenutzer, aber finds cool und interessant als Entwickler. Ich wünsche euch viel viel Erfolg damit
 
Zuletzt bearbeitet:
Ich finds spannend, dass eure Beispiellinks aus dem Entwicklungsprozess noch drin sind. Wenn man die durch-enummeriert, mit https://smartli.me/p/<ZAHL>, kann man fast schon den Entwicklungsprozess der Seite nachvollziehen.

An der Stelle würde ich direkt auch mal dazu raten, keine einfachen IDs (Zahlen) zur Identifizierung eines Links zu verwenden, sondern eher einen kurzen alphanumerischen Token, damit man nicht die Links von anderen Leuten durchgehen kann.
 
An der Stelle würde ich direkt auch mal dazu raten, keine einfachen IDs (Zahlen) zur Identifizierung eines Links zu verwenden, sondern eher einen kurzen alphanumerischen Token, damit man nicht die Links von anderen Leuten durchgehen kann.
Ich denke, sie nutzen schon base64, aber ohne feste Länge. Ich habe jetzt nicht geschaut, ob alle neuen Links auch alphanumerisch fortlaufend sind oder ob das nur die Testlinks betraf, aber ja, kann schon nicht schaden die Nummern nicht fortlaufend zu machen.

Shortener sind zwar nicht wirklich zur Anonymisierung gedacht, aber die User könnten das nicht wissen.
 
Hallo und vielen dank für das Feedback. Tatsächlich nutzen wir base32 für die URL's. Das mit den Redirect anzeigen ist eine super Idee, werden wir so umsetzen. Auch das mit "Bootstrap Demo" wird noch geändert, ist mir leider noch gar nicht aufgefallen.
 
Ah ok, dann nehme ich meinen Kommentar zumindest so halb zurück.
Ich habe lediglich die 1 probiert und da bei base32 bei einem bestimmten Standard offenbar die Ziffern 0-9 bestehen bleiben, bin ich fälschlicherweise davon ausgegangen, dass ihr pure numerische auto-incrementing IDs nutzt.

Muss aber sagen, dass ich base32 persönlich trotzdem eine etwas unschöne Wahl finde.
Eine Enumeration ist ja so trotzdem gut machbar und optisch finde ich es auch komisch, dass es anfangs Ziffern sind und anschließend dann mit Link 10 bspw. ein A ist.

Im Grunde ist es nicht dramatisch und für die meisten User wahrscheinlich auch egal, aber von einem URL-Shortener würde ich persönlich eher einen kurzen min. dreistelligen zufälligen alphanumerischen Hash/Token erwarten, der zumindest systemweit einen Zufallsfaktor hat, den ein Außenstehender nicht kennt.

Nur so aus Interesse: Darf man fragen, welche Technologien unter der Haube beim URL Shortener eingesetzt wurden? :)
 
Noch ein bisschen Feedback:


Es könnte nicht schaden, die Fehlerausgabe allgemein zu deaktivieren und auch andere Seiten nicht enummerierbar zu machen:
https://smartli.me/vcard/?card=1
Code:
Warning
: Trying to access array offset on false in
C:\inetpub\vhosts\smartli.me\httpdocs\vcard\index.php
on line
16
...


Und bevor Abfragen an die DB gesendet werden, sollten sie bereinigt und validiert werden:
Code:
Fatal error: Uncaught mysqli_sql_exception: Unknown column 'a' in 'where clause' in C:\inetpub\vhosts\smartli.me\httpdocs\inc\core.php:2652 Stack trace: #0 C:\inetpub\vhosts\smartli.me\httpdocs\inc\core.php(2652): mysqli->query() #1 C:\inetpub\vhosts\smartli.me\httpdocs\vcard\index.php(14): get_vcard() #2 {main} thrown in C:\inetpub\vhosts\smartli.me\httpdocs\inc\core.php on line 2652
...
Fatal error: Uncaught mysqli_sql_exception: Incorrect integer value: '' for column `smartlidb`.`smartli_linktree_views`.`linktree` at row 1 in C:\inetpub\vhosts\smartli.me\httpdocs\inc\core.php:1298 Stack trace: #0 C:\inetpub\vhosts\smartli.me\httpdocs\inc\core.php(1298): mysqli->query() #1 C:\inetpub\vhosts\smartli.me\httpdocs\linktree\tree.php(27): add_linktree_view() #2 {main} thrown in C:\inetpub\vhosts\smartli.me\httpdocs\inc\core.php on line 1298

Wenn ihr noch Test-Endpunkte habt, die mit anderem Code laufen als die Hauptseite, dann am besten schützen oder deaktivieren. Das betrifft vielleicht https://smartli.me/smartli/xyz
 
Momentan würde jedem abraten, diesen Service irgendwelche auch nur im geringsten sensible oder wichtige Daten anzuvertrauen.

Gibt man z.B. bei der Registrierung ' an manchen Stellen an, fliegt eine Exception. Zusammen mit den Dingen, die mat gepostet hat,
ist das ist ein blinked leuchtendes Warnschild, dass diese Anwendung extrem anfällig für SQL-Injections ist und grundlegende Sicherheitsmechanismen missachtet. Aus den Informationen, die man über die Fehlermeldungen rausbekommt, sieht das nach einem Kiddy-Hobby Bastel Projekt aus.

Klingt hart, aber das sind nun wirklich Anfängerfehler.
 
Ja, ich hoffe mal, dass @Smartli.me hier noch mitliest und die Sicherheitsprobleme zeitnah adressiert.
Es wäre sinnvoll, die Website temporär offline zu nehmen und an allen genannten Stellen nachzubessern und moderne Sicherheitskonzepte umzusetzen.

Aufgrund des Auftretens und der Tatsache, dass unter dem Namen Smartli noch weitere komplizierte Projekte wie ein Backup Tool usw. existieren, hoffe ich einfach mal, dass der Eindruck vom URL Shortener eine Ausnahme ist und bspw. einfach nur wenig Erfahrung mit PHP besteht.
Ich hoffe nicht, dass das Backup Tool und weitere Projekte ähnliche Kinderkrankheiten haben.

Aber gut ist ja schon mal, wenn man sich externes Feedback einholt und sowas relativ frühzeitig auffällt und nicht erst, wenn sich die ersten User beschweren und über komische Vorkommnisse stolpern.


Vielleicht so grundsätzlich für moderne PHP-Projekte:
Insbesondere wenn man sich was Größeres aufbauen möchte, mit einigen unterschiedlichen Funktionen, Produkten, User-Authentifizierung, etc. würde ich relativ schnell dazu raten, tatsächlich auf ein Framework zu setzen und nicht alles selbst zu machen. Da kann man dann von Anfang an schon deutlich weniger falsch machen.

Ansonsten, wenn man gerne doch vieles selbst macht, sollte man sich natürlich den Thematiken SQL-Injections, XSS, CSRF, usw. bewusst sein und dann würde ich z.B. statt MySQLi eher auf PDO setzen, wenn es um die Datenbankinteraktion geht oder gar einzelne bekannte standalone Composer-Packages, bspw. von Symfony, etc. nutzen, damit man nicht das Rad komplett neu erfindet. Dann empfiehlt es sich direkt auch, sich konsequent an eine objektorientierte Programmierung zu halten und trotzdem hat man noch die Freiheiten, nicht auf die Praktiken eines bestimmten Frameworks beschränkt zu sein.
 
Zurück
Oben Unten