Php 将电子邮件转换为图像?
我想知道如何将我的网站用户的电子邮件转换为图像 我有一个广告网站,我想用这个工具来保护用户的电子邮件。我看到很多网站都提供这项任务,但我想在网站上为每个用户显示的电子邮件做这项工作 有什么线索吗 我正在使用PHP来实现这一点:Php 将电子邮件转换为图像?,php,Php,我想知道如何将我的网站用户的电子邮件转换为图像 我有一个广告网站,我想用这个工具来保护用户的电子邮件。我看到很多网站都提供这项任务,但我想在网站上为每个用户显示的电子邮件做这项工作 有什么线索吗 我正在使用PHP来实现这一点: if (isset($_GET['text'])) { // get string $text = $_GET['text']; } else { // set default $text = 'liame'; }; // reverse
if (isset($_GET['text'])) {
// get string
$text = $_GET['text'];
} else {
// set default
$text = 'liame';
};
// reverse string
$text = strrev($text);
$textLength = strlen($text);
$textHeight = 10;
// create image handle
$image = ImageCreate($textLength*($textHeight-1),20);
// set colours
$backgroundColour = ImageColorAllocate($image,255,255,255); // white
$textColour = ImageColorAllocate($image,0,0,0); // black
// set text
ImageString($image,$textHeight,0,0,$text,$textColour);
// set correct header
header('Content-type: image/png');
// create image
ImagePNG($image);
然后
$email = $row['email'];
<img src="image.php?text=<?php echo $email; ?>" alt="Hidden Email" />
$email=$row['email'];
“alt=”隐藏电子邮件“/>
但它不工作,图像显示为断开。这里有一个“直接从DB”解决方案:
旁注:我选择使用两列和WHERE
子句,但您可以更改它
按照你想要的方式做,好吧……你问题下面的评论不言而喻
您可以在希望显示它的页面中的iframe
中设置它(此代码)
旁注:它不能是“包含”,因为这样会用图像标题覆盖页面内容
是的,我知道,我也知道,it违背了这个目的,但是你也可以从
img src
显示它,并链接到href
或mailto:
显示反向电子邮件地址的图像有多大用处?如果我看到了,我会立即关闭你的网站。另外,我运行了这个代码ough(因为大多数在线eval.in类型测试仪不支持GD),它工作正常(输出“电子邮件”)。其他地方出现问题…?尝试删除header()
调用,看看PHP是否生成任何错误。有趣的事实:image.PHP?text=niet@example.com
并非“更安全”“对于您的用户,请参阅niet@example.com
是。这应该是内联的,如果有的话。我认为使用这种方法并不是对付垃圾邮件的有效解决方案,因为通过解析源代码,机器人仍然能够找到有效的电子邮件地址。我认为应该用数据库后缀或类似的东西来替换Email Get参数。
<a href="http://www.example.com"><img src="image_generator_file.php"></a>
<img src="image_generator_file.php" border="0">
<?php
include 'connection.php'; // Make sure connection is mysqli_ and not mysql_
$query = mysqli_query($conn,"SELECT id, email FROM your_table WHERE id = 1");
while($row = mysqli_fetch_assoc($query)){
$email = $row['email'];
}
$text = $email;
// reverse string
//$text = strrev($text);
$textLength = strlen($text);
$textHeight = 10;
// create image handle
$image = ImageCreate($textLength*($textHeight-1),20);
// set colours
$backgroundColour = ImageColorAllocate($image,255,255,255); // white
$textColour = ImageColorAllocate($image,0,0,0); // black
// set text
ImageString($image,$textHeight,0,0,$text,$textColour);
// set correct header
header('Content-type: image/png');
// create image
ImagePNG($image);
<img src="image_generator_file.php" class="pad">
.pad {
padding-top:3px;
padding-bottom:2px;
padding-left:5px;
padding-right:5px;
background:#ffffff;
}