美国HostMonster主机购买流程【图解】
2008-6-4 by david
美国HostMonster主机购买流程【图解】
第一步:首先,打开HostMonster网站:HostMonster.com 点击Sign Up Now开始购买
http://www.usahost8.cn/upload/1.jpg

第二步:选择填写一个域名。左侧是注册新域名,右侧是使用自己已经注册的域名。
http://www.usahost8.cn/upload/200806031900518307.jpg

第三部:点击“Next”确认后进入下一步继续填写信息,请参考以下几图的说明根据自己的情况填写。
http://www.usahost8.cn/upload/200806031901437683.jpg
http://www.usahost8.cn/upload/4.jpg
http://www.usahost8.cn/upload/200806031902147123.jpg
第四步:如果是选择信用卡付款,确认以后就完成了购买。如果是paypal付款将进入paypal登陆页面,然后按照提示付款即可。

[ 阅读全文 ]

ASP中是如何使用存储过程的
2008-5-21 by david
Start!
下面是创建存储过程
CREATE PROCEDURE select_forum
AS
select * from forum
Go
xx.aspx
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SQL" %>
<%
dim conn as SQLConnection
dim cmd as SQLCommand
dim myreader as SQLDataReader
conn=new SQLConnectio("server=localhost;uid=sonysce;pwd=1netsg;database=1net")
cmd=new SQLCommand("select_forum",conn)
cmd.CommandType=CommandType.StoredProcedure
conn.Open()
cmd.Execute(myreader)
while myreader.Read()
Response.Write(myreader("content")&"<br>")
end while
myreader.Close()
conn.CLose()
%>

[ 阅读全文 ]

如何使用XML实现多渠道接入网站的构架
2008-5-21 by david
如何使用XML实现多渠道接入网站的构架

其实写这篇文章的目的最多的想法是把自己在去年在瑞士做项目时应用的一个框架给展现出来让大家共享,但我又有点担心我的表达能力不能将我在里面使用的思想很好的表现出来,所以迟迟不敢下笔,最后还是下了决心,写吧, 不行就在好好改改,当然也希望大家多提些意见。


一.背景

在现在的网站中,接入的渠道是越来越多了,技术也是越来越先进,WAP, SMS,EMAIL, 传统的Web, Socket等等,如果连数据库和LDAP也算接入的话,那在设计之中需要扩展的空间要做到很好很好,才保证在添加新的渠道情况下不需要更多的修改代码甚至不改代码的情况。但可能吗?我想也不可能,但有什么方式可以更好的解决这种多渠道接入的框架的完美性呢?


二.构架



【图一】

如图一所显示,在现有的所有接入都已经使用上的时候,设计者看的都眼花缭乱了,如果是为了凑份子,那这些程序怎么写都可以,而且也肯定可以实现,但维护起来就会比较痛苦,还是回到那个问题,怎么可以实现更完美呢?
在项目组的构架讨论中,我提出了路由的感念,并得到了大家统一的认可,如图二显示



【图二】


图二看起来象个八爪的章鱼,章鱼腿分别连接所有的接入渠道,进行连接所有这些渠道的核心就是这个章鱼的头XMLRouter,Router在此的作用是沟通所有渠道,实现数据的路由,争强系统在构架上的扩展性和灵活性,好处会很多很多。称呼为XMLRouter是因为如果不使用XML这种灵活而又规范的语言来做为数据传输的媒介,那Router的工作量也同样会成倍的增加,定义好XML的规范后将为以后的扩展带来很多好处.


三.思想和模式

XMLRouter的最初想法来自于计算机的主板和<<Design Pattern>>之中的Builder Pattern, 计算机主板的PCI 插槽定义了PCI的规范,只要你生产的卡符合PCI标准,那你插入到这个主板上就可以工作, 至于里面是怎么工作的则是已经封装好了. Builder Pattern则是提出将复杂的构建分离开来, 一步一步的进行实现.XMLRouter是将这些复杂的渠道分离开来,一个个的进行表现.

Services思想:为了能和Router进行沟通,在这些渠道接入时必须定义统一的接口,这里成为Services, 只要符合Services规范的程序就可以接入到Router并进行数据的路由.

Factory模式和Composite模式
XMLRouter在实际的设计中将采用Factory模式产生,Router由RouterFactory生产, 在投入使用时将放置于队列中,传递数据和接收数据以及返回数据都从队列中取相应的Router来调用,应用了Composite的模式.


四.XML配置文件

XML文件对于Router之中的使用分为两个部分, 第一个是Router的配置,如:
[pre]<?xml version="1.0" ?>
<services>
<!-- database Service -->
<service name="database" type="database" class="com.web.service.DBService">
<connector
driver="com.microsoft.jdbc.sqlserver.SQLServerDriver"
url="jdbc:microsoft:sqlserver://192.168.0.179:1433" user="test"
passwd="test" />
</service>
<!-- Web Service-->
<service name="web" type="web" class="com.web.service.WebService" >
<connector />
</service>
……
</services>[/pre]

这是Router的配置文件, service节点代表需要接入的渠道, service节点包含

connector子节点, 子节点的配置根据type来区分, 如果是database则包含url, user, passwd, driver等属性, 如果是socket则包含 port, maxthread等属性, 属性值可以根据自己的定义来配置.

另一种XML文件则是XML交易数据文件,用于在所有的services中传递数据,每个Services自己包涵一个相应的XML文件,比如webtrans.xml格式如下:
[pre]<?xml version="1.0" ?>
<transaction>
<trans name="addDoc" service="database" method="insert">
<property name="createtime" type="timestamp"/>
<property name="creatorid" type="long"/>
<property name="doctypeid" type="int"/>
<property name="docstatusid" type="int"/>
</trans>
</transaction>[/pre]
相应的dbtrans.xml格式如下
[pre] <trans name="addDoc" table="TDOC_DOCS" method="insert">
<primarykey name="docid" />
<set>
<property name="createtime" type="timestamp"/>
<property name="creatorid" type="long"/>
<property name="doctypeid" type="int"/>
<property name="docstatusid" type="int"/>
</set>
</trans>[/pre]
其余XML则可按这样的规则来定制

Ps:请参阅我之前写的文章
”使用XML封装数据库操作语句的实现”



五.技术实现


RouterFactory


<div class=codeStyle>
package com.web.router;
import com.web.platform.Exception.RouterException;
import java.util.Hashtable;

/**
* Router产生和清除的类
*/
public class RouterFactory
{

/**
* Router存储的树front
*/
private static Hashtable QueuePairFront = null;

/**
* Router存储的树back
*/
private static Hashtable QueuePairBack = null;

/**
* Router存储的树
*/
private static Hashtable QueueRouter = null;


/**
* 返回的XMLRouter
*/
public static XMLRouter instance = null;
/**
* Router的定义
*/
public static RouterDefine routerdefine = null;
/**
* Router的ID号
*/
public static long routeIndex = 0;


/**
* @roseuid 3F169C21027C
*/
public RouterFactory()
{

}

/**
* 初始化Hashtable和Vector
*/
public static void initFactory() throws Exception
{
QueuePairFront = new Hashtable();
QueuePairBack = new Hashtable();
QueueRouter = new Hashtable();
initRouteDefine();
}

/**
* 初始化Route的设置
*
*/
private static void initRouteDefine() throws Exception
{
if( routerdefine == null )
routerdefine = new RouterDefine();
routerdefine.loadRouterDef();
}


/**
* 返回实例
* @return com.web.router.XMLRouter
*/
public static XMLRouter getInstance(long index) throws RouterException
{
return (XMLRouter)QueueRouter.get(new Long(index));
}


/**
* 产生一个XMLRouter的实例
* @return com.web.router.XMLRouter
* @roseuid 3F1618A103BC
*/
public static XMLRouter popInstance() throws RouterException
{
routeIndex ++;
instance = new XMLRouter(routeIndex);
setDefine( instance );
QueueRouter.put(new Long(routeIndex), instance);
return instance;
}

/**
* 清空Hashtable,Vector等
* @roseuid 3F1618B203C1
*/
private static void freeResource() throws Exception
{
QueuePairFront.clear();
QueuePairBack.clear();
QueueRouter.clear();
QueuePairFront = QueuePairBack = QueueRouter = null;
}

/**
* 清除实例
* @param instanceID
* @throws Exception
*/
public static void removeInstance(XMLRouter instance) throws Exception
{
instance.clear();
QueueRouter.remove( new Long(instance.getIndex() ) ) ;
}


/**
* Method isNull.
* @return boolean
*/
public static boolean isNull()
{
……
return false;
}
}




XMLRouter


<div class=codeStyle>
package com.web.router;

import com.web.platform.Exception.RouterException;
import com.web.common.*;
import java.util.*;
import java.lang.reflect.Method;
import java.lang.reflect.Constructor;

/**
* @author keli
* @version 0.0.1
* 平台的关键,路由的类,每个Router将从RouterFactory里读取
* Router存储的树front,和back,routeIndex,目的是为了能在路由
* 之后可以清除申请的对象。
* Router可以实现同步和异步的功能.
*/
public class XMLRouter
{
/**
* Router存储的树front
*/
private static Hashtable QueuePairFront = null;

/**
* Router存储的树back
*/
private static Hashtable QueuePairBack = null;

/**
* 本router的index号码
*/
private long routeIndex = 0;

/**
* router的设置
*/
private RouterDefine define = null;

/**
* 用于判断是路由的起回点
*/
private String action = "";

/**
*此变量只是用于在routeto方法中申请新的class
*/
private String classname = "";

/**
*/
public XMLRouter(long index)
{
routeIndex = index;
}

/**
* 路由
* @throws Exception
* @roseuid 3F1616BD0186
*/
public void routing(Env env) throws RouterException, Exception
{
/*如果为起点*/
if( action.equalsIgnoreCase( RouterConstant.CFG_FUNC_ROUTETO ) )
{
……
}
/*如果为返回点*/
else if( action.equalsIgnoreCase( RouterConstant.CFG_FUNC_ROUTEBACK ) )
{
……
}
/*否则为错误*/
else
throw new RouterException("Set Router action error.");
}



/**
* 读取本Router的id号.
* @return long
*/
public long getIndex()
{
return routeIndex;
}


/**
* 清除所有对象.
* @throws RouterException
*/
public void clear() throws RouterException
{
QueuePairFront.remove(new Long(routeIndex));
QueuePairBack.remove(new Long(routeIndex));
/*系统回收*/
System.runFinalization();
}


/**
* 设置本Router的设置.
* @param def
* @throws RouterException
*/
public void setDefine(RouterDefine def) throws RouterException
{
define = def;
}

/**
* 设置action的值
* @param actionName
* @throws RouterException
*/
public void setAction( String actionName )
{
action = actionName;
}
}

[h5]Service类[/h5]
package com.web.common;

import com.web.platform.Exception.RouterException;

/**
* Service的父类,abstract
*/
public abstract class RouteService
{

/**
*/
public RouteService()
{

}

/**
* routeTo方法,是交易的起点。
* @param env
* @throws RouterException
*/
public abstract void routeto(Env env) throws RouterException;

/**
* routeBack,交易的结束点,
* @param env
* @throws RouterException
*/
public abstract void routeback(Env env) throws RouterException;


/**
* routeaccept方法,是交易的接收点,也是routeto的接收函数,
* routeaccept为被动交易对象的主要处理函数
* @param env
* @throws RouterException
*/
public abstract void routeaccept(Env env) throws RouterException;

/**
* routing方法,是Service对外的接口函数
* @throws RouterException
*/
public abstract void routing() throws RouterException;
}


接下来则需要实现所有的Services的类了,这里就不做介绍了.


六.说明
..........

[ 阅读全文 ]

使用XML封装数据库操作语句的实现(完全版)--发布源码
2008-5-21 by david
在项目开发的过程当中,项目组开发成员的编程风格差异和数据库操作语句SQL的灵活性给项目组带来了越来越多的操作和维护难度。
比如:
从user表中取出所有数据,有的人会写成 ’ select * from user’ ,有的人会写成 ‘select all from user’,虽然在操作中不会有任何的错误,但在其他人读程序的过程时就会产生不好的感觉。
如果这种程序差异在项目中的数量级很多,那么在开发的过程当中程序就会出现各种各样的风格,在维护的过程中就会拼命的挠头并诅咒那些当初写程序的人(呵呵,至少我会毫不客气的骂人的)。

为了整篇文章的举例,现在我们在数据库中建立如下表
TBL_USER
USERID BIGINT
USERNAME VARCHAR(20)
PASSWORD VARCHAR(20)
CREATETIME DATE

TBL_USER_INFO
USERID BIGINT
EMAIL VARCHAR(64)
MOBILE VARCHAR(13)


一:分析



A) 分析select语句

于是使用XML来封装数据库操作语句成为项目规范化操作的第一步骤。在这个步骤中,我们将举几个例子来逐步实现封装的目的。
比如 “ SELECT USERNAME, PASSWORD FROM TBL_USER ” 这个语句,分析成XML文件时可以有各种各样的写法,我们现在使用如下的表达方式:
分析1)
1 <dbtrans name=”selectUser” table=”TBL_USER” method=”select”>
2 <get>
3 <property name=”username” type=”string”/>
4 <property name=”password” type=”string”/>
5 </get>
6 </dbtrans>
在第一行的句子中使用 dbtrans 为节点名称,
属性name为这个交易的名称,这里为”selectUser”,
属性table为索取表的名称,这里为”TBL_USER”,
属性method为操作数据库的方法,这里为”select”,
子节点<get></get>意思为从数据库读取数据。
子节点<property />为读取的数据库字段,其中:
属性name为字段的名字,
属性type 为字段的类型,这里设置类型在后面的程序中可以体现出来。

对于” SELECT USERNAME, PASSWORD FROM TBL_USER WHERE USERID=123 “语句,我们根据上诉的分析,则可将XML描绘为:
分析2)
1. <dbtrans name=”selectUserByKey” table=”TBL_USER” method=”select”>
2. <key>
3 <property name=”userid” type=”long”/>
4 </key>
5 <get>
6 <property name=”username” type=”string”/>
7 <property name=”password” type=”string”/>
8 </get>
9 </dbtrans>
如果使用的是like操作,我们可以将第3句描述成为
<property name=”username” type=”string” match=”like”/>

对于” SELECT USERNAME, PASSWORD FROM TBL_USER ORDER BY USERNAME DESC “这个语句,XML如下分析
分析3)
1. <dbtrans name=”selectUser” table=”TBL_USER” method=”select”>
2 <get>
3 <property name=”username” type=”string”/>
4 <property name=”password” type=”string”/>
5 </get>
6 <order name="respcode" match="desc" />
6 </dbtrans>

这样的语句分析基本上可以完成了绝大部分的普通数据库的select语句的操作,但是毕竟还是会有一些我们无法预料的数据库操作语句会出现,比如
“SELECT USERNAME, PASSWORD FROM TBL_USER WHERE CREATETIME >’2003-7-16’ AND CREATETIME<’2003-9-16’时,同时出现了CREATETIME在 <key>之中,这时我们可以将XML描绘成为
<key>
<property name=”starttime” column=”createtime” type=”date” match=”>”>
<property name=”endtime” column=”createtime” type=”date” match=”<”>
</key>
...............

[ 阅读全文 ]

XmlHttp异步获取网站数据的例子
2008-5-21 by david
本文放在这里,算作一个备份吧。

<script>
var oDiv
var xh
function getXML()
{
oDiv = document.all.m
oDiv.innerHTML = "正在装载栏目数据,请稍侯......."
oDiv.style.display= ""
xh = new ActiveXObject("Microsoft.XMLHTTP")
xh.onreadystatechange = getReady
xh.open("GET",a.value,true)
xh.send()

}

function getReady()
{
if(xh.readyState==4)
{
if(xh.status==200)
{

oDiv.innerHTML = "完成"
}
else
{
oDiv.innerHTML = "抱歉,装载数据失败。原因:" + xh.statusText
}
}
}
</script>
<body>
xmlhttp异步的例子:
URL:<input name=a value="http://www.microsoft.com" style="width:600px">
<input onclick="getXML()" type="button" value="得到源代码">
<input onclick="if(xh && xh.responseText) {alert(xh.responseText);oDiv.innerHTML=xh.responseText}" type="button" value="显示源代码">
<div id=m></div>

<div id="m">

[ 阅读全文 ]

中国地震死亡人数初步统计
2008-5-15 by david
新闻中心中国国有新华通讯社援引权威消息报导称,截至14日下午2点中国地震死亡人数已升至14,866人。其中,四川省死亡人数达14,463人,甘肃省有280人,陕西省106人,重庆市14人,河南省两人,云南省1人。另外,根据四川省政府的情况通报,四川因地震灾害仍有25,788人被埋。

中国国有新华通讯社援引权威消息报导称,截至14日下午2点中国地震死亡人数已升至14,866人。

其中,四川省死亡人数达14,463人,甘肃省有280人,陕西省106人,重庆市14人,河南省两人,云南省1人。

另外,根据四川省政府的情况通报,四川因地震灾害仍有25,788人被埋。

[ 阅读全文 ]

四川汶川强震致全省近万人死亡
2008-5-13 by david
新华网北京5月13日电 北京时间5月12日14时28分,在四川省汶川县(北纬31度,东经103.4度)发生7.8级地震。地震发生后,中共中央总书记胡锦涛立即作出重要指示,要求尽快抢救伤员,确保证灾区人民群众生命安全。国务院总理温家宝已赴四川地震灾区,现场指挥抗震救灾工作。

  记者从四川省地震局了解到,截至12日17时28分,发生300多次余震,最大震级6级。这次地震是继1976年四川松潘、平武两县发生7.6级地震以来,近3年发生的四川省内首次7级以上地震。

  记者从抗震救灾指挥部获悉,截至13日零时,四川地震灾区已发现死亡人数近万名,甘肃、陕西等其他地区死亡人数180多名。

  四川汶川地震发生后,中国地震局已启动一级预案。由中国地震局12人、北京军区某部工兵团150人和武警总医院22人组成的国家地震灾害紧急救援队陆续奔赴汶川灾区,负责搜索、营救和医疗救护任务。

  根据《国家自然灾害救助应急预案》,国家减灾委紧急启动国家一级救灾应急响应,并组成救灾工作组即赴四川汶川灾区,协助指导抗震救灾工作。民政部已紧急调拨25000顶救灾帐篷支援四川灾区,其他救灾物资正在调集运输中。

  地震发生后,四川各方面紧急行动起来,展开救灾工作。其他相关省份和中央有关部门也立即展开了相应工作。

  记者从军队处置突发事件应急办公室了解到,地震发生后,解放军总参谋部立即发出指示,要求成都军区、空军和武警部队坚决贯彻胡锦涛主席的重要指示,迅速组织灾区驻军全力投入抗震救灾,尽快抢救伤员,保证灾区人民生命安全,最大限度减少损失。总参谋部立即启动应急预案。成都军区紧急出动6100余名官兵赶赴灾区参加抗震救灾。

  北京通州也发生3.9级有感地震,天津地区震感明显。

[ 阅读全文 ]


使用ASP建设私人搜索引擎
2008-5-9 by david
使用ASP建设私人搜索引擎

  很多网络爱好者在创建自己的个人主页时,都绞尽脑汁让自己网站的功能更全面。在此,笔者介绍一种使用ASP建立自己的搜索引擎的方法。

  基本思路 利用表单将用户提交的搜索关键字存储在变量中,并提交给ASP脚本处理。利用ASP内建的“REQUEST”对象获取变量中的关键字符,随后用“RESPONSE”的“REDIRECT”函数将关键字符转向提交到其他的诸如搜狐、网易等专业搜索引擎中,即可得出搜索结果。使得访客在自己的主页上就可方便地使用各大搜索引擎,无需登录其主页面。

第一步 创建搜索引擎的主页面。在HTML文件的和之间加入代码如下:


< form name="form1" method="post" action="search.asp" >

< div align="center" >请选择您喜欢的搜索引擎< br >< br >

< select name="select" size="1" >

< option >搜狐< /option >

< option >新浪(北京站)< /option >

< option >网易< /option >

< /select >< br >< br >

请键入您要查询的关键字< br >

< input type="text" name="textfield" >

< br >< br >

< input type="submit" name="Submit" style="color:#CC0033;background-color: #ffffff;font-size:9pt;border:#CC0033 1px solid;height:18px"value="搜 索 " >

< /form >

  在此,我们提供了搜狐、新浪、网易3种搜索引擎供用户选择,用户键入关键字串后,表单将请求提交到后台的 search.asp 处理。

第二步 编写后台的ASP程序。在HTML文件的< body >和< /body >之间加入下列代码:


< % if request.form("select")="搜狐" then response.redirect("http://site.search.sohu.com/
sitesearch.jsp?key_word="&&request.form("textfield")) end if

if request.form("select")="新浪(北京站)" then response.redirect("http://site.search.sohu.com/
sitesearch.jsp?key_word="&&request.form("textfield")) end if

if request.form ("select")="网易" then response.redirect("http://search.163.com/cgi- bin/search/engine/search2.fcgi?lang=gb&&key="&&request.form("textfield")) end if

% >

  在实现提交搜索字串到其他搜索引擎时,很关键的一点就是要明白这些搜索引擎所使用的查询格式。如搜狐用的就是“http: //site.search.sohu.com/sitesearch.jsp?key_word=”搜索字串 。我们只需平时在使用这些搜索引擎时注意一下,给出搜索结果时把IE地址栏中的地址记录下来分析,去掉后面的诸如“%C1%F5%……”字符(这是我们提交的搜索字串转换成的字符),即可得到查询格式(如图1)。
javascript:window.open(this.src);"/>

  另外,很多搜索引擎使用了分类查找。可细分为“网站”、“网页”、“新闻”等类别,每一种类的查询格式均不相同,读者可以使用更多的IF语句建立选择项,实现同一搜索引擎内搜索种类的细分。

  同理,我们还可把这个程序进行扩充,把其他的搜索引擎加入,使其功能更为强大。

[ 阅读全文 ]

家乐福网站再次被“黑” 发公告称正在维护
2008-4-19 by david
月18日下午,搜狐IT发现,家乐福网站再度被“黑”,具体表现为,打开其官方网站,显示出“无法显示网页”的消息。而据其他网友反映,这一情况从18日早晨就开始出现。

  下午稍晚的时候,家乐福官方网站在首页上发布公告称家乐福内部正在进行网站的维护与更新。同时,该公告称,“本次维护与更新将维持一段时间,等维护更新完成后,将立刻把网站恢复继续提供服务”。



家乐福网站公告

  据悉,4月17日,家乐福中国首页曾经被黑,,出现“抵制家乐福”的口号。家乐福网站页面上方出现大片白色背景和黑色字体,以诗歌的形式号召中国消费者抵制家乐福。诗歌的大体内容为,“如果你为了看到自己国家的火炬,而被警察扔催泪弹”、“如果桥上的巴黎人都向你扔垃圾”……“如果……你都没有反应,那我无语了。”下方促销内容仍然正常。15点10分左右,该背景消失,家乐福中国页面开始恢复正常。

  此次是家乐福官方网站近日来第二次陷入瘫痪状态。

[ 阅读全文 ]

骗子可假冒亲友手机号骗取钱财
2008-4-16 by david
来电显示是“亲戚”的,但声音不对,广州市民唐先生以为真的是“亲戚”开车撞到人急得声音都变了,马上汇款5800元给对方免牢狱之灾。汇完后回拨电话,真正的亲戚说没这回事。唐先生致电10086移动客服中心,得知现在有一种手机改号软件在销售,被人用来诈骗。

  记者用Google搜索“手机改号软件”,有52.6万项搜索结果。其中某软件公司经理称,该软件普通版卖300元,“我们已经做了一年多了。”

  昨日, 记者用Google搜索“手机改号软件”,有52.6万项搜索结果,销售“手机改号软件”的公司很多。记者抄下了两家公司的通讯方式并进行了调查。

  据了解,目前这种软件可分为三类,第一种叫电脑版本,是要上网才能使用的;第二种叫手机普通版本,在手机上使用,但需要和电脑连接才能改号;第三种是高级手机版本,可以直接在手机上改号,价钱从200元至600元不等。

  记者接到伪装座机号

  随后,记者拨打了一家名为“广州市话通网络有限公司”经理的电话,该王姓经理直言不讳地承认有此软件出售,并主动说普通版售价300元,买多还可以优惠,“只要你确定买,把300元打过来,还有把你希望绑定的手机号码发过来,我们马上就可以为你开通改号功能。300元里面100元是话费,国内拨打都是每分钟2角,用完了我们再帮你充值。”面对记者对他诚信的质疑,王经理自信满满地说:“我们已经做了一年多了,从没有食言,你考虑清楚要买了再给我打电话。”记者表示决定要买了之后,王经理便把一个工行的卡号发到记者的手机上。

  记者提出要试用一下然后再提货,王经理马上一口回绝:“这个软件没有试用也不用提货,只要你把钱汇来,我们就会在公司这边帮你绑定。不过,我可以用你提供的号码打你的手机试试看。”记者说了个固定电话号码后挂掉电话后,手机真的响了起来,号码竟然真的是记者提供的就在记者身旁的固定电话!

  接着,记者又拨打了一家名为“中泰卧底软件”的软件公司咨询,接电话的男子向记者介绍起该软件的使用方法,他说,如果客户购买就能从他那里得到账号密码,然后通过软件公司提供的网站后台设置好客户想显示的号码,使用时先用绑定过的手机拨打服务器号码,听到系统提示音后挂断,服务器就会把电话打回来,客户接听,接着客户就可以拨打对方的电话。拨打的时候,要像平时打长途的方式,拨打手机加0,拨打座机或小灵通加上区号,然后摁“#”字键就可以通话。

  “出发点不是供人诈骗”

  在调查的过程中,记者对该软件的合法性提出质疑,“话通网络”的王经理称,这个软件没有明令禁止,但是也不是很合法,这要看你怎么看怎么用了,如果你只是想和您的朋友开个玩笑或者用做商业用途摸底调查同行情况等应该不犯法,但是利用该软件来做诈骗之类的就犯法了,这他们不能排除但也控制不了。

  而“中泰卧底软件”的销售人员则称,他们的出发点并不是让人拿去诈骗,相反他们还在自己的网站上刊登媒体的一些利用该软件诈骗的报道来提示客户或者网友。

[ 阅读全文 ]

david
ID: david55

居住

注册
2008-4-7

+关注

关于我们 联系我们 常见问题 用户条款 隐私政策 工具 支持者 手机版  在微博
   订阅本站到:
Copyright ©2005 -2012 DIGLOG.COM All Rights Reserved.
备案 ICP备10208362号 · 渝公网备500106015-00086

Server:94ms & Client:ms