您的位置: 首页 - 记录生活,记录点滴~

关于bbs备案

分类: 生活点滴 发布: Slleo 浏览: 日期: 2007年7月29日

不说话,先来看一个通知(广东省BBS专项备案的通知):
互联网电子公告(BBS)

  电子公告服务,是指在互联网上以电子布告牌、电子白板、电子论坛、网络聊天室、留言板等交互形式为上网用户提供信息发布条件的行为,简称BBS。

BBS专项申请注意事项

  拟开展电子公告服务的经营者应当向广东省通信管理局提出专项申请。申请开办BBS应建立下述各项制度,未建立如下制度或未严格执行的不予批准BBS。
  (一)栏目明确制度。网站在提出BBS专项申请时,应明确列出拟开办的BBS的各具体栏目和类别,如文化艺术类留言板、网民聊天室、IT行业布告板等,所有申请开办的项目应逐项列出。网站开办BBS时应严格按批准的栏目进行,不得超越范围随意开设,对已开设的BBS的应进行清理和规范。
  (二)版主负责制度。网站开办BBS时应有相应人员对BBS实施有效管理。获准开展BBS的网站必须对获得批准的各个BBS栏目指定专职人员充当版主,每个栏目不得少于一个专职版主,并实行版主责任制(需填写“BBS版主资料登记表”)。版主负责监管该栏目的信息内容,除采取必要的技术手段外,应对登载的信息负有人工过滤、筛选和监控的责任。一旦发现BBS的栏目中有违规内容,有关主管部门将追究网站和该栏目版主的责任并予以处理。
  (三)用户登记制度。提供BBS的网站应要求上网用户使用BBS前预先履行登记程序,填写网站提供的注册表格,提供真实、准确、最新的个人信息(包括姓名、电话、身份证号)。注册表格由网站妥善保存并不得随意泄漏,用户注册后则可使用该网站提供的所有BBS栏目和相关服务。一旦发现用户违反规定或提供虚假信息,网站有权暂停或中止该用户使用本网站包括BBS在内的所有或部分服务。
  (四)规则张贴制度。
  1、 严格要求开办BBS的网站在留言板、论坛、聊天室、跟贴等BBS网页的显著位置张贴ICP经营许可证号或备案号。点击经营许可证号或备案号,应弹出该许可证或备案表的清晰可认的扫描图片。
  2、 上网使用者点击BBS某一栏目时,应首先弹出载有电子公告服务规则的画面,该画面内容旨在对使用者的行为作出符合法律规章和政府要求的警示和限定,其中包括2000年12月28日第九届全国人大常委会第十九次会议通过的《全国人民代表大会常务委员会关于维护互联网安全的决定》有关条款。
  (五)安全保障措施。
  1、开展电子公告服务的网站坚持对用户贴文上网实行先审后发制度,进一步强化技术保障措施和手段,对用户发出的信息应预先进行软件自动过滤和人工过滤,然后供人浏览,不得未经审查直接上网公开。
  2、严格落实记录保存制度,应当记录所提供的电子公告信息内容及其发布时间、互联网地址。
  3、有电子公告服务安全保障措施,包括上网用户登记程序、上网用户信息安全管理制度、技术保障设施;
  4、有相应的专业管理人员和技术人员,能够对电子公告服务实施有效管理。

  互联网电子公告(BBS)申办手续:
  1、电子公告的申请书(法人签章);
  2、拟开办的电子公告服务类别和栏目名称,以及具体栏目内容的简单描述;
  3、电子公告服务规则;
  4、《网络与信息安全责任书》(要求提供正本一式两份);
  5、互联网电子公告管理制度(包括:栏目明确制度、版主负责制度、用户登记制度、规则张贴制度、安全保障措施);
  6、电子公告服务承诺书;
  7、BBS版主资料登记表;
  8、公司的营业执照复印件(已取得互联网信息服务许可证的,提交许可证的复印件)。

  咨询服务机构:
  1、广东省通信行业协会
    电话:020-87626826 林小姐    邮编:510080
    地址:广州市执信南路3号“广东省通建大楼” 601房(靠中山二路,中山医旁)
  2、深圳市通信管理局
    电话:0755-83522122 丁小姐    邮编:518034
    地址:深圳市商报路奥林匹克大厦18楼业务受理室
  3、深圳市通信与互联网协会
    地址:深圳市商报路奥林匹克大厦18楼咨询服务室  邮编:518034
    电话:0755-83522299 83522933  传真:0755-83522622



以下是有人的分析:
1.形势

目前开展的整顿BBS的事情是真实的,全国各地均在开展,广东这边先行。具体步骤为

一期 严查BBS域名备案,预计7月中旬完成
二期 严查BBS专项备案,预计8月中旬完成。
三期 严查BBS服务器和网站, 预计9月底完成。

也就是说,大约国庆前基本全部关闭没有专项备案的论坛。


2,备案

所有公司的论坛必须进行备案。
所有个人的论坛建议关闭,因为备案成功的可能性很小。

要求:

独立服务器,一台服务器上只能有一个BBS网站。服务器比较在正规的,获得通信管理局认证的公司机房。
首先通过信产部的网站域名备案。
要专人管理论坛,24小时电话和手机开机。
所有板块都要有版主,而且要有一定的在线管理时间。版主也要提供个人身份资料和联系电话等。
所有会员都必须实名制。
个人论坛可以申请专项备案,要求提供个人详细资料。但通过可能性很少。
其它手续同公司申请BBS专项备案。



我也分析一下:在中国,将来你申请个电子邮件有也能也要备案的;未经备案的允许,你将不得使用电子邮件!

pjblog2.7安装皮肤ikk-black的问题

分类: 生活点滴 发布: Slleo 浏览: 日期: 2007年7月25日

ikk-black的作者修改了pjblog的部分文件,2.7以后还想使用ikk-black的话,需要修改一下footer.asp文件,不然会报错,大体是:



改成:


其实就是关闭数据库链接.

然后要注释掉article.asp的第48行.

PHP实现文件下载

分类: 学习 发布: Slleo 浏览: 日期: 2007年6月22日

你一定会笑我“下载文件”如此简单都值得说?当然并不是想你想象的那么简单。例如你希望客户要填完一份表格,才可以下载某一文件,你第一个想法一定是用 “Redirect”的方法,先检查表格是否已经填写完毕和完整,然后就将网址指到该文件,这样客户才能下载,例如笔者编写的以下代码:

<?
// 检查 FORM 是否全部填写完毕...
if ($form_completed) {
Header("Location: http://www.myweb.com/download/info_check.exe");
exit;
}
?>

或者是以下的情况:

“ <a href="http://www.yourwebl.com/users/download.php?id=124524">开始下载文件</a> ”

这里利用了ID方式接收要下载文件的编号,然后用“Redirect”的方式连接到实际的网址。

如果你想做一个关于“网上购物”的电子商务网站,考虑安全问题,你不想用户直接复制网址下载该文件,笔者建议你使用PHP直接读取该实际文件然后下载的方法去做。程序如下:

<?
$file_name = "info_check.exe";
$file_dir = "/public/www/download/";
if (!file_exists($file_dir . $file_name)) { //检查文件是否存在
echo "文件找不到";
exit;
} else {
$file = fopen($file_dir . $file_name,"r"); // 打开文件
// 输入文件标签
Header("Content-type: application/octet-stream");
Header("Accept-Ranges: bytes");
Header("Accept-Length: ".filesize($file_dir . $file_name));
Header("Content-Disposition: attachment; filename=" . $file_name);
// 输出文件内容
echo fread($file,filesize($file_dir . $file_name));
fclose($file);
exit;}
?>

而如果文件路径是“http”或者“ftp” 网址的话,则源代码会有少许改变,程序如下:

<?
$file_name = "info_check.exe";
$file_dir = "http://www.easycn.net/";
$file = @ fopen($file_dir . $file_name,"r");
if (!$file) {
echo "文件找不到";
} else {
Header("Content-type: application/octet-stream");
Header("Content-Disposition: attachment; filename=" . $file_name);
while (!feof ($file)) {
echo fread($file,50000);
}
fclose ($file);
}
?>

这样就可以用PHP直接输出文件了。

php如何隐藏图片的真实地址

分类: 生活点滴 发布: Slleo 浏览: 日期: 2007年5月21日

$image_path="images/"
$image_file=$image_path.$_GET['name'];
$sTmpVar = fread(fopen($image_file, 'r'), filesize($image_path));
header("Content-type: image/* ");
echo $sTmpVar;
?>

这段代码不光可以隐藏图片,代码后三行不用改,连FLASH真实地址也可以隐藏.
用这个结合其它技术可以防止盗链

纪念骑士的倒悼

分类: 生活点滴 发布: Slleo 浏览: 日期: 2007年4月26日

今天实有些无聊,于是再看看sohu的骑士,只剩下一张关掉的网页和没有什么人气的论坛了。

原来发现自己总会是不是的想起骑士来,可惜这款不错的游戏就这样倒掉了。



后跑到同学的bbs(http://kofans.cn/bbs)上看了一下,发现马服骑士也要关掉了,哎!难不成国际服也要关掉?

呼呼

宁波.app正在挖的山

分类: 生活点滴 发布: Slleo 浏览: 日期: 2007年4月25日

说是napp打算把这座山给挖了,改造别墅公寓之类。上午坐屋里还感觉到楼房在震动,像是爆山的炸药来着。


站在山脚一边拍的



山脚下也是风景



电网防火墙?


山脚随处可见的小牌子

宁波.小港.永和豆浆

分类: 生活点滴 发布: Slleo 浏览: 日期: 2007年4月24日

都是小熊的错,说什么武汉天气热,宁波更热,就把我带的唯一的一件毛衣也给留下了。宁波今天可是有些冷,单件T恤怕是顶不住的了。

中午,小港,永和豆浆,就是在这里解决午饭了。感觉这里海鲜很多,一般饭菜里都会加点海鲜类的。


这个叫:海鲜炒年糕


这个叫:海鲜排骨绘饭


这个叫:海鲜炒年糕+永和咸豆浆


04/23-->03/07-->BIRTHDAY

分类: 生活点滴 发布: Slleo 浏览: 日期: 2007年4月23日

看图











flash 避开微软新ActiveX控件升级的方法

分类: 学习 发布: Slleo 浏览: 日期: 2007年4月18日

微软为了避免与Eolas公司和加利福尼亚大学之间的专利侵权纠纷。终于发布了针对IE6浏览器的修改补丁,改变了IE对嵌入式ActiveX控件的处理方式。

打上这一补丁后,IE对ActiveX控件和Java程序的处理方式将有所改变,默认情况下不会主动激活,因此用户在访问Flash广告等网络内容时需要多点击一次鼠标,非交互式控件则不改变。

这样肯定造成一个结果,就是很多网站上应用的flash交互程序,会在同用户交互的过程中增加了一道障碍, 还好现在已经有办法使flash绕过这个障碍

首先,到这里下载 http://blog.deconcept.com/flashobject/flashobject1-3.zip

解压将其中的 flashobject.js 放在根目录下

然后在嵌入swf的页面里面加入以下两部分内容:

1.包含 flashobject.js



2.嵌入swf代码



其中第一行 var fo = new FlashObject("fo_tester.swf", "fotester", "300", "300", "8", "#FF6600");
包括了 swf文件名,宽度,高度,flash版本,背景色
第二行表示的是页面向flash传递的参数,如果没有参数,可以删除
第三,四,五行则是对flash的参数进行修改,可以实现背景透明的功能

详细用法,可以参考这里:
http://blog.deconcept.com/flashobject/

Flex RemoteObject and AMFPHP 1.9 教程

分类: 学习 发布: Slleo 浏览: 日期: 2007年4月18日

As you probably know Patrick Mineault has recently released a new version of amfphp which starts the support for Flex2.

In this tutorial we will see how to install the new amfphp release and how to works in flex2 with the RemoteObject tag using amfphp.

本教程将学习 AMFPHP1.9 及 Flex RemoteObject标签的使用方法

1. 下载并安装 amfphp

首先下载 amfphp-1.9.beta ,然后解压到php的服务器目录下,(本例为http://localhost/amfphp2)

2. 创建你的第一个 service

在 amfphp 的 services 目录下 创建 tutorials 文件夹,我们将在这里面放 php 类文件。在 tutorials 目录下新建一个php文件: HelloWorld.php

<?php
/**
* First tutorial class
*/

class HelloWorld {   
    /**     
    * first simple method     
    * @returns a string saying 'Hello World!'     
    */

    function sayHello()    {
        return "Hello World!";
        }
    }
?>

 

注意,跟以前版本的 amfphp 不同,这里不需要 $this->methodTable 数组了,amfphp 1.9 不再利用这个数组注册远程方法。在amfphp 1.9 中 所有的方法都可以被远程访问,除非你声明的方法是 private 的(只在 php5 中支持)或者方法名是以下划线("_")开始的。
我们编写的类中还利用了javadoc 注释,可以在 amfphp browser 中看到这些注释。
跟以前的amfphp 一样,你可以在http://localhost/amfphp2/browser中查看你的services
如图所示:

""

你可以看到类和方法的 javadoc 注释都被显示出来.

3. 创建一个新的Flex project

首先创建一个新的Flex project,打开 project properties(右键单击project name选择properties)。
在 Project properties 对话框中选择 Flex Build path 菜单中的 Library path,并且确认 rpc.swc 文件已经添加到你的项目路径当中.
如图

""

接下来创建服务配置文件,在你的Flex project根目录先建立services-config.xml 文件,如下

<?xml version="1.0" encoding="UTF-8"?>
<services-config>
    <services>
        <service id="amfphp-flashremoting-service" class="flex.messaging.services.RemotingService" messageTypes="flex.messaging.messages.RemotingMessage">
            <destination id="amfphp">
                <channels>
                    <channel ref="my-amfphp"/>
                </channels>
                <properties>
                    <source>*</source>
                </properties>
            </destination>
        </service>
    </services>
    <channels>
        <channel-definition id="my-amfphp" class="mx.messaging.channels.AMFChannel">
            <endpoint uri="http://alessandro-pc:8081/amfphp2/gateway.php" class="flex.messaging.endpoints.AMFEndpoint"/>
        </channel-definition>
    </channels>
</services-config>

 

再次打开 project properties 对话框 在 Flex Compiler 的Additional compiler arguments中添加字符串:

-services "services-config.xml"

 

如图

""

OK!我们已经为利用 RemoteObjects 做好了准备。

3.1 建立 mxml 文件

在 Flex project 中新建一个文件"main.mxml",

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" backgroundColor="#FFFFFF" viewSourceURL="srcview/index.html">
    <mx:Button x="170" y="157" label="sayHello" width="79"/>
    <mx:Button x="170" y="187" label="test fault"/>
    <mx:TextArea x="10" y="36" width="239" height="113" id="result_text"/>
    <mx:Label x="10" y="10" text="Result:"/>
</mx:Application>

 

我们创建了两个按钮,sayHello 按钮用来调用远程方法, testfault 按钮调用一个未定义的 php 方法以此来查看错误信息,然后这些返回结果都被显示到 TextArea 中。

下一步,继续完成这个 mxml文件。添加 RemoteObject 标签并在其中声明我们要调用的远程方法。

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" backgroundColor="#FFFFFF" viewSourceURL="srcview/index.html">
    <mx:RemoteObject id="myservice" fault="faultHandler(event)" showBusyCursor="true" source="tutorials.HelloWorld" destination="amfphp">
        <mx:method name="sayHello" result="resultHandler(event)" />
    </mx:RemoteObject>

    <mx:Script>
        <![CDATA[
            import mx.managers.CursorManager;
            import mx.rpc.events.ResultEvent;
            import mx.rpc.events.FaultEvent;
            private function faultHandler(fault:FaultEvent):void
            {
                CursorManager.removeBusyCursor();
                result_text.text = "code:\n" + fault.fault.faultCode + "\n\nMessage:\n" + fault.fault.faultString + "\n\nDetail:\n" + fault.fault.faultDetail;
            }

            private function resultHandler(evt:ResultEvent):void
            {
                result_text.text = evt.message.body.toString(); // same as: evt.result.toString();
            }
        ]]>
    </mx:Script>

 

 

 

 

    <mx:Button x="250" y="157" label="sayHello" width="79" click="myservice.getOperation('sayHello').send();"/>
    <mx:Button x="250" y="187" label="test fault" click="myservice.getOperation('foo').send(); "/>
    <mx:TextArea x="10" y="36" width="319" height="113" id="result_text"/>
    <mx:Label x="10" y="10" text="Result:"/>
</mx:Application>

 

OK,完成!

在这里要注意两点:
1. 我用 "myservice.getOperation('sayHello').send();" 来调用远程的sayHello方法,你也可以使用 "myservice.sayHello.send();" 来做同样的事情,(译者注:如果远程方法接受参数,则在send方法中传递参数,如myservice.sayHello.send(var1),多个参数之间用逗号隔开)
2. 在 resultHandler 方法中我用 evt.message.body 来访问返回信息,这里也可用 evt.result 来代替

下面解释一下 mx:RemoteObject 标签,

id="myservice" 这个不用说了
fault="faultHandler(event)", 定义错误监听器。
showBusyCursor="true", 是否在调用远程方法期间显示鼠标指针等待(忙)状态。
source="tutorials.HelloWorld" 远程service的路径
destination="amfphp" 指向 services-config.xml 文件中的 <destination>

我们已经定义了 RemoteObject 对象,接下来添加想要调用的远程方法,

在 <RemoteObject> 标签之间添加

<mx:method name="sayHello" result="resultHandler(event)" />

name 属性为远程方法名
result 属性指定接受到返回结果时触发的函数。

让我们来看一个更复杂的例子,这个例子展示了用 ArrayCollection 作为返回数据以及在Flex中使用 [RemoteClass]

在本例中,远程方法返回一个映射了类的数组(an array of mapped classes),也就是说,返回的这个数组中的每个元素都有一个AS类与之对应。

首先创建一个php类 Person.php

<?php
class Person {
    var $firstName;
    var $lastName;
    var $phone;
    var $email;
    // explicit actionscript package
    var $_explicitType = "tutorials.Person";
    }
?>

 

其中 $_explicitType 变量告诉 amfphp 这个Person类与 AS 中的 tutorials.Person 类相对应。

接下来在 amfphp/services/tutorials 目录下编写 Person 类

package tutorials
{
    [RemoteClass(alias="tutorials.Person")]
    [Bindable]
    public class Person
    {
        public var firstName:String;
        public var lastName:String;
        public var phone:String;
        public var email:String;
    }
}

 

其中
[RemoteClass(alias="tutorials.Person")]
告诉Flex 该类与一个远程对象相关联(注意,相关联的类必须有相同的结构,否则Flex 不能正确识别远程对象)

下面创建php的service文件 "PersonService.php",
这个类只有一个 getList 方法用来返回Person对象的数组

<?php
require_once "./Person.php";
class PersonService{   
    /**     
    * Get a list of people     
    * @returns An Array of Person     
    */

    function getList(){
        $people = array(
            array("Alessandro", "Crugnola", "+390332730999", "alessandro@sephiroth.it"),
            array("Patrick", "Mineault", "+1234567890", "patrick@5etdemi.com"),
        );
        $p = array();
        for($a = 0; $a <count($people); $a++){
            $person = new Person();
            $person->firstName = $people[$a][0];
            $person->lastName = $people[$a][1];
            $person->phone = $people[$a][2];
            $person->email = $people[$a][3];
            $p[] = $person;
        }
        return $p;
    }
}
?>

 

先来看一下最终的swf,然后再分析代码

3.1.1 最终 mxml 文件

完整的 main.mxml 代码如下

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" backgroundColor="#FFFFFF">
    <mx:RemoteObject id="myservice" source="tutorials.PersonService" destination="amfphp" fault="faultHandler(event)" showBusyCursor="true">
        <mx:method name="getList" result="getListHandler(event)" fault="faultHandler(event)" />
    </mx:RemoteObject>
    <mx:DataGrid x="10" y="10" width="345" id="people_list" dataProvider="{dp}" change="changeHandler(event)">
        <mx:columns>
            <mx:DataGridColumn headerText="Last name" dataField="lastName"/>
            <mx:DataGridColumn headerText="First name" dataField="firstName"/>
            <mx:DataGridColumn headerText="Telephone" dataField="phone"/>
            <mx:DataGridColumn headerText="Email" dataField="email"/>
        </mx:columns>
    </mx:DataGrid>

    <mx:Script>
        <![CDATA[
            import mx.utils.ArrayUtil;
            import tutorials.Person;
            import mx.collections.ArrayCollection;
            import mx.rpc.events.ResultEvent;
            import mx.controls.Alert;
            import mx.rpc.events.FaultEvent;

            [Bindable]
            private var dp:ArrayCollection;

            [Bindable]
            private var selectedPerson:Person;

            private function faultHandler(fault:FaultEvent):void
            {
                Alert.show(fault.fault.faultString, fault.fault.faultCode.toString());
            }

            private function getListHandler(evt:ResultEvent):void
            {
                dp = new ArrayCollection( ArrayUtil.toArray(evt.result) );
            }

            private function changeHandler(event:Event):void
            {
                selectedPerson = Person(DataGrid(event.target).selectedItem);
            }
        ]]>
    </mx:Script>
    <mx:Button x="290" y="357" label="get list" click="myservice.getOperation('getList').send();"/>
    <mx:Form x="10" y="174" width="345" height="175">
        <mx:FormHeading label="Selected Person" />
        <mx:FormItem label="First Name">
            <mx:TextInput id="person_first_name" text="{selectedPerson.firstName}" />
        </mx:FormItem>
        <mx:FormItem label="Last Name">
            <mx:TextInput id="person_last_name" text="{selectedPerson.lastName}" />
        </mx:FormItem>
        <mx:FormItem label="Telephone">
            <mx:TextInput id="person_phone" text="{selectedPerson.phone}" />
        </mx:FormItem>
        <mx:FormItem label="Email">
            <mx:TextInput id="person_email" text="{selectedPerson.email}" />
        </mx:FormItem>
    </mx:Form>
</mx:Application>

 

 

 

 

 

RemoteObject 标签 指向 tutorials/PersonService.php 类 并且定义一个方法来调用 PersonService.php 文件中的 getList 方法,当接到返回值后 getListHandler 方法会将返回值转化为 ArrayCollection 对象并且存储在变量 dp 中

最后 get list 按钮的 click="myservice.getOperation('getList').send(); 用来调用远程服务。

分页:[«][9][10][11]12[13][14][15][16][17][18][19][20][21][22][23][»]

Powered By Z-Blog 1.8 Walle Build 100427

Copyright © Slleo.com. Some Rights Reserved.