Linkausgabe mittels php - ich flipp noch aus

otto

Die 5k-Labertasche
Lizenzinhaber
Registriert
11. Dez. 2010
Beiträge
5.122
Punkte
448
XF Version
  1. 2.2.15
XF Instanz
Hosting
PHP-Version
8.2.x
MySQL/MariaDB
10.3.x
Provider/Hoster
Strato/Hetzner
Worum gehts:

Ein seit vielen Monden bestehendes Script zieht mir aus einer Datenbank:
  • Bannergrafik
  • Bannerlink
  • Bannertext
und gibt dann 3 von X solcher Banner zufällig aus und erneuert diese innerhalb Zeit Y.
upload_2021-3-30_11-36-12.png
Es läuft an sich wie am ersten Tag und wie es soll... nur sind die Banner nicht mehr anklickbar, was aber ehemals ging und ich weiß ehrlich gesagt nicht, seit wann das nicht mehr geht.

Code zum Auswahl der Banner:
PHP:
// Connect to the database
$connection = mysqli_connect('localhost', 'name', 'pass', 'datenbank');

// Select random rows from the database, limited to 3 banners/links
$query = "SELECT Banner,Link,Text FROM Banner ORDER BY RAND() LIMIT 3";

// Run the above defined query in selected database
$result = mysqli_query($connection, $query);


// For all the rows that we selected
while ($row = mysqli_fetch_array($result))
{
$adlink = $row['Link'];
// Display them to the screen...
echo "<a style=\"text-decoration: none; width: 340px; height: 60px;\" target=\"_blank\" rel=\"nofollow\" href='". $adlink . "'>
<span title=\"Werbepartner: ". $row['Text'] ."
Link: ". $adlink ."\"><img src=./BnrMgr19/images/". $row['Banner'] ." border=0 alt=\"". $row['Text'] ."\"></span>
</a>" ;
}
echo "</br></br>"
?>

Demo-Link: Hobby-Gartenteich

Die Banner sind da, rollieren auch wie seit Jahren aber man kann per einfachem Links-Klick nicht die Links hinter den Bannern aufrufen.
Was jedoch geht, ein Rechtsklick und "öffnen im neuen Tab/Fenster" was dann die hinter den Bannern hinterlegten Links korrekt öffnet.

Aber warum nicht direkt per Klick? Jemand ne Idee?

Und ja, es geht sicher schöner, es geht mir aber erstmal um die Links der Banner dass diese wieder klickbar sind. :)

Ein einfaches echo:
PHP:
echo "<a href'" . $adlink . "'>test</a>
Als Ausgabe führt zum gleichen Ergebnis, der Link ist nicht mehr klickbar.

Beispiel DB-Eintrag (Auszug)
Banner, Link, Text
upload_2021-3-30_11-44-37.png

Eventuell was in Sachen security police / .htaccess (Auszug)?
Code:
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
Header always set X-Content-Type-Options "nosniff"
Header append X-Frame-Options "SAMEORIGIN"
Header always edit Set-Cookie (.*) "$1; HttpOnly; Secure"
Header always unset "X-Powered-By"
Header set Referrer-Policy "origin-when-cross-origin"
Header set Expect-CT "max-age=0; report-uri=https://www.hobby-gartenteich.de/reportOnly"
ServerSignature Off
Header always edit Set-Cookie (.*) "$1; Secure"

Generell Links im Forum gehen problemlos per Klick zu öffnen so dass ich denke ich muss da ein Problem mit meinem Script haben.

Ich steh aufm Schlauch, vielleicht schiebt mich mal wer runter. :)
 
Hast du mal einen Blick in die Konsole geworfen? Scheint eine neue Security Richtlinie zu sein.
 
Aufklärung für andere:

Ich binde bisher mein Script per
Code:
Iframe
ein... und dem hab ich jetzt noch ein
Code:
allow-popups allow-popups-to-escape-sandbox
bei
Code:
sandbox="...
hinzugefügt, nun gehts.

Das muss dann wohl per Browserupdates irgendwann zwingend geworden sein, ohne dass ich das bemerkt hatte. Denn "früher" gings ohne den "popup" Zusatz.
 
Zurück
Oben