精华内容
下载资源
问答
  • jquery.masonry.js瀑布流图片点击相册图片展示大图信息
  • 主要介绍了超酷的照片墙展示效果图附源码下载的相关资料,需要的朋友可以参考下
  • 1、这是一款手赚积分试玩平台网站源码,包括后台信息的维护可用于发布和展示自己的推广链接源码,该源码比较适合用于学习交流,或者作为简单的课程设计使用,或者商业感兴趣的朋友们可以下载学习一下。...
  • 敏捷

    2021-03-04 01:44:04
    BVCs(BigVisibleCharts)指大型可视化图表,TOWs代表着墙面展示(在墙上展示各项事项,ThingsonWalls),而POWs(PlainOldWhiteboards)则意味着简单且古老的白板——它们都属于不同类型的信息辐射器。进一步来说,...
  • 祝福源码20121227

    2013-04-28 15:18:48
    祝福源码 界面很漂亮 前台可以展示发布的字条信息,用户也可以贴出字条信息 查看字条列表 后台可以管理字条信息
  • PHP案例 许愿 PHP许愿

    万次阅读 多人点赞 2019-05-22 19:46:52
    源码:https://download.csdn.net/download/qq_39476250/11244063 目录 一、案例展示 1.首页 2.发表愿望单 ...3.许愿墙展示 4.分页查询 5.发表愿望 6.修改愿望 7.删除愿望 教程完毕 一、...

    源码:https://download.csdn.net/download/qq_39476250/11244063

    版权说明:禁止抄袭,转载请附上本文链接,禁止用于商业目的,禁止在转载时附上源码,本源码仅供交流参考,如发现雷同并未附上本文链接请联系我。

    目录

    一、案例展示

    1.首页

    2.发表愿望单 

    3.修改愿望单

    4.删除愿望单

    二、需求分析

    三、案例实现

    1.准备工作

    2.数据库设计 

     3.许愿墙展示

     4.分页查询

    5.发表愿望 

    6.修改愿望

    7.删除愿望 

    教程完毕 


    一、案例展示

    1.首页

    2.发表愿望单 

    3.修改愿望单

    4.删除愿望单

    二、需求分析

    在本案例中,对于许愿墙的具体需求如下。


    • 配置一个虚拟主机“www.wish.com”用于测试和运行项目
    • 通过MySQL数据库保存用户的数据
    • 提供展示愿望、发表愿望、修改愿望和删除愿望4个主要功能
    • 提供绿色、蓝色、黄色、红色4种颜色的心愿贴纸 显示愿望的发表时间,以形如“10分钟前 16:21”的友好格式显示
    • 在展示愿望时,为了避免单个页面的数据过多,以分页的方式进行展示
    • 为了防止自己的愿望被其他人随意修改,在发表愿望时可以设置保护密码
    • 当愿望设置了保护密码后,在对其修改、删除时,需要验证密码

    三、案例实现

    1.准备工作

    ① 准备项目运行的环境创建虚拟主机

    ② 合理的管理项目文件目录结构划分

    ③ 连接数据库              编写文件common\init.php完成数据库连接,为后续开发做准备

     ④  准备公共函数        封装常用的代码,以提高代码的可复用性、可维护性等,如外部变量的接收和过滤

     ⑤  引入公共文件        init.php、function.php

    类型

    文件名称

    作用

    目录

    common

    保存公共的PHP文件

    css

    保存项目的CSS文件

    js

    保存项目的JavaScript文件

    view

    保存项目的HTML文件

    common/init.php

    保存项目的初始化代码(设置时区、连接数据库)

    文件

    common/function.php

    保存项目的公共函数

    view/index.html

    展示愿望的HTML模板

    view/common/add.html

    添加愿望的HTML模板

    view/common/edit.html

    修改愿望的HTML模板

    view/common/password.html

    修改或删除愿望时,验证密码的HTML模板

    index.php

    提供展示愿望、验证密码、删除愿望功能

    save.php

    提供添加、修改愿望功能

    2.数据库设计 

    ①数据库设计在项目开发过程中起着至关重要的作用,如果设计的不合理、不完善,在项目开发和维护过程中可能出现很多问题。

    字段

    数据类型

    说明

    id

    INT UNSIGNED PRIMARY KEY AUTO_INCREMENT

    愿望id

    name

    VARCHAR(12) DEFAULT '' NOT NULL

    作者名字

    content

    VARCHAR(80) DEFAULT '' NOT NULL

    许愿内容

    time

    INT UNSIGNED DEFAULT 0 NOT NULL

    发表时间

    color

    VARCHAR(10) DEFAULT '' NOT NULL

    贴纸颜色

    password

    VARCHAR(6) DEFAULT '' NOT NULL

    保护密码

    ②插入测试数据

    INSERT INTO `wish` VALUES
    (1, '张三', '天天开心、心想事成、大吉大利、一帆风顺。', 1490240257, 'red', '111'),
    (2, 'PHP爱好者', '祝愿PHP越来越好!', 1490241675, 'yellow', ''),
    (3, '匿名', '争取毕业月薪过万!', 1490251234, 'blue', '000000'),
    (4, '小明', '考上清华大学', 1490252675, 'green', '123');
    

     3.许愿墙展示


    ①在index.php中编写SQL语句查询出所有记录

    ②格式化日期

    ③修改HTML展示模板

    ④为避免不同服务器环境因配置的时区不同,造成显示的时间有误,设置时区


     a.查询出数据库的记录

    Array(
    [0]=>Array([id]=>1 [name]=>张三 [content]=>天天开心、心想事成、大吉大利、一帆风顺。 [time]=>1490240257 [color]=>red)
    [1]=>Array([id]=>2 [name]=>PHP爱好者 [content]=>祝愿PHP越来越好! [time]=>1490240257 [color]=>yellow
    [2]=>Array([id]=>3 [name]=>匿名 [content]=> 争取毕业月薪过万 [time]=>1490251234 [color]=>blue
    [3]=>Array([id]=>4 [name]=>小名 [content]=> 考上清华大学 [time]=>1490240257 [color]=>green
    )

    b.编写样式 

     

     4.分页查询

    a.分页实现的原理是利用LIMIT限制SELECT语句查询出的数据

    ​SELECT `content` FROM `wish` LIMIT 0, 10;	# 查询第1页的10条数据
    SELECT `content` FROM `wish` LIMIT 10, 10;	# 查询第2页的10条数据
    SELECT `content` FROM `wish` LIMIT 20, 10;	# 查询第3页的10条数据
    SELECT `content` FROM `wish` LIMIT 30, 10;	# 查询第4页的10条数据

    ①在common\function.php文件中编写page_sql()函数,获取LIMIT的参数

    ②在index.php中,根据用户传递的页码,利用LIMIT查询出对应的记录

    ③生成“首页”“上一页”“下一页”“尾页”链接导航显示到HTML页面中


     

    5.发表愿望 


    ①准备发表愿望的表单,在index.html中引入

    ②利用自定义的input()函数接收并过滤用户提交的数据

    ③按照要求对用户提交的数据进行判断。例如,贴纸的颜色只能是蓝、黄、绿、红中的一种。

    ④通过验证后,将用户提交的数据保存到数据库中


    a.发表愿望

    6.修改愿望

    • 为了防止愿望被作者以外的人修改
    • 在发表愿望时可以设置保护密码
    • 当愿望受到密码保护后
    • 在修改和删除愿望时就要先验证密码
    1. 在修改连接上添加,愿望id和页码
    2. 在index.php中,获取待编辑的愿望id,显示密码验证表单
    3. 验证不通过,显示对应的提示信息
    4. 验证通过,显示修改愿望表单
    5. 在save.php中,接收用户编辑的愿望数据,同时在修改前要验证保护密码是否正确

    7.删除愿望 

    a.删除愿望功能用于作者删除自己的愿望,为防止误删,删除时需验证保护密码。

    1. 添加一个删除链接
    2. 在index.php中验证保护密码是否正确
    3. 不正确,不能删除
    4. 正确,直接删除数据库中对应的愿望信息

    教程完毕 

    注:本人用于开发PHP版本为5.6.9,经过测试PHP5.2.17、5.4.45、7.3.9_p打开版本会报错,PHP5.4.1、7.1.9、7.3.9显示正常、其他版本未测试。

    如需要技术指导请私聊我,在线时间不固定,有可能好几个星期也不看一次;

    如需要程序源码请去本章顶部链接下载,如果不想花几毛钱就私聊我,在线时间不固定;

    展开全文
  • 电视

    2013-07-04 18:39:13
      电视是由多个电视(背投电视)单元拼接而成的一种超大屏幕电视墙体,是一种影像、图文显示系统。可看作是一台可以显示...电视便能显示清晰、色彩艳丽、高亮度的复杂全彩多媒体图形影像信息。是动态影像展示
     
    
     
    电视墙是由多个电视(背投电视)单元拼接而成的一种超大屏幕电视墙体,是一种影像、图文显示系统。可看作是一台可以显示来自计算机VGA信号、多种视频信号的巨型显示屏,向电视墙传送视频或者计算机VGA信号。

    非民用领域:

    电视墙便能显示清晰、色彩艳丽、高亮度的复杂全彩多媒体图形影像信息。是动态影像展示、宣传、广告的最佳方式。大屏幕电视墙的宣传表达能力极强、高档、气派、豪华,常在电视台、 体育场馆

     

     

     

     

    证券市场、调度指挥等领域使用

    民用领域:

    TV墙(电视 背景墙/电视形象墙)
    顾名思义,是在放置或靠近电视的位置做的形象墙,一般是指电视的后面的墙体装饰。提示:设计应简单,防止喧宾夺主,造成视觉压力。
    家用新型电视墙
    相对于民用的 电视墙,非民用的涉及的领域相对专业,需要专业人员来操控,我们一般的平民也不会去关心,大家更关注的是家用电视墙。
    新一代的电视墙不再是只有单一功能的装饰品,由于电视墙,由独特的 环保新型材料构成和独特的设计,今天它的用途已能延伸到很多方面,如吸引、降噪、环保等等
    展开全文
  • jquery 图片特效

    2013-01-27 20:36:49
    jquery制作的图片特效,图片的方式展示图片信息,鼠标移到图片上时当前图片突出显示大图片与相关的文字信息,显示时会挡住下面的图片所以想查看其他图片时会比较麻烦,要离开再移到想展示的图片上。
  • 照片墙 h5源码

    2019-07-16 15:14:37
    这是一个照片墙,使用html、js 、css编写而成,照片悬浮可以放大。
  • 异步下载照片墙

    千次阅读 2016-06-28 19:57:28
    我要实现从服务器端下载一个图片地址列表,并异步下载图片展示在imageview,实现缓存和压缩。如果要下载压缩后的图片,应该是由服务器端先压缩后存储,这里只说客户端范围,不做讨论。 需要预备的知识点: 1....

    android异步下载照片墙


    版权声明:本文出自ShengFQ的博客.
    转载请注明出处:http://www.jianshu.com/p/1709ea24ebbb

    我的问题

    我要实现从服务器端下载一个图片地址列表,并异步下载图片展示在imageview,实现缓存和压缩。如果要下载压缩后的图片,应该是由服务器端先压缩后存储,这里只说客户端范围,不做讨论。

    需要预备的知识点:
    1.AsyncTask异步调用方法下载json数据
    2.listview,viewadapter的高性能写法
    3.HandlerThread,Hander,Message异步消息机制
    4.LurCache缓存
    5.BitmapFactory的压缩图片

    1.AsyncTask异步调用方法下载json数据
    一个AsyncTask和一个Adapter组合,从服务器端拉取包含图片地址的json格式数据。
    2.listview,viewadapter的高性能写法

    
    viewadapter.java 部分实现
    Object mlock;//异步操作list时,需要对list进行同步锁定
    Context mContext;//调用上下文
    List<Model> datalist;//list数据源
    int itemLayoutId;//adapterview的个性化显示布局id
    getDataList();
    reload(List models);
    add(model model);
    addAll(List models);
    render(Model model,View view,int position);//重复利用ViewHolder提升getView方法的性能
    getCount();
    getItem(int position);
    getItemId(int position);
    class ViewHolder{}
    getView(int position,View convertView,ViewGroup parent);
    
    //将一特定的数据格式添加到view中
    protected void render(LinkModel linkmodel,View view,int position){
         final LinkModel item=linkmodel;
         ViewHolder viewHolder=(ViewHolder)view.getTag();
         //重复利用视图组件,将视图组件存储到装载对象中
         if(viewHolder==null){
             viewHolder=new ViewHolder();
            viewHolder.app_layout= (FrameLayout)view.findViewById(R.id.iv_app_layout);
            viewHolder.app_icon_layout=(LinearLayout)view.findViewById(R.id.app_icon_layout);
            viewHolder.app_log_iv=(ImageView)view.findViewById(R.id.ic_app_ico);
            viewHolder.app_name_tv=(TextView)view.findViewById(R.id.ic_app_name);
            view.setTag(viewHolder);
         }else{
             viewHolder=(ViewHolder)view.getTag();
         }
         if(item!=null){
             viewHolder.app_log_iv.setImageResource(R.drawable.app_img_app_normal);
             viewHolder.app_name_tv.setText(item.name);
             if (ImageCache.getInstance(mCacheSize).isCache(item.photoUrl)) {
                 viewHolder.app_log_iv.setImageBitmap(ImageCache.getInstance(mCacheSize).getBitmapFromMemCache(item.photoUrl));
                }else{
            //后台线程异步下载图片,Token在这里指定了imageview的实例
             mThumbnailThread.queueThumbnail(viewHolder.app_log_iv, item.photoUrl);
                }
        }
    }
    

    在AsyncTask中将后台的json数据封装到实体对象,通过上述的adapter.addAll(List models)注入到adapter中.

    3.HandlerThread,Hander,Message异步消息机制
    定义ThunbnailDownloader类,用来通过发送下载请求消息,从另一个线程去后台下载并通过与前台UI线程交互加载.

    public class ThumbnailDownLoader<Token> extends HandlerThread {
        private static final String TAG="ThumbnailDownLoader";
        private static final int MESSAGE_DOWNLOAD=0;
        private Handler mHandler;
        private String requestToken;
        private int mCacheSize;
        Map<Token,String> requestMap= Collections.synchronizedMap(new HashMap<Token,String>());
        /**
         * 主线程中的Handler对象
         * */
        Handler mRespoonseHandler;
        //回调接口变量
        Listener<Token> mListener;
    
        /**
         * 用于通信的监听器接口
         * 当下载完要执行的事情:将图片加载到UI线程的ImageView
         * */
        public interface Listener<Token>{
            /**
             * 后台线程的输出,将下载的图片指定给前台的ImageView
             * @param token 存放图片的容器
             * @param thumbnail 图片格式
             * */
            void onThumbnailDownloaded(Token token,Bitmap thumbnail);
        }
    
        public void setListener(Listener<Token> listener){
            mListener=listener;
        }
    
        public ThumbnailDownLoader(String requesttoken){
            super(TAG);
            this.requestToken=requesttoken;
        }
    
        /**
         * 主线程传递的Handler
         * @param responseHandler 前台UI线程handler
         * @param requesttoken 远程下载请求的token
         * @param cacheSize 缓存大小
         * */
        public ThumbnailDownLoader(Handler responseHandler,String requesttoken,int cacheSize){
            super(TAG);
            mRespoonseHandler=responseHandler;
            this.requestToken=requesttoken;
            this.mCacheSize=cacheSize;
        }
    /**
     * 该方法的调用发生在Looper第一次检查消息队列之前
     * */
    
     @SuppressLint("handlerLeak")
     @Override
     protected void onLooperPrepared(){
        mHandler=new Handler(){
        //looper取得消息队列中的特定消息,回调方法根据消息what属性进行处理
          public void handleMessage(Message msg){
            if(msg.what==MESSAGE_DOWNLOAD){
                @SuppressWarnings("unchecked")
                Token token=(Token)msg.obj;//Handler.obtainMessage(msg,obj);通过Handler发送Message传递了message.obj,这里处理消息时,可以获取obj,属于约定内容。
                Log.i(TAG,"Got a request for url:"+requestMap.get(token));
                handleRequest(token,requestToken);
            }
          }
        };
     }
     /**
      * 发送message请求下载图片,将URL和Token传递到同步hashMap中
      * 在调用getView()的时候请求下载
      * @param token 前台交互的UI控件
      * @param url 前台指定的下载地址
      * */
        public void queueThumbnail(Token token,String url){
            Log.i(TAG,"Got to URL:"+url);
            requestMap.put(token,url);//调用getview()的时候调用
            Message message=mHandler.obtainMessage(MESSAGE_DOWNLOAD,token);//创建信息并传入消息字段,自动完成目标handler的设置
            message.sendToTarget();//将消息压入消息队列
        }
    
        /**
         * 远程下载图片,将后台下载的图片加载到前台UI的ImageView中
         * @param token 泛型参数,这里指前台的ImageView
         * */
        private void handleRequest(final Token token,final String requestToken){
            try{
                final String url=requestMap.get(token);
                if(url==null)
                return;
                byte[] bitmapBytes=new ImageLoaderUtils().getUrlBytes(url,requestToken);
               // final Bitmap bitmap= BitmapFactory.decodeByteArray(bitmapBytes,0,bitmapBytes.length);
                final Bitmap bitmap=  ImageCompress.decodeSampleBitmapFromBytes(bitmapBytes, 54, 54);//图片压缩
                ImageCache.getInstance(mCacheSize).addBitmapToMemoryCache(url, bitmap);
                Log.i(TAG,"Bitmap created");
                //此处定义了主线程在后台线程交互操作的UI处理
                mRespoonseHandler.post(new Runnable(){
                    public void run(){
                        if(requestMap.get(token)!=url) return;
                        requestMap.remove(token);//
                        Bitmap cachebitmap =ImageCache.getInstance(mCacheSize).getBitmapFromMemCache(url);
                        if(cachebitmap!=null)
                            mListener.onThumbnailDownloaded(token,cachebitmap);
                        else{
                              mListener.onThumbnailDownloaded(token,bitmap);
                        }
                    }
                });
    
            }catch(IOException ioe){
                Log.e(TAG,"Error downloading image",ioe);
            }
        }
    
        public void clearQueue(){
            mHandler.removeMessages(MESSAGE_DOWNLOAD);
            requestMap.clear();
        }
    }
    

    说明:HandlerThread是一个消息通知处理线程类
    onLooperPrepared();//初始化Handler的地方,因为此处在HandlerThread初始化后,进入Loop()之前就会调用的方法,在这里初始化Handler有助于在消息发送之前handler已经初始化.

    Handler
    handlleMessage(Message msg);//根据消息的类别和消息附带的参数进行异步下载
    handler.obtainMessage(String msg,object) //构建一个Message对象
    message.sendToTarget();//将消息发送到消息队列
    handler.removeMessages(String msg);//清除该消息,释放资源

    如何与前台UI线程交互

    已经将image下载下来了,要填充到UI线程的Imageview中,这就需要与前台交互,没错,前台UI线程也有Handler,而且只有一个,将前台的handler传递到后台共享

    /**
     * 主线程中的Handler对象
     * 
    Handler mRespoonseHandler;
    /**
         * 主线程传递的Handler
         * @param responseHandler 前台UI线程handler
         * @param requesttoken 远程下载请求的token
         * @param cacheSize 缓存大小
         * */
    public ThumbnailDownLoader(Handler responseHandler,String requesttoken,int cacheSize){
        super(TAG);
        mRespoonseHandler=responseHandler;
        this.requestToken=requesttoken;
        this.mCacheSize=cacheSize;
    }
    

    在下载完图片后,通过handler.post();方法与前台UI交互

    
    //此处定义了主线程在后台线程交互操作的UI处理
        mRespoonseHandler.post(new Runnable(){
            public void run(){
                if(requestMap.get(token)!=url) return;
                requestMap.remove(token);//
                Bitmap cachebitmap =ImageCache.getInstance(mCacheSize).getBitmapFromMemCache(url);
                if(cachebitmap!=null)
                    mListener.onThumbnailDownloaded(token,cachebitmap);//回调接口方法
                else{
                      mListener.onThumbnailDownloaded(token,bitmap);
                }
            }
        });
    

    Listener mListener;//回调接口对象,下载图片后,定义行为将图片设置到imageview

    /**
     * 用于通信的监听器接口
     * 当下载完要执行的事情:将图片加载到UI线程的ImageView
     * */
    public interface Listener<Token>{
        /**
         * 后台线程的输出,将下载的图片指定给前台的ImageView
         * @param token 存放图片的容器
         * @param thumbnail 图片格式
         * */
        void onThumbnailDownloaded(Token token,Bitmap thumbnail);
    }
    
    public void setListener(Listener<Token> listener){
        mListener=listener;
    }
    

    回到主线程UI

    因此在UI线程中,做两件事,初始化HandlerThread,实现回调接口

      //初始化后台线程下载图片
    mThumbnailThread = new ThumbnailDownLoader<ImageView>(new Handler(),token,mCacheSize);//与主线程Looper绑定的Handler
    mThumbnailThread.setListener(new ThumbnailDownLoader.Listener<ImageView>() {
        public void onThumbnailDownloaded(ImageView imageView, Bitmap thumbnail) {
            if (true) {
                //给ImageView设置图片Bitmap
                imageView.setImageBitmap(thumbnail);
            }
        }
    });
    mThumbnailThread.start();
    mThumbnailThread.getLooper();
    

    如何触发异步下载

    我们要实现的效果是,下拉gridview时,自动下载图片并加载到gridview里的imageview视图,所以我们将焦点回到adapter.getView()方法里,要实现这个功能,需要两个重要参数传递到HandlerThread中
    当前的Imageview实例和需要下载的图片URL

    mThumbnailThread.queueThumbnail(viewHolder.app_log_iv, item.photoUrl);

    4.LurCache缓存,对图片进行缓存处理
    主要使用了LruCache

    
    int maxMemory = (int) (Runtime.getRuntime().maxMemory() / 1024);  
    // 使用最大可用内存值的1/8作为缓存的大小。  
    mCacheSize = maxMemory / 8;  
    /**
     * 图片缓存
     * */
    public class ImageCache {
        private static ImageCache instance;
    
        /**
         * 实例化,缓存大小
         */
        public static ImageCache getInstance(int cacheSize) {
            if (instance == null) {
                synchronized (ImageCache.class) {
                    if (instance == null) {
                        instance = new ImageCache(cacheSize);
                    }
                }
            }
            return instance;
        }
        private LruCache<String,Bitmap> mMemoryCache;
        private ImageCache(int cacheSize){
            mMemoryCache=new LruCache<String,Bitmap>(cacheSize){
                protected int sizeOf(String key,Bitmap bitmap){
                    return bitmap.getByteCount()/1024;
                }
            };
        }
    
        /**
         * 加载到缓存
         * */
        public void addBitmapToMemoryCache(String key,Bitmap bitmap){
            if(getBitmapFromMemCache(key) ==null){
                mMemoryCache.put(key, bitmap);
            }
        }
        /**
         * 从缓存中读取
         * */
        public Bitmap getBitmapFromMemCache(String key){
            return mMemoryCache.get(key);
        }
        /**
         * 检查是否缓存
         * */
        public boolean isCache(String key){
            Bitmap map=mMemoryCache.get(key);
            return map!=null;
        }
    }
    

    5.BitmapFactory的压缩图片

    ImageCompress.java
    /**
         * 
         * 加载输入流图片 网络*/
    public static Bitmap decodeSampleBitmapFromBytes(byte[] data,int reqWidth,int reqHeight){
        final BitmapFactory.Options options=new BitmapFactory.Options();
        options.inJustDecodeBounds=true;
        //BitmapFactory.decodeResource(resource, resId, options);
        BitmapFactory.decodeByteArray(data, 0, data.length, options);
        options.inSampleSize=calculateInSampleSize(options, reqWidth, reqHeight);
        options.inJustDecodeBounds=false;
        return BitmapFactory.decodeByteArray(data, 0, data.length, options);
    }
    
    //怎么压缩呢,按照缩放比例inSamplesize,这个值是可要计算出来的
    public static int calculateInSampleSize(BitmapFactory.Options options,int reqWidth,int reqHeight){
        //
        final int height=options.outHeight;
        final int width=options.outWidth;
        int inSampleSize=1;
        if(height>reqHeight || width>reqWidth){
            final int heightRatio=Math.round((float)height/(float)reqHeight);
            final int widthRatio=Math.round((float)width/(float)reqWidth);
            inSampleSize=heightRatio<widthRatio ?heightRatio:widthRatio;
        }
        return inSampleSize;
    }
    

    参考资料

    1.http://blog.csdn.net/guolin_blog/article/details/9526203 Android照片墙应用实现,再多的图片也不怕崩溃
    2 http://blog.csdn.net/guolin_blog/article/details/9316683 Android高效加载大图、多图解决方案,有效避免程序OOM
    3.android开发编程权威指南
    展开全文
  • wifi绵羊搭建

    千次阅读 2016-11-09 22:28:20
    Wifi绵羊原理:利用karma攻击搭建一个wifi绵羊,将自动链接上来的用户的主机名和被动广播出去的ssid的名称展示在屏幕上。 karma攻击的原理:    Karma是一种通过伪造虚假响应包(Probe Response)来回应STA...

    Wifi绵羊墙原理:

    利用karma攻击搭建一个wifi绵羊墙,将自动链接上来的用户的主机名和被动广播出去的ssid的名称展示在屏幕上。
    

    karma攻击的原理:
      
      Karma是一种通过伪造虚假响应包(Probe Response)来回应STA(Wireless station,手机、平板等客户端等)探测(Probe Request)的攻击方式,让客户端误认为范围内存在曾经连接过的WiFi热点,从而骗取客户端的连接。

    实验设备:
     1、一块无线网卡;
     2、一个Linux系统(如:kali);

    实验步骤:
    1、下载并安装工具:

         isc-dhcp-server
          Aircrack-ng
          Iptables

    2、配置文件:
    首先vim /etc/dhcp/dhcpd.conf中的dhcp.conf打开文件,将以下内容添加进去:

    authoritative;
    default-lease-time 700;  #默认租约时间
    
    展开全文
  • Flash 3D照片墙特效.rar

    2019-07-10 18:30:34
    Flash 3D照片墙特效,跟随鼠标改变三维图片角度,自动显示当前照片描述,整体很炫的效果,在使用方面,附带有一个HTML演示页面,Flash所调用的图片在XML文件里设置好路径和描述等信息,这是一个很不错的Flash和XML...
  • HTML许愿代码

    2017-04-15 21:20:17
    HTML许愿代码,需求1:模拟数据库获取信息,然后在页面上生成数组的长度个tip,然后分别问起内容进行修改;需求2:点击内容,提高层级;点击关闭按钮,删除tip标签;双击顶部,删除标签.....
  • 微信互动

    2018-03-13 22:44:16
    大致操作:使用移动端扫码,出现可操作界面,发送内容,展示的设备会展示客户端发送的信息 使用到的技术:监听器,jsp 监听器:   监听器用于监听web应用中某些对象、信息的 创建、销毁、增加,...
  • 大屏-互动照片墙

    千次阅读 2019-06-11 12:06:52
    该内容支持TUIO\鼠标、win8等touch交互模式,该内容支持各种...比如:照片的详细信息等功能的讲解 ,比如展示管的图像介绍,以及根据图片接入对应的3D场景等多用途功能。 想了解更多的产品定制内容请留言信息。 ...
  • PHP表白源码(前端+后台)前端页面以及代码展示一、表白信息展示二、添加表白信息三、删除表白信息四、修改表白信息五、表白信息模糊查询后台页面以及代码展示一、注册登录二、表白信息列表展示三、删除表白信息四...
  • Unity UGUI效果 之 动态照片墙效果

    千次阅读 2019-12-26 13:22:22
    // 修改 Image下的 Text 文本信息 item.transform.GetChild(0).GetComponent().text = item.name; //添加到集合 item.gameObject.SetActive(true); gos.Add(item); itemPosDict.Add(item, endPos); // 更新当前 X ...
  • 设计: 考虑到展示信息多,电视一共由5个小屏幕一字并排拼接显示。数据来源于多个业务系统,初步考虑各个系统暴露接口,电视后端调用接口的方式实现数据对接。遇到的坑: 公司领导在演示时,屏...
  • “积分”目前已经发展为在一个应用内展示各种不定额任务(下载安装试玩的相关应用、好评截图审核、分享转发奖励等等),用户完成相应任务就可以赚取对应金钱,满指定额度就可以提现。积分是除“广告条”、“插屏...
  • SharePoint 2013 App 示例之图片

    千次阅读 2014-02-28 11:16:29
     效果解释:点击图会展示图片的详细信息,包括图片、标题、描述三个信息;可以再次点开打开页中的图片,会显示这张图片。  19、效果截图展示,如下图:  20、特别的,我们可以查看我们插入的列表,但是...
  • 几年前,建筑和设计公司CRA展示了一套使用喷涂无人机在墙上绘制图像的系统。这非常聪明,但也许不容易变成商业产品。然而,该公司的Scribit墙壁绘图机器人就是为此而设计的。就像该公司2015年展示的VerticalPlotter...
  • 大屏签到信息显示: 1. 用浏览器访问http://wx.jhyxcl.com/wsignin/signIn,效果如下: 年会签到人员信息管理: 1. 浏览器中访问http://wx.jhyxcl.com/siteindex/index后,显示所有签到人员信息,用于导出签到...
  • 原生js实现3D照片墙

    千次阅读 2018-07-04 21:50:04
    效果:1、点击Start View进入...显示背面(照片的描述信息)实现过程:1、用数据生成结构(模拟的数据,此处不再提供)2、对所有图片进行排序3、计算两侧图片的随机范围4、控制图片翻转5、控制导航按钮切换图片6、...
  • 实现用手指或其它自然物品在投影屏幕上的触摸选择,打开界面、转换画面、信息查询等控制功能。 可以直接投影到玻璃等透明物体上进行触摸操作,屏幕更大,更直接,让用户有一种置身其中的魔幻感觉,使信息表达更加...
  • 商家信息展示独立黄页空间,高级商家有精美的商家黄页展示模 板。 四,免费发布信息功能。 分类信息发布可由管理员发布 会员发布或者游客发布等。后台 可以对信息进行审核修改,删除,推荐等操作。 新闻公告发布...
  • 前端简易弹幕制作

    千次阅读 2017-10-13 09:42:29
    刚开始入门前端,想仿照...创建一个弹幕显示,以及两个按钮,分别为“发送”和“清屏”,并在文本框中设置placeholder为“说点什么吧?”以提示用户在此输入弹幕信息。 <div class="con"> <div id="screen
  • 茗秦触摸屏软件3D影系统以全屏的展现,其中图片以3D的形式进行展示,并且根据鼠标位置的决定3D转动的快慢; 茗秦触摸屏软件3D影系统功能简述 1 加载图片 将图片放到指定文件夹,系统会自动加载图片,并...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 17,282
精华内容 6,912
关键字:

信息展示墙