banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Messages posted by: Un-Known  XML
Profile for Un-Known Messages posted by Un-Known [ number of posts not being displayed on this page: 1 ]
 
Anh Bigball có thể leech cái link này dùm được không ahsmilie
Mình muốn kiếm một số tài liệu về C++.Net. Các bạn nào có thì share cho mình với. Cảm ơn nhiều
Em cũng đồng ý với quan điểm : cần chất lượng hơn số lượng. Việc điều hợp account âu cũng là một việc nên làm trong thời điểm này nhắm phát triển hơn nữa diễn đàn.

Nhưng,xin cho em hỏi một số vấn đề :
- Số lượng account ảo của diễn đàn từ trước đến giờ sẽ xử lý ra sao.
- Có cần xét duyệt lại acc đã đăng kí trước ngày 25/09 để cho phù hợp với nội quy của HVA và phù hợp với tinh thần điều hợp account không ạ.
- Sau khi điều hợp account - Tỷ lệ % tham gia , người theo dõi/ 1 Box Kĩ Thuât có tăng lên hơn so với box Tán gẫu không ah? Vì em có để ý thấy tỉ lệ bài viết mới/ bài viết trả lời trong các box kĩ thuật / 1 ngày không bằng 1 box Tán gẫu. Vậy điều đó có nghĩa là sao? Và sẽ như thế nào sau ngày 25/09.
Sao bài này vẫn chưa bị Move vào Trash nhỉ
Dạ. Cảm ơn anh mulan. Dạo này có vợ con nên bận bịu hơn anh ạ smilie
Hi
Cảm ơn bác gsmth đã kiếm.
Mình đã kiếm ra rồi. Mình lên trang www.driverguide.com, sau đó mình down cái phần mềm driver scan của nó về. Và đã quét ra rồi, thằng đó là ZC0303 smilie...

Do mất đĩa driver của thằng webcam này nên mình không có driver để cài đặt. Lên mạng tìm thì không biết rõ version của nó vì nó chỉ có ghi mỗi dòng chữ Vimicro inside phía dưới. Nó là webcam có 4 đèn. Ai có driver của nó thì cho mình xin. Cảm ơn nhiều
http://us.mcafee.com/virusInfo/default.asp?id=description&virus_k=136318

anh coi ở đây nha. Chứ em không có mẫu vì bị BKAV nó diệt mất rồi smilie
Fire-Lion của anh Hoàng (updated ngày 14/08/2007) không diệt được con W32.RontokbroBK
Triệu chứng :
- Khóa Registry
- Mở Task manager lên, vào phần Process để xem, thì chưa kịp kill process thì nó đã bị tắt mất . Và sau đó là một màn hình kiểu console nó hiện lên 1 tí rồi tắt
- Vào Windows Explorer, vừa chọn tab View File để chọn Show all hidden files thì nó tắt luôn WE.

Mấy bồ đi so sánh như vậy chẳng khác gì việc so sánh vợ mình với vợ người ta. Mỗi cái đều có đặc điểm và tính năng riêng của nó. Tùy vào mục đích mà mình sử dụng cho nó phù hợp.
Cái gì viết ra mà ít chức năng quá thì cũng bị than, cái nào mà thừa quá cũng bị than...Chỉ nói một điều thôi:"Tùy hoàn cảnh,tùy mục đích , tùy cách thức và phương thức sử dụng mà có 1 lựa chọn đúng và sử dụng thích hợp"..
Cảm ơn bạn đã cho mình những góp ý này. Mình sẽ hoàn thiện tiếp kĩ năng của mình.

Chú ý một lần nữa :

- Mình có ghi rõ nguồn gốc của bài viết ..

- Các bạn đọc code này chỉ để tham khảo, hãy tùy biến lại cho nó phù hợp và tốt nhất có thể. Tốt nhất là tham khảo bài của bạn Seii TaiShogun để chỉnh lại cho tốt hơn.

- Nếu các bạn có code hoặc phương án gì hay và tối ưu hơn về vấn đề này thì có thể post vào đây để cùng thảo luận - tránh tình trạng bị loãng .

Cảm ơn các bạn đã quan tâm.
Ok. Như mình đã nói ở ban đầu, code này chỉ mang tính tham khảo và học hỏi. Và nếu ai phát hiện gì nghiêm trọng thì có thể report ở đây, để mọi người cùng học hỏi thêm.

Trình độ của mình chỉ mới là newbie, nên cũng không thể kỹ lưỡng được, tiện đây bạn có thể nói chi tiết thêm được không. Những thông tin như thế này sẽ rất tốt cho những người như mình. Cảm ơn bạn
Bạn coi kĩ lại bài viết rồi nói smilie....
Cảm ơn bạn đã góp ý.
Mình cũng đã lên site maxmind.com thì thấy nó ghi là :
Downloadable Database: $50/site license, includes first month of updates. 


Thật ra nếu bạn nhác update bằng tay hằng tháng smilie thì bạn có thể lên trang này tham khảo : http://www.hostip.info nha. Bạn không cần làm gì cả, nó tự update luôn smilie ...
Note : Thằng này nó free nhưng check dở hơn thằng mình đưa ở bài viết đầu... nhưng được cái nó tiện lợi là khỏi update manual....

Tiện thể đây, mình xin hướng dẫn luôn cách check ip bằng cách dùng thằng hostip.info

Chú ý : Nguồn từ hostip.info
Ngôn ngữ mình dùng : PHP

Bước đầu tiên : bạn tạo trang index.php ( hoặc bạn có thể add vào ở trang nào đó của bạn cũng được. Nội dung như sau

Code:
<?php
define("IP", 0);
define("CITYSTATE", 1);
define("COUNTRY", 2);
define("CC", 3);
define("LATLON", 4);
function getip() {
if (isSet($_SERVER)) {
if (isSet($_SERVER["HTTP_X_FORWARDED_FOR"])) {
$realip = $_SERVER["HTTP_X_FORWARDED_FOR"];
} elseif (isSet($_SERVER["HTTP_CLIENT_IP"])) {
$realip = $_SERVER["HTTP_CLIENT_IP"];
} else {
$realip = $_SERVER["REMOTE_ADDR"];
}
} else {
if ( getenv( 'HTTP_X_FORWARDED_FOR' ) ) {
$realip = getenv( 'HTTP_X_FORWARDED_FOR' );
} elseif ( getenv( 'HTTP_CLIENT_IP' ) ) {
$realip = getenv( 'HTTP_CLIENT_IP' );
} else {
$realip = getenv( 'REMOTE_ADDR' );
}
}
return $realip;
}
//Hàm này dùng để đọc kết quả check IP từ trang http://www.hostip.info
// ở dạng XML -- Nó dùng hàm của một source để ghet info của trang XML
// đó -- Bạn đọc ở dưới sẽ rõ.
function get_ip_geo_info($ip) {
include_once 'clsParseXML.php';
$url = "http://api.hostip.info/get_xml.php?ip=$ip&position";
$xmlparse = &new ParseXML;
$xml = $xmlparse->GetXMLTree($url);
$result[IP] = $ip;
if (isset($xml['HOSTIPLOOKUPRESULTSET'][0]['GML:FEATUREMEMBER'][0]['HOSTIP'][0]['GML:NAME'][0]['VALUE'])) $result[CITYSTATE] = $xml['HOSTIPLOOKUPRESULTSET'][0]['GML:FEATUREMEMBER'][0]['HOSTIP'][0]['GML:NAME'][0]['VALUE'];
if (isset($xml['HOSTIPLOOKUPRESULTSET'][0]['GML:FEATUREMEMBER'][0]['HOSTIP'][0]['COUNTRYNAME'][0]['VALUE'])) $result[COUNTRY] = $xml['HOSTIPLOOKUPRESULTSET'][0]['GML:FEATUREMEMBER'][0]['HOSTIP'][0]['COUNTRYNAME'][0]['VALUE'];
if (isset($xml['HOSTIPLOOKUPRESULTSET'][0]['GML:FEATUREMEMBER'][0]['HOSTIP'][0]['COUNTRYABBREV'][0]['VALUE'])) $result[CC] = $xml['HOSTIPLOOKUPRESULTSET'][0]['GML:FEATUREMEMBER'][0]['HOSTIP'][0]['COUNTRYABBREV'][0]['VALUE'];
if (isset($xml['HOSTIPLOOKUPRESULTSET'][0]['GML:FEATUREMEMBER'][0]['HOSTIP'][0]['IPLOCATION'][0]['GMLsmilieOINTPROPERTY'][0]['GMLsmilieOINT'][0]['GML:COORDINATES'][0]['VALUE'])) {
$result[LATLON] = explode(",", $xml['HOSTIPLOOKUPRESULTSET'][0]['GML:FEATUREMEMBER'][0]['HOSTIP'][0]['IPLOCATION'][0]['GMLsmilieOINTPROPERTY'][0]['GMLsmilieOINT'][0]['GML:COORDINATES'][0]['VALUE']);
}
return $result;
}
$ipcheck = getip();
$iptolocation = get_ip_geo_info($ipcheck);
print "$iptolocation[IP] - $iptolocation[COUNTRY]";
?>


Bước thứ 2 : Nhưng trong trang index.php đó của bạn có dòng
Code:
include_once 'clsParseXML.php';


Có nghĩa là nó dùng một hàm nào đó trong file clsParseXML.php

Và đây là source của clsParseXML.php
Nguồn : http://www.phpfreaks.com/files/clsParseXML.zip

Code:
<?php
class ParseXML{
function GetChildren($vals, &$i) {
$children = array(); // Contains node data
if (isset($vals[$i]['value'])){
$children['VALUE'] = $vals[$i]['value'];
}
while (++$i < count($vals)){
switch ($vals[$i]['type']){
case 'cdata':
if (isset($children['VALUE'])){
$children['VALUE'] .= $vals[$i]['value'];
} else {
$children['VALUE'] = $vals[$i]['value'];
}
break;
case 'complete':
if (isset($vals[$i]['attributes'])) {
$children[$vals[$i]['tag']][]['ATTRIBUTES'] = $vals[$i]['attributes'];
$index = count($children[$vals[$i]['tag']])-1;
if (isset($vals[$i]['value'])){
$children[$vals[$i]['tag']][$index]['VALUE'] = $vals[$i]['value'];
} else {
$children[$vals[$i]['tag']][$index]['VALUE'] = '';
}
} else {
if (isset($vals[$i]['value'])){
$children[$vals[$i]['tag']][]['VALUE'] = $vals[$i]['value'];
} else {
$children[$vals[$i]['tag']][]['VALUE'] = '';
}
}
break;
case 'open':
if (isset($vals[$i]['attributes'])) {
$children[$vals[$i]['tag']][]['ATTRIBUTES'] = $vals[$i]['attributes'];
$index = count($children[$vals[$i]['tag']])-1;
$children[$vals[$i]['tag']][$index] = array_merge($children[$vals[$i]['tag']][$index],$this->GetChildren($vals, $i));
} else {
$children[$vals[$i]['tag']][] = $this->GetChildren($vals, $i);
}
break;
case 'close':
return $children;
}
}
}
function GetXMLTree($xmlloc){
if (file_exists($xmlloc)){
$data = implode('', file($xmlloc));
} else {
$fp = fopen($xmlloc,'r');
while(!feof($fp)){
$data = $data . fread($fp, 1024);
}
fclose($fp);
}
$parser = xml_parser_create('ISO-8859-1');
xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);
xml_parse_into_struct($parser, $data, $vals, $index);
xml_parser_free($parser);
$tree = array();
$i = 0;
if (isset($vals[$i]['attributes'])) {
$tree[$vals[$i]['tag']][]['ATTRIBUTES'] = $vals[$i]['attributes'];
$index = count($tree[$vals[$i]['tag']])-1;
$tree[$vals[$i]['tag']][$index] = array_merge($tree[$vals[$i]['tag']][$index], $this->GetChildren($vals, $i));
} else {
$tree[$vals[$i]['tag']][] = $this->GetChildren($vals, $i);
}
return $tree;
}
}


Các bạn up 2 file đó chung một thư mục. Còn nếu để ở 2 nơi khác nhau thì bạn nhớ khai báo đường dẫn tới chố để file clsParseXML.php trong index.php lại nha.

Chúc vui vẻ, cảm ơn đã đọc.
Mục đích : Giúp bạn kiểm tra IP - Location của người dùng để có thể phát triển các ứng dụng web của các bạn.Ví dụ : Bạn có 2 trang web tiếng anh và tiếng việt, bạn muốn những người dùng của bạn khi ở VN truy cập vào website của bạn thì sẽ được trỏ tới web atiếng việt và ngược lại là trỏ vào web tiếng anh.

Nguồn : www.webhosting.info .

Cần làm : Bạn lên site mà mình đã đưa bạn để download IP database về.
Sau đó dùng source này để convert qua SQL.

Code:
?
/*
CSV import script for PHP4/5, Willem Spruijt, 2005
Assuming that your ip-to-country table is created using this query:
CREATE TABLE iptocountry
(ip_from int(4) unsigned,
ip_to int(4) unsigned,
country_code2 char(2),
country_code3 char(3),
country_name varchar(50));
*/
/*
Defines
*/
define("SOURCE_FILENAME", "ip-to-country.csv"); // IP database
define("SEPERATOR_COL", ",");
define("SEPERATOR_ROW", "\n");
/*
Open database connexion & cleanup
*/
mysql_connect("sernam", "userdb", "passworddb");
mysql_select_db("database name của bạn");
mysql_query("DELETE FROM iptocountry") or die (mysql_error());
/*
Open file for reading
*/
ini_set("memory_limit","120M");
$fhFile = fopen(SOURCE_FILENAME, "r") or die ("Error opening ".SOURCE_FILENAME);
$sData = fread($fhFile, filesize(SOURCE_FILENAME));
$aData = explode(SEPERATOR_ROW, $sData);
$count=0;
$checkc2='VN';
$checkc2="'".$checkc2."'";
$checkc3='VNM';
$checkc3="'".$checkc3."'";
foreach($aData as $sRow) {
$aRow = explode(SEPERATOR_COL, $sRow);
/* Prepare values for query */
foreach($aRow as $sKey => $sValue) {
$sValue = str_replace("\"", "", $sValue);
$sValue = addslashes($sValue);
$aRow[$sKey] = "'".$sValue."'";
}
list($sIpFrom, $sIpTo, $sCountryCode2, $sCountryCode3, $sCountryName) = $aRow;
if ($sCountryCode2==$checkc2 or $sCountryCode3==$checkc3)
{
$sQuery = "INSERT INTO iptocountry
(ip_from,
ip_to,
country_code2,
country_code3,
country_name)
VALUES
(".$sIpFrom.",
".$sIpTo.",
".$sCountryCode2.",
".$sCountryCode3.",
".$sCountryName.");";
mysql_query($sQuery) or die (mysql_error());
}
}
?>


Trong đoạn code đó, mình có chỉnh sưa theo yêu cầu của mình, nên các bạn edit lại cho phù hợp với yêu cầu của bạn.

Source : Đọc thông tin từ DB lưu những gì mình đã convert vào.
Code:
<?php
// Hàm này dùng để lấy địa chỉ IP của người dùng khi truy cập vào site
// Các bạn có thể tham khảo thêm tại www.php.net để biết rõ hơn
function getip() {
if (isSet($_SERVER)) {
if (isSet($_SERVER["HTTP_X_FORWARDED_FOR"])) {
$realip = $_SERVER["HTTP_X_FORWARDED_FOR"];
} elseif (isSet($_SERVER["HTTP_CLIENT_IP"])) {
$realip = $_SERVER["HTTP_CLIENT_IP"];
} else {
$realip = $_SERVER["REMOTE_ADDR"];
}
} else {
if ( getenv( 'HTTP_X_FORWARDED_FOR' ) ) {
$realip = getenv( 'HTTP_X_FORWARDED_FOR' );
} elseif ( getenv( 'HTTP_CLIENT_IP' ) ) {
$realip = getenv( 'HTTP_CLIENT_IP' );
} else {
$realip = getenv( 'REMOTE_ADDR' );
}
}
$ipthuc=ip2long($realip);
return $realip;
}
$ipthuc=getip();
$findip=ip2long($ipthuc); // hàm ip2long dùng chuyển địa chỉ IP --> số int
// vì do kiểu int là kiểu có dấu nên đôi khi với một địa chỉ IP, nó chuyển
// qua sẽ có dấu âm, nên bạn phải dùng sprintf("%u",int) để unsigned dấu
$findip = sprintf("%u", ip2long($ipthuc));
mysql_connect("servername","userdb","passworddb");
mysql_select_db("databasename");
// kiểm tra xem IP có nằm trong đó DB không
$country_query = "SELECT country_code2,country_code3 FROM iptocountry ".
"WHERE ip_from<=$findip ". // nó thuộc trong dãy IP không
"AND ip_to>=$findip";
$country_exec = mysql_query($country_query) or die (mysql_error());
$numrows=mysql_num_rows($country_exec);
$country_c2='O';
$country_c3='O';
if ($numrows!=0)
{
$ccode_array=mysql_fetch_array($country_exec);
$country_c2=$ccode_array['country_code2'];
$country_c3=$ccode_array['country_code3'];
}
$cc2='VN';
$cc3='VNM';
if ($country_c2==$cc2 or $country_c3==$cc3)
{
header("Location: www.domain/tiengviet.php") ;
} else
{
header("Location: www.domain/tienganh.php") ;
}
?>

Source ở trên mình làm theo yêu cầu của mình, nên các bạn có thể edit lại để phục vụ yêu cầu của các bạn.

Đây là bài viết mang tính chia sẻ và học hỏi. Nếu có gì sai sót hoặc có lỗi nghiêm trọng thì mong được các bạn góp ý giúp đỡ.

MQK

Cụ thể là :
Em có một trang web đặt ở 1 host ở Mĩ với domain http://www.abc.com chẳng hạn .Và website của em có 2 phiên bản tiếng anh và tiếng việt. Em muốn biết cách là làm sao để 1 người ở Việt Nam khi truy cập vào domain trên thì nó sẽ tự chuyển vào trang tiếng việt, còn người ở Mĩ hay các nước khác sẽ được chuyển vào trang tiếng Anh.

Nó tương tự như Google hay Yahoo vậy...

Mong được các anh giúp đỡ. Thân
This post is set hidden by a moderator because it may be violating forum's guideline or it needs modification before setting visible to members.
Đây là link mới cho 1 số Documentation bi died link ở trên :

http://community.ipslink.com/board/documentation.html
Các bạn cho mình hỏi, hiện giờ có 4rum nào chuyên nói về hack mod và cài đặt IBF với các bản 2.x.x mới nhất không . Thanks
Link : /hvaonline/posts/list/289.html

Trong topic này bị lỗi về phần trình bày font chữ .. Các anh coi lại xem.
 

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|