PHP Juggling混乱

时间:2014-05-07 19:55:18

标签: javascript php html

我试图制作一个页面,当他们离开我的网站时会警告他们,我似乎无法正确识别标点符号。这是代码:

<?php
$link = (string) $_GET['link'];

echo 'Are you sure you want to leave this site?<br />';
echo 'Destination: <strong>'.$link.'</strong><br />';

echo '<table border="0" cellspacing="15" width="100%">';
echo '<tr>';
echo '<td bgcolor="grey" onclick="location.href='".$link."'">';
echo '<font color="white" size="5">Movies</font>';
echo '</td>';
echo '</tr>';
echo '</table>';
?>

此代码已经证明适用于像这样的常规链接

echo '<a href="'.$link.'">Proceed</a>';

作为参考,我的错误消息说明了这一点:

Parse error: syntax error, unexpected '"', expecting ',' or ';' in X:\path\to\file\index.php on line 9

此外,如果您需要知道,我使用这样的链接指示我的退出页面:

<a href="/link/to/exit/page/?link=http://www.example.com">
然而,我似乎无法让标点符号在我的桌子上工作。有谁知道我如何格式化,以便它可以在我的表中工作?

3 个答案:

答案 0 :(得分:1)

正如您在颜色编码中看到的那样,它并不完全正确。

echo '<td bgcolor="grey" onclick="location.href=\''.$link.'\';">';

应该这样做 - 注意这里的颜色编码?

顺便说一句,不允许任意输入被转储。我能做到:

/link/to/exit/page?link=<script type="text/javascript">alert('lol I just haxed you');</script>

答案 1 :(得分:0)

echo '<td bgcolor="grey" onclick="location.href='".$link."'">';

应该是

echo '<td bgcolor="grey" onclick="location.href='.$link.'">';

不需要另一组引号。

答案 2 :(得分:-1)

echo '<td bgcolor="grey" onclick="location.href='".$link."'">';

应该是

echo '<td bgcolor="grey" onclick="location.href=\''.$link.'\'">';