. .
pragmaMx Support Forum 21 Mai 2013, 15:21:54 *
Willkommen Gast. Bitte einloggen oder registrieren.


Einloggen mit Benutzername und Passwort
News:
Brauchen Sie Hilfe? Bitte nutzen Sie unsere Suchfunktion bevor Sie Beiträge oder Fragen ins Board schreiben! Viele Fragen wurden bereits gestellt und beantwortet. Danke!
 
Übersicht Hilfe Forenregeln / Boardrules
 
Suche
Seiten: [1]   Nach unten
Drucken
Autor Thema: print seite nur von eigener Domain  (Gelesen 9525 mal)
0 Mitglieder und 1 Gast betrachten dieses Thema.
kekule
weiss was
***
Offline Offline

Geschlecht: Männlich
Beiträge: 198

kekule


WWW
« am: 20 Dezember 2008, 10:43:01 »

Hallo Leute

Ich bemerke das von anderen Webseiten immer auf die Print-Seite meiner news verwiesen wird.
Es ist zwar der Seitenname und Linz zusehen, jedoch würde ich mir mehr freuen wenn doch auf die normalen news gelinkt werden würde.

Hat jemadn von euch eine Idee, wei man das machen kann, das wenn ein User auf eine print-Seite zugreift, er nur dann auf die Printseite kommt, wenn die refferendierende Seite vom eigenen Domain kommt. Wenn er von einer fremden Seite kommt soll er nicht auf die printseite kommen.

Hat jemand von euch eine idee, dazu?

Freue mich auf eure Antworten.

lG
Markus
Gespeichert
kekule
weiss was
***
Offline Offline

Geschlecht: Männlich
Beiträge: 198

kekule


WWW
« Antworten #1 am: 07 Januar 2009, 18:25:24 »

Hallo Leute

Hab nun einen kleinen workaround für mich gemacht.
bin mir nicht sicher ob er sauber ist, aber er klappt.

Sofern wer interesse hat einfach melden.

lg

Markus
Gespeichert
Eismann1976
Unerreicht
******
Offline Offline

Geschlecht: Männlich
Beiträge: 819

Eismann1976


WWW
« Antworten #2 am: 07 Januar 2009, 19:26:30 »

Mal den Finger heb. Mich nervt das nämlich auch.
Gespeichert

LG Eismann

Kein Support per PN/ICQ/MSN ect.
Bitte schreibt eure Frage ins Forum, so haben Alle was von der Antwort.
Viele Antworten findest du auch im DOKUWIKI


http://www.wtj-clan.de | pragmaMx 0.1.11.2 &  1.12 RC2 | PHP: 5.2.9 | mysql: 5.1.33 | apache: 2.2.11 (Win32) & Microsoft-IIS/7.5
kekule
weiss was
***
Offline Offline

Geschlecht: Männlich
Beiträge: 198

kekule


WWW
« Antworten #3 am: 07 Januar 2009, 20:09:34 »

Hallo Eismann

Das ganze ist keine umleitung sondern, wenn man auf die Seite von einem anderem Domain kommt als dem eigenen wird der inhalt des Artikels entfernt. und nur der Link zum Artikel ist sichtbar.

zu sehen zb. unter http://www.austria-aqua.net/News-file-print-sid-106.html

naja, wie funktionierts. im Ordner modules/News/ gibt es eine print.php. in der habe ich folgendes eingefügt zur Abfrage woher der User kommt.

Code: [Select]  
$referrer = $_SERVER['HTTP_REFERER'];
if (strpos($referrer, 'domain.comt')) {
$this = 'good';

danach frage ich die Variable $this wiedr ab und wenn diese "Gut" ist passt alles wenn nicht wird der Inhalt entfernt.

die komplette print sieht so bei mir aus.
Code: [Select]  
<?php
/**
 * This file is part of 
 * pragmaMx - Web Content Management System.
 * Copyright by pragmaMx Developer Team - http://www.pragmamx.org
 *
 * pragmaMx is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * $Revision: 1.14 $
 * $Author: tora60 $
 * $Date: 2007/12/22 14:04:58 $
 *
 * this file based on:
 * php-nuke Web Portal System - http://phpnuke.org/
 * Thatware - http://thatware.org/
 */

defined('mxMainFileLoaded') or die('access denied');

if (!isset(
$_REQUEST['sid'])) {
    include(
dirname(__FILE__) . '/index.php');
    exit();
}

$module_name basename(dirname(__FILE__));
mxGetLangfile($module_name);
include_once(
PMX_SYSTEM_DIR "/mxNewsFunctions.php");

$sid intval($_REQUEST['sid']);
$result sql_query("select title, time, hometext, bodytext, topic, notes from ${prefix}_stories where sid=" $sid "");
list(
$title$time$hometext$bodytext$topic$notes) = sql_fetch_row($result);
$result2 sql_query("select topictext from " $prefix "_topics where topicid=" intval($topic) . "");
list(
$topictext) = sql_fetch_row($result2);
$time formatTimestamp($time);
/**
 * sicherstellen, dass der Seitentitel keine Tags enth‰lt und Sonderzeichen nicht zerst¸ckelt werden
 */
$title strip_tags(str_replace('&nbsp;'' '$title));



echo 
"
<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"
        \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
<html><head>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=" 
_CHARSET "\" />
<meta http-equiv=\"content-language\" content=\"" 
_DOC_LANGUAGE "\" />
<title>" 
$title "</title>
</head>
<body bgcolor=\"#FFFFFF\" text=\"#000000\" link=\"#000080\" vlink=\"#000080\" alink=\"#000080\">
<center>
<table border=\"0\" width=\"640\" cellpadding=\"0\" cellspacing=\"1\" bgcolor=\"#000000\"><tr><td>
<table border=\"0\" width=\"640\" cellpadding=\"20\" cellspacing=\"1\" bgcolor=\"#FFFFFF\"><tr><td>
<center>"
;

$referrer $_SERVER['HTTP_REFERER'];
if (
strpos($referrer'example.net')) {
$this 'good';


if (
$this == 'good' )
{
if (
file_exists("images/" $site_logo ""))
    echo 
"<img src=\"images/" $site_logo "\" border=\"0\" alt=\"" $sitename "\" /><br /><br />";
echo 
"
<div class=\"content\"><b>" 
$title "</b></div><br />
<div class=tiny><b>" 
_PDATE "</b> $time<br /><b>" _PTOPIC "</b> $topictext</div><br />
</center>
<div class=\"content\">
$hometext<br /><br />
$bodytext<br /><br />
$notes<br /><br />
</div>
</td></tr></table></td></tr></table>
<br /><br />"
; }


echo 
"<div class=\"content\"><b>" $title "</b></div><br />
<div class=\"content\">
_COMESFROM " <br />
<a href=\"" 
MX_BASE_URL "\">" $sitename "</a><br /><br />
_THEURL "<br />
<a href=\"" 
MX_BASE_URL "modules.php?name=News&amp;file=article&amp;sid=$sid\">" MX_BASE_URL "modules.php?name=News&amp;file=article&amp;sid=$sid</a>
</div>
</center>
</body>
</html>
"
;

?>

example.net muss durch deinen Domainersetzt werden damits klappt.

wie gesagt ist ein workaround, würde mich freuen wenn es jemand verbessert.
da ja der referrer ja nicht unbedingt unfälschbar sein soll.

lg

markus
Gespeichert
Andi
Administrator
******
Offline Offline

Geschlecht: Männlich
Beiträge: 18.602

Andi


WWW
« Antworten #4 am: 08 Januar 2009, 13:51:50 »

Moin Smiley

feine Sache, wobei ich einen evtl. etwas eleganteren Vorschlag habe....


Anstatt die Seite unvollständig, bzw. überhaupt anzuzeigen, könnte man doch einfach auf die normale Seite umleiten.

Dazu einfach in der print.php folgendes Konstrukt, direkt hinter die Zeile
$module_name = basename(dirname(__FILE__)); einfügen:

Code: [Select]  
if (!MX_IS_ADMIN && (empty($_SERVER['HTTP_REFERER']) || strpos($_SERVER['HTTP_REFERER'], PMX_HOME_URL) === false)) {
    $target = PMX_HOME_URL . '/modules.php?name=' . $module_name . '&file=article&sid=' . intval($_REQUEST['sid']);
    @header('HTTP/1.1 301 Moved Permanently');
    @header('Status: 301 Moved Permanently');
    @header('Location: ' . $target);
}

Wenn jetzt der Referer leer ist, oder nicht von der eigenen Seite kommt, wird per HTTP-Header Umleitung, die normale Artikelseite aufgerufen. Dem Browser (also auch google) wird mitgeteilt, dass diese Umleitung von Dauer sein soll.
Als Admin kann man die Seite dennoch ganz normal aufrufen.

Wenn man jetzt noch weiter unter, folgendes bei den Metatags einfügt, dann wird google, diese Seiten mit der Zeit aus dem Index entfernen und nicht wieder aufnehmen.

Code: [Select]  
<meta name=\"robots\" content=\"NOINDEX, NOFOLLOW\" />


Wenn sich das bewährt, übernehmen wir das ins System Wink


@ kekule

Vorsicht, die Variable $this ist seit PHP5 eine Systemvariable des PHP-Klassensystems. Die "falsche" Verwendung, kann zu unvorhergesehenen Fehlern führen. Also besser nen anderen Namen verwenden...
Gespeichert

schön´s Grüssle, Andi
Kein Support über PN, Mail oder ICQ!
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!
kekule
weiss was
***
Offline Offline

Geschlecht: Männlich
Beiträge: 198

kekule


WWW
« Antworten #5 am: 08 Januar 2009, 20:02:20 »

Hallo Andi

Danke dir, das ganze klappt jetz auch bei mir, hab mich jetz ne weile spielen müssen das es gepasst hat, keine Ahnung was da nicht gepasst hat, Hatte ständig irgendwelche Parse Errors  mad2

Aber jetz passt es Smiley
Ich bin dafür das es in das System kommt  thumbup  biggrin

lG
Markus
Gespeichert
Eismann1976
Unerreicht
******
Offline Offline

Geschlecht: Männlich
Beiträge: 819

Eismann1976


WWW
« Antworten #6 am: 08 Januar 2009, 20:13:06 »

Ich glaub da hab ich gerade was geschrottet. Muss mal eben nen Backup rauskramen.   puzzled

Edit: Ich kann die Seite trotzdem als Gast direkt aufrufen.    gruebel

Doppeledit: Lag am Cache für Gäste. Beim ersten Aufruf funktioniert Alles wie es soll. Ruft man die Seite einmal über den korrekten Weg (Artikelansicht -> Druckversion anzeigen) auf geht sie hinterher auch im Direktaufruf.   thumbup
« Letzte Änderung: 08 Januar 2009, 20:31:13 von Eismann1976 » Gespeichert

LG Eismann

Kein Support per PN/ICQ/MSN ect.
Bitte schreibt eure Frage ins Forum, so haben Alle was von der Antwort.
Viele Antworten findest du auch im DOKUWIKI


http://www.wtj-clan.de | pragmaMx 0.1.11.2 &  1.12 RC2 | PHP: 5.2.9 | mysql: 5.1.33 | apache: 2.2.11 (Win32) & Microsoft-IIS/7.5
kekule
weiss was
***
Offline Offline

Geschlecht: Männlich
Beiträge: 198

kekule


WWW
« Antworten #7 am: 08 Januar 2009, 20:28:52 »

Hallo Eismann

Welche Seite meinst du ?

und welche Änderung hast du eingebaut, die von mir oder die von Andi?

lg
Markus
Gespeichert
Eismann1976
Unerreicht
******
Offline Offline

Geschlecht: Männlich
Beiträge: 819

Eismann1976


WWW
« Antworten #8 am: 08 Januar 2009, 20:29:49 »

Huhu

Jetzt Andis. Hatte vorher keine Zeit.

Deine Lösung wäre auch ok gewesen aber die zweite Version von Andi fand ich noch ein wenig besser.

Gruß Eismann

PS: Siehe EDIT oben
Gespeichert

LG Eismann

Kein Support per PN/ICQ/MSN ect.
Bitte schreibt eure Frage ins Forum, so haben Alle was von der Antwort.
Viele Antworten findest du auch im DOKUWIKI


http://www.wtj-clan.de | pragmaMx 0.1.11.2 &  1.12 RC2 | PHP: 5.2.9 | mysql: 5.1.33 | apache: 2.2.11 (Win32) & Microsoft-IIS/7.5
kekule
weiss was
***
Offline Offline

Geschlecht: Männlich
Beiträge: 198

kekule


WWW
« Antworten #9 am: 10 Januar 2009, 13:41:02 »

@ Andi

Hallo Andi

ich weiss zwar nicht wohin die Entwicklung geht, jedoch würde ich vorschlagen die
Code: [Select]  
<meta name=\"robots\" content=\"NOINDEX, NOFOLLOW\" />
bei den Print seiten generell einzu bauen, im Content modul in der index.php in der function PrintContPage()

dort habe ich auch gleich nach der { folgendes eingefügt und es klappt schön.
Code: [Select]  
if (!MX_IS_ADMIN && empty($_SERVER['HTTP_REFERER']) || (strpos($_SERVER['HTTP_REFERER'], PMX_HOME_URL) === false))
{
$target = PMX_HOME_URL . '/modules.php?name=Content&pid=' . intval($_REQUEST['pid']);
header('HTTP/1.1 301 Moved Permanently');
header('Status: 301 Moved Permanently');
header('Location: '.$target);
exit;
}

wäre das sicher auch nett.

lG

Markus
« Letzte Änderung: 10 Januar 2009, 13:48:53 von kekule » Gespeichert
Andi
Administrator
******
Offline Offline

Geschlecht: Männlich
Beiträge: 18.602

Andi


WWW
« Antworten #10 am: 10 Januar 2009, 14:04:40 »

Moin Smiley


ist schon drin Wink


Und hier noch ein entsprechender Beitrag zum Kalender:
http://www.pragmamx.org/Forum-topic-28373-topicseen.html
« Letzte Änderung: 20 Januar 2009, 10:46:22 von Andi » Gespeichert

schön´s Grüssle, Andi
Kein Support über PN, Mail oder ICQ!
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!
Seiten: [1]   Nach oben
Drucken
 
Gehe zu:  

Powered by SMF 1.1.18 | SMF © 2011, Simple Machines
design by hENNE, layout based on YAML