用PHP写了个 标签 按点击率的 字体大小和颜色的 显示效果

 更新时间:2016年11月25日 16:08  点击:2307

按标签的点击率来设置标签字体的大小和 颜色

本程序没有考虑程序性能和函数封装。。。只想表达这个算法

具体代码如下:

 



<?php
    
function showTag($cur=47,$tag="美女和野兽"){
        
$maxSize=300;$minSize=30;//maxSize为标签字体最大大小,minSize为标签最小大小 按百分比
        $max=100;$min=8;//max为最多标签点击数 min为最少点击数 cur为当前标签当前点击数
        $tagColor=$tagSize=$minSize;#tagColor为标签最终颜色,tagsize为标签最终字体大小
        $tagSize=@(float)($cur-$min)/($max-$min)*($maxSize-$minSize);
    
        
$colors=array("0.2"=>"#333333","0.4"=>"#0033CC","0.6"=>"#660099","0.8"=>"#00FFFF","1"=>"#FF0000");
        
//color为存放颜色的数组,按百分百存放,例如在0-0.2之间的color1
        $colorkeys=array_keys($colors);
        
        
$select=(float)($cur-$min)/($max-$min);
        
$len=count($colorkeys);
        
$i=0;$j=$len-1;
        
while($i<$j){//二分查找
            $index=($i+$j)/2;
            
if($select>=(float)$colorkeys[$index&& $select<(float)$colorkeys[$index+1]) break;
            
elseif($select<(float)$colorkeys[$index]) $j--;
            
elseif($select>(float)$colorkeys[$index]) $i++;
            
elseif($select==(float)$colorkeys[$index+1]) break;
            
else break;
        }
        
$tagColor=$colors[$colorkeys{($i+$j)/2}];
        
echo "<span style=''font-size:${tagSize}%;color:$tagColor''>$tag </span>";
    }
    showTag(
90);showTag(66,"股民");showTag(50,"我的爱情");showTag(100,"MM");
?>





目前,不少网站为了防止用户利用机器人自动注册、登录、灌水,都采用了
验证码技术。所谓验证码,就是将一串随机产生的数字或符号,生成一幅图片,
图片里加上一些干扰象素(防止OCR),由用户肉眼识别其中的验证码信息,输
入表单提交网站验证,验证成功后才能使用某项功能。

英语学习网我们这里展示了如何编写PHP程序实现验证码功能:

代码一:
CODE:
<?php
   /*
    *   Filename:    authpage.php
    *   Author:   hutuworm
    *   Date:   2003-04-28
    *   @Copyleft    hutuworm.org
    */

    srand((double)microtime()*1000000);

   //验证用户输入是否和验证码一致
        if(isset($HTTP_POST_VARS[''authinput''])) 
        {
                if(strcmp($HTTP_POST_VARS[''authnum''],$HTTP_POST_VARS[''authinput''])==0)
                        echo "验证成功!";
                else
                        echo "验证失败!";
        }
   
   //生成新的四位整数验证码
        while(($authnum=rand()%10000)<1000); 
    ?>
        <form action=authpage.php method=post>
        <table>
                请输入验证码:<input type=text name=authinput style="width: 80px"><br><input type=submit name="验证" value="提交验证码">
                <input type=hidden name=authnum value=<? echo $authnum; ?
<


在PHP5中类(CLASS)的新特征

/******************************/
author:大龄青年
E_mail:wenadmin@sina.com
/*****************************/

php5新添加了好多的新函数和特征,但是在目前最新的chm的手册中都没有体现,要到在线的手册中查找,烦啊!!!

 

废话不多说了,来看看php5中全新的class对比php2的class有什么新的特征。

 

1/ 加了访问权限的控制:使用private/public/protected的特征

 

2/ 加入了接口和抽象类的概念,interface/abstract,可惜的是类的继承还是树形的单继承。

 

3/ 可以定义final 函数,不能在父类中覆盖这个函数

 

4/ 终于可以在类中定义 静态的变量,在php中只能在函数中定义,

  

static $aa = nulll;

    另外还提供了 const 方法

         const mystatic = ''aaaaaa'';

 

5/ 新提供了一个self内部方法

       echo self::mystatic;

 

6/ 加入了如下的内部特征

__construct()   初始化

__destruct();   卸载

__get();          组织返回类中的某些变量值。

__set();          组织给类中的某些变量值赋值。

__call();         调用不存在的类的函数的时候得处理方法

__clone();        copy对象用

__sleep();        序列化的时候用

__weekup();      反序列的时候用

 

7/ 默认的object的赋值采用了应用的方式,如:

$object2 = $object1

   $object2 得到的是$object1的引用,不是在内存中copy副本

 

8/ 提供了 reflection API ,主要用来显示class/function 本省的结构和统计信息,这个是一个全新的东西,很难说清楚,(虽然很强大,但是我个人还是没有找到“这位英雄可以用武的地方”)

 

9/ 对class对象提供了一个枚举的功能,可以用for循环来处理对象中的全局的变量。

 

10/ 提供了一个__autoload();函数,用来自动的加载类声明文件

 

详细情况:http://www.php.net/manual/en/language.oop5.basic.php

 

 在本系列文章中,我们将全面探讨如何在PHP开发环境中全面阻止SQL注入式攻击,并给出一个具体的开发示例。

  一、 引言

  PHP是一种力量强大但相当容易学习的服务器端脚本语言,即使是经验不多的程序员也能够使用它来创建复杂的动态的web站点。然而,它在实现因特网服务的秘密和安全方面却常常存在许多困难。在本系列文章中,我们将向读者介绍进行web开发所必需的安全背景以及PHP特定的知识和代码-你可以借以保护你自己的web应用程序的安全性和一致性。首先,我们简单地回顾一下服务器安全问题-展示你如何存取一个共享宿主环境下的私人信息,使开发者脱离开生产服务器,维持最新的软件,提供加密的频道,并且控制对你的系统的存取。

  然后,我们讨论PHP脚本实现中的普遍存在的脆弱性。我们将解释如何保护你的脚本免于SQL注入,防止跨站点脚本化和远程执行,并且阻止对临时文件及会话的"劫持"。

  在最后一篇中,我们将实现一个安全的Web应用程序。你将学习如何验证用户身份,授权并跟踪应用程序使用,避免数据损失,安全地执行高风险性的系统命令,并能够安全地使用web服务。无论你是否有足够的PHP安全开发经验,本系列文章都会提供丰富的信息来帮助你构建更为安全的在线应用程序。

  二、 什么是SQL注入

  如果你打算永远不使用某些数据的话,那么把它们存储于一个数据库是毫无意义的;因为数据库的设计目的是为了方便地存取和操作数据库中的数据。但是,如果只是简单地这样做则有可能会导致潜在的灾难。这种情况并不主要是因为你自己可能偶然删除数据库中的一切;而是因为,当你试图完成某项"无辜"的任务时,你有可能被某些人所"劫持"-使用他自己的破坏性数据来取代你自己的数据。我们称这种取代为"注入"。

  其实,每当你要求用户输入构造一个数据库查询,你是在允许该用户参与构建一个存取数据库服务器的命令。一位友好的用户可能对实现这样的操作感觉很满意;然而,一位恶意的用户将会试图发现一种方法来扭曲该命令,从而导致该被的扭曲命令删除数据,甚至做出更为危险的事情。作为一个程序员,你的任务是寻找一种方法来避免这样的恶意攻击。

  三、 SQL注入工作原理

  构造一个数据库查询是一个非常直接的过程。典型地,它会遵循如下思路来实现。仅为说明问题,我们将假定你有一个葡萄酒数据库表格"wines",其中有一个字段为"variety"(即葡萄酒类型):

  1. 提供一个表单-允许用户提交某些要搜索的内容。让我们假定用户选择搜索类型为"lagrein"的葡萄酒。

  2. 检索该用户的搜索术语,并且保存它-通过把它赋给一个如下所示的变量来实现:

  $variety = $_POST[''variety''];

  因此,变量$variety的值现在为:

  lagrein

  3. 然后,使用该变量在WHERE子句中构造一个数据库查询:

  $query = "SELECT * FROM wines WHERE variety=''$variety''";

  所以,变量$query的值现在如下所示:

  SELECT * FROM wines WHERE variety=''lagrein''

  4. 把该查询提交给MySQL服务器。

  5. MySQL返回wines表格中的所有记录-其中,字段variety的值为"lagrein"。
  到目前为止,这应该是一个你所熟悉的而且是非常轻松的过程。遗憾的是,有时我们所熟悉并感到舒适的过程却容易导致我们产生自满情绪。现在,让我们再重新分析一下刚才构建的查询。

  1. 你创建的这个查询的固定部分以一个单引号结束,你将使用它来描述变量值的开始:

  $query = " SELECT * FROM wines WHERE variety = ''";

  2. 使用原有的固定不变的部分与包含用户提交的变量的值:

  $query .= $variety;

  3. 然后,你使用另一个单引号来连接此结果-描述该变量值的结束:

  $ query .= "''";

  于是,$query的值如下所示:

  SELECT * FROM wines WHERE variety = ''lagrein''
  这个构造的成功依赖用户的输入。在本文示例中,你正在使用单个单词(也可能是一组单词)来指明一种葡萄酒类型。因此,该查询的构建是无任何问题的,并且结果也会是你所期望的-一个葡萄酒类型为"lagrein"的葡萄酒列表。现在,让我们想象,既然你的用户不是输入一个简单的类型为"lagrein"的葡萄酒类型,而是输入了下列内容(注意包括其中的两个标点符号):

  lagrein'' or 1=1;

<

临时修改php.ini文件

ini_set("项目","值");

ini_set("output_buffering","0");
ob_start();
 



[!--infotagslink--]

相关文章

  • Jquery 获取指定标签的对象及属性的设置与移除

    1、先讲讲JQuery的概念,JQuery首先是由一个 America 的叫什么 John Resig的人创建的,后来又很多的JS高手也加入了这个团队。其实 JQuery是一个JavaScript的类库,这个类库集合了很多功能方法,利用类库你可以用简单的一些代...2014-05-31
  • C# 如何设置label(标签)控件的背景颜色为透明

    这篇文章主要介绍了C# 如何设置label(标签)控件的背景颜色为透明,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下...2020-12-08
  • matplotlib之pyplot模块坐标轴标签设置使用(xlabel()、ylabel())

    这篇文章主要介绍了matplotlib之pyplot模块坐标轴标签设置使用(xlabel()、ylabel()),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-23
  • 安卓利用按钮Button更改的字体大小、字体颜色、背景颜色代码

    本文章来介绍在android开发中,我们通过button按钮来动态改变字体大小、字体颜色、背景颜色代码,有需要了解的朋友可参考参考。 实现的逻辑:通过遍历View的方式,判断Vi...2016-09-20
  • JS创建Tag标签的方法详解

    这篇文章主要介绍了JS创建Tag标签的方法,结合具体实例形式分析了javascript动态操作页面HTML元素实现tag标签功能的步骤与相关操作技巧,需要的朋友可以参考下...2017-06-15
  • C#删除UL LI中指定标签里文字的方法

    这篇文章主要介绍了C#删除UL LI中指定标签里文字的方法,涉及C#针对页面HTML元素进行正则匹配与替换的相关操作技巧,需要的朋友可以参考下...2020-06-25
  • 帝国CMS用灵动标签调用实现各种幻灯(焦点图)效果

    用灵动标签(e:loop)可以实现各种幻灯效果,本节讲解制作幻灯的基本方法。 如本站JS焦点图频道里的大部分幻灯图片效果都可以用灵动标签调用的。 ...2015-12-30
  • js简单实现调整网页字体大小的方法

    这篇文章主要介绍了js简单实现调整网页字体大小的方法,通过javascript动态修改页面元素样式实现调整网页字体的功能,非常简单实用,需要的朋友可以参考下...2016-07-29
  • 帝国CMS灵动标签调用新闻正文内容第一张图片的方法

    有时候我们在建站的过程当中需要调用内容页中正文的第一张图片(并不是缩略图),这样就会无从下手,但其实对不懂开发的站长是太难了,往往是会用标题图片来取代,下面分享网友们贡献出...2015-12-30
  • 探讨JavaScript标签位置的存放与功能有无关系

    在网页中,我们可以将JavaScript代码放在html文件中任何位置,但一般放在head或body标签里面。一般来说,<script>元素放在哪里与其的功能作用是紧密相关的,通过本文我们一起学习下...2016-01-18
  • jquery实现标签支持图文排列带上下箭头按钮的选项卡

    带上下箭头jquery垂直tab选项卡切换标签,技持左侧列表上下滚动,滚动到底部带信息提示。复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml...2015-03-15
  • PHP正则表达式过滤html标签属性(DEMO)

    这篇文章主要介绍了PHP正则表达式过滤html标签属性的相关内容,实用性非常,感兴趣的朋友参考下吧...2016-05-06
  • C#使用正则表达式过滤html标签

    最近在开发一个项目,其中有需求要求我们把一段html转换为一般文本返回,使用正则表达式是明智的选择,下面小编给介绍下C#使用正则表达式过滤html标签,需要的朋友参考下...2020-06-25
  • 基于mybatis中<include>标签的作用说明

    这篇文章主要介绍了基于mybatis中<include>标签的作用说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-20
  • HTML 标签中的 Markdown 使用方法

    Markdown是一种可以使用普通文本编辑器编写的标记语言,通过类似HTML的标记语法,它可以使普通文本内容具有一定的格式,下面我们来看一篇关于HTML 标签中的 Markdown 语法...2016-09-20
  • 帝国CMS灵动标签调用当前父栏目下所有子栏目-支持选中状态/高亮

    帝国CMS实现灵动标签调用当前父栏目下所有子栏目-支持选中状态及当前栏目高亮,支持栏目自定义排序。最适用于内容模板,显示父栏目下的子栏目。 支持静态栏目页与动态栏目页 代...2016-05-19
  • jQuery添加和删除指定标签的方法

    这篇文章主要介绍了jQuery添加和删除指定标签的方法,通过动态的给元素添加删除一个CSS类可以实现此功能,需要的朋友可以参考下...2015-12-18
  • goland设置颜色和字体的操作

    这篇文章主要介绍了goland设置颜色和字体的操作方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-04
  • css中Font字体小图标应用

    Font字体小图标应用其实是在以前我们常用的css sprite进行升级了,我们可以直接在css中调用字体了,下面我们来看一篇关于Font字体小图标应用例子。 我们知道在页面上...2016-09-14
  • 详解Yii2定制表单输入字段的标签和样式的方法

    这篇文章详细介绍了Yii2定制表单输入字段的标签和样式的教程,有需要的同学可以参考一下,以备不时之需。 Yii2中对于表单和字段的支持组件为ActiveForm和ActiveField...2017-01-22